diff --git a/.gitignore b/.gitignore index d7da91a..36c376a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ node_modules spec/myplugin spec/plugins spec/platforms +spec/www/index.js diff --git a/CHANGES.md b/CHANGES.md index d88bdb0..84dc22c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,33 @@ # Changes +# sqlite-evcustom-browser-memory-storage-ext-free 0.0.3-dev + +- sql-memory-growth.js with FTS5, R-Tree, and JSON1 enabled from the following custom sql.js branch: + +# sqlite-evcustom-browser-memory-storage-ext-free 0.0.2-dev + +# cordova-sqlite-evplus-ext-free 0.3.7 + +## cordova-sqlite-evcore-extbuild-free 0.9.10 + +_Not enabled in this project:_ + +- Include SQLite 3.26.0 update from cordova-sqlite-evcore-free-dependencies 0.8.7 + +#### cordova-sqlite-storage 2.5.1 + +_Not enabled in this project:_ + +- fix internal plugin cleanup error log on Android + +#### cordova-sqlite-storage 2.5.0 + +- androidDatabaseProvider: 'system' setting, to replace androidDatabaseImplementation setting which is now deprecated + +### cordova-sqlite-evcore-common-free 0.0.3 + +- Internal error message fix for evcore on Android + # sqlite-evcustom-browser-memory-storage-ext-free 0.0.1-dev - New version for browser platform, with use of Cordova __removed__, with SQLite 3.26.0 update from the following branch: @@ -109,7 +137,7 @@ ## cordova-sqlite-evcore-extbuild-free 0.9.2 -### cordova-sqlite-storage 2.2.0 +#### cordova-sqlite-storage 2.2.0 - Fix SQLiteAndroidDatabase implementation for Turkish and other foreign locales diff --git a/README.md b/README.md index f88edf9..33371a0 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 +using sql-memory-growth.js from the following custom sql.js branch: with Cordova framework not supported, not needed @@ -41,17 +41,18 @@ The browser platform is now supported with the following options: with possible corruption risk in case of sqlite access from multiple plugins (see below) -## NEW MAJOR RELEASE in September 2018 with BREAKING CHANGES +## NEW MAJOR RELEASE in December 2018 with BREAKING CHANGES -New release in September 2018 will include the following major enhancements ([litehelpers/Cordova-sqlite-storage#773](https://github.com/litehelpers/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)): -- browser platform support using [kripken / sql.js](https://github.com/kripken/sql.js) ([litehelpers/Cordova-sqlite-storage#576](https://github.com/litehelpers/Cordova-sqlite-storage/pull/576)) +- 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)) -- ~~include typings from DefinitelyTyped ([litehelpers/Cordova-sqlite-storage#768](https://github.com/litehelpers/Cordova-sqlite-storage/pull/768))~~ **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) ref: [litehelpers/Cordova-sqlite-storage#771](https://github.com/litehelpers/Cordova-sqlite-storage/issues/771) +- 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)) - 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) @@ -65,13 +66,13 @@ New release in September 2018 will include the following major enhancements ([li 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 . -The workaround is to use the `androidDatabaseImplementation: 2` setting as described in the **Android sqlite implementation** 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({ name: 'my.db', location: 'default', - androidDatabaseImplementation: 2 + androidDatabaseProvider: 'system' }); ``` @@ -163,7 +164,7 @@ To check the data using the DRAFT standard transaction API: ### Using plugin-specific API calls -NOTE: These samples will **not** work with alternative 3 for browser platform support discussed in [alternative browser platform usage notes](#alternative-browser-platform-usage-notes). +NOTE: These samples will *not* work with alternative 3 for browser platform support discussed in [browser platform usage notes](#browser-platform-usage-notes). To populate a database using the SQL batch API: @@ -211,16 +212,19 @@ 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. +- 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. -- A recent version of the Cordova CLI (such as `6.5.0` / `7.1.0` / `8.0.0`) is recommended. Cordova versions older than `6.0.0` are missing the `cordova-ios@4.0.0` security fixes. In addition it may be needed to use `cordova prepare` in case of cordova-ios older than `4.3.0` (Cordova CLI `6.4.0`). -- This plugin version includes the following extra features _for Android/iOS/macOS/Windows_: +- 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_: - 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.22.0` included when building (all platforms), with the following compile-time definitions: - - `SQLITE_THREADSAFE=1` (`SQLITE_THREADSAFE=0` for SQL.js on browser platform) - - `SQLITE_DEFAULT_SYNCHRONOUS=3` (EXTRA DURABLE build setting) ref: [litehelpers/Cordova-sqlite-storage#736](https://github.com/litehelpers/Cordova-sqlite-storage/issues/736) (except for SQL.js on browser platform) +- SQLite _`3.26.0`_ included when building (all platforms), with the following compile-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_LOCKING_STYLE=1` on iOS/macOS ONLY - `HAVE_USLEEP=1` (iOS/macOS/Windows) - `SQLITE_DEFAULT_MEMSTATUS=0` (except for SQL.js on browser platform) @@ -232,20 +236,20 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - `SQLITE_TEMP_STORE=2` (except for SQL.js on browser platform) - `SQLITE_ENABLE_FTS3` - `SQLITE_ENABLE_FTS3_PARENTHESIS` - - `SQLITE_ENABLE_FTS4` (except for SQL.js on browser platform) - - `SQLITE_ENABLE_FTS5` _(except for SQL.js on browser platform)_ - - `SQLITE_ENABLE_RTREE` _(except for SQL.js on browser platform)_ - - `SQLITE_ENABLE_JSON1` _(except for SQL.js on browser platform)_ + - `SQLITE_ENABLE_FTS4` + - `SQLITE_ENABLE_FTS5` + - `SQLITE_ENABLE_RTREE` + - `SQLITE_ENABLE_JSON1` - `SQLITE_DEFAULT_PAGE_SIZE=4096` and `SQLITE_DEFAULT_CACHE_SIZE=-2000` - new stable page/cache sizes from 3.12.0 ref: ; _(not explicitly defined for SQL.js on browser platform)_ - `SQLITE_OS_WINRT` (Windows only) - `NDEBUG` on Windows (Release build only) - `SQLITE_DISABLE_LFS` on SQL.js for browser platform only - The iOS database location is now mandatory, as documented below. -- 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 implementation)_ - - optional: built-in Android database classes (usage described 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), XXX TODO _MISSING IN THIS PLUGIN VERSION_: - - Pre-populated database (Android/iOS/macOS/Windows) +- _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: - missing actual persistence - missing certain feature(s) such as R-Tree @@ -260,10 +264,10 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - 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.) - 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 (same as `\0`) ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#27](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/27) + - 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 _- not supported consistently on all platforms_ (TBD recommended solution: use built-in HEX function (also supported by (WebKit) Web SQL) or non-standard BASE64 function (as documented below) to retrieve BLOB column values hex or Base-64 format) + - 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)) - 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. @@ -272,7 +276,7 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - 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._ - Default `PRAGMA journal_mode` setting (*tested*): - - Android with builtin android.database implementation (as selected using the `androidDatabaseImplementation` option in `window.sqlitePlugin.openDatabase`): `persist` (pre-8.0) / `truncate` (Android 8.0, 8.1) / `wal` (Android P) + - 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) @@ -283,17 +287,16 @@ 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.22.0`) 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) +- _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)_ - 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 +- 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 - 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.) -- [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. -- This _plugin version_ includes the following extra features: BASE64 _(Android/iOS/macOS/Windows)_, REGEXP (Android/iOS/macOS) -- _For the Android platform this plugin version uses the _lightweight, high-performance_ [litehelpers / Android-sqlite-evcore-native-driver-free (ext-master version branch)](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free/tree/ext-master) _database access implementation (by default configuration). Android-sqlite-evcore-native-driver-free is a_ NDK library implemented in C for JSON and SQL statement handling and processes large batches in less than half the time compared to [litehelpers / Cordova-sqlite-storage](https://github.com/litehelpers/Cordova-sqlite-storage), as measured by: [brodybits / Cordova-sql-test-app](https://github.com/brodybits/Cordova-sql-test-app)_ +- ~~_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) - 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. @@ -306,7 +309,7 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - More explicit `openDatabase` and `deleteDatabase` `iosDatabaseLocation` option - Added straightforward sql batch function - [MetaMemoryT / websql-promise](https://github.com/MetaMemoryT/websql-promise) now provides a Promises-based interface to both (WebKit) Web SQL and this plugin -- [SQLCipher](https://www.zetetic.net/sqlcipher/) for Android/iOS/macOS/Windows is supported by [litehelpers / Cordova-sqlcipher-adapter](https://github.com/litehelpers/Cordova-sqlcipher-adapter) - WITHOUT the evcore performance improvements for Android (plugin version with SQLCipher support together with evcore performance for Android may be published if there is sufficient interest from the user community) +- _[SQLCipher](https://www.zetetic.net/sqlcipher/) for Android/iOS/macOS/Windows is supported by [brodybits / cordova-sqlcipher-adapter](https://github.com/brodybits/cordova-sqlcipher-adapter) - WITHOUT the evcore performance improvements for Android (plugin version with SQLCipher support together with evcore performance for Android may be published if there is sufficient interest from the user community)_ @@ -316,12 +319,12 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - Failure-safe nested transactions with batch processing optimizations (according to HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/)) - Transaction API (based on HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/)) is designed for maximum flexiblibility, does not allow any transactions to be left hanging open. - As described in [this posting](http://brodyspark.blogspot.com/2012/12/cordovaphonegap-sqlite-plugins-offer.html): - - Keeps sqlite database in known, platform specific user data location on all supported platforms (Android/iOS/macOS/Windows) with the exception of browser, which can be reconfigured on _Android/iOS/macOS_. Whether or not the database on the iOS platform is synchronized to iCloud depends on the selected database location. + - _Not enabled in this version:_ Keeps sqlite database in known, platform specific user data location on all supported platforms (Android/iOS/macOS/Windows), which can be reconfigured on _Android, iOS, and macOS_. Whether or not the database on the iOS platform is synchronized to iCloud depends on the selected database location. - No arbitrary size limit. SQLite limits described at: - Also validated for multi-page applications by internal test selfTest function. - This project is self-contained. No dependencies on other plugins such as cordova-plugin-file. - Windows platform version uses a customized version of the performant [doo / SQLite3-WinRT](https://github.com/doo/SQLite3-WinRT) C++ component. -- [SQLCipher](https://www.zetetic.net/sqlcipher/) support for Android/iOS/macOS/Windows is available in: [litehelpers / Cordova-sqlcipher-adapter](https://github.com/litehelpers/Cordova-sqlcipher-adapter) +- [SQLCipher](https://www.zetetic.net/sqlcipher/) support for Android/iOS/macOS/Windows is available in: [brodybits / cordova-sqlcipher-adapter](https://github.com/brodybits/cordova-sqlcipher-adapter) - Intellectual property: - All source code is tracked to the original author in git - Major authors are tracked in AUTHORS.md @@ -391,7 +394,7 @@ and limit database access to DRAFT standard transactions, no plugin-specific API This kind of usage on Safari and Chrome desktop browser (with (WebKit) Web SQL) is now covered by the `spec` test suite. -It would be ideal for the application code to abstract the openDatabase part away from the rest of the database access code. +It would be ideal for the application code to abstract the part with the `openDatabase()` call away from the rest of the database access code. ### Windows platform notes @@ -404,14 +407,12 @@ The Windows platform can present a number of challenges which increase when usin ### Quick installation -_Use the following command to install this plugin version branch using the Cordova CLI_: +Use the following command to install this plugin version _from the Cordova CLI_: ```shell cordova plugin add https://github.com/mobilexag/cordova-sqlite-evplus-ext-free # --save RECOMMENDED for Cordova CLI pre-7.0 ``` -_(`--save` flag NOT NEEDED for Cordova 7.x / 8.x)_ - Add any desired platform(s) if not already present, for example: ```shell @@ -571,12 +572,12 @@ As "strongly recommended" by [Web SQL Database API 8.5 SQL injection](https://ww - 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) - 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. -- Issues with error code on browser and Windows as well as Android with the `androidDatabaseImplementation: 2` setting described below. +- 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 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, browser, 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"). (Some large whole number values such as `1234567890123` are also handled as REAL values on browser platform.) 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 in case the built-in Android database (`androidDatabaseImplementation: 2` setting) is used. (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.) +- 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.) +- 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. - The plugin handles invalid SQL arguments array values such as `false`, `true`, or a string as if there were no arguments while (WebKit) Web SQL would throw an exception. NOTE: In case of a function in place of the SQL arguments array WebKit Web SQL would report a transaction error while the plugin would simply ignore the function. - In case of invalid SQL callback arguments such as string values the plugin may execute the SQL and signal transaction success or failure while (WebKit) Web SQL would throw an exception. @@ -585,7 +586,7 @@ As "strongly recommended" by [Web SQL Database API 8.5 SQL injection](https://ww - If the SQL arguments are passed in an `Array` subclass object where the `constructor` does not point to `Array` then the SQL arguments are ignored by the plugin. - The results data objects are not immutable as specified/implied by [Web SQL (DRAFT) API section 4.5](https://www.w3.org/TR/webdatabase/#database-query-results). - This plugin supports use of numbered parameters (`?1`, `?2`, etc.) as documented in , not supported by HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/) ref: [Web SQL (DRAFT) API section 4.2](https://www.w3.org/TR/webdatabase/#parsing-and-processing-sql-statements). -- In case of UPDATE this plugin reports `insertId` with the result of `sqlite3_last_insert_rowid()` (except for Android with `androidDatabaseImplementation: 2` setting) while attempt to access `insertId` on the result set database opened by HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/) results in an exception. +- In case of UPDATE this plugin reports `insertId` with the result of `sqlite3_last_insert_rowid()` (except for Android with `androidDatabaseProvider: 'system'` setting) while attempt to access `insertId` on the result set database opened by HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/) results in an exception. ### Security of deleted data @@ -593,7 +594,8 @@ See **Security of sensitive data** in the [Security](#security) section above. ### Other differences with WebKit Web SQL implementations -- _FTS3, FTS4, and R-Tree are not consistently supported by (WebKit) Web SQL on Android/iOS or desktop browser._ +- FTS3 is not consistently supported by (WebKit) Web SQL on Android/iOS _or desktop browser_. +- FTS4 and R-Tree are not consistently supported by (WebKit) Web SQL on Android/iOS or desktop browser. - In case of ignored INSERT OR IGNORE statement WebKit Web SQL (Android/iOS) reports insertId with an old INSERT row id value while the plugin reports insertId: undefined. - In case of a SQL error handler that does not recover the transaction, WebKit Web SQL (Android/iOS) would incorrectly report error code 0 while the plugin would report the same error code as in the SQL error handler. (In case of an error with no SQL error handler then Android/iOS WebKit Web SQL would report the same error code that would have been reported in the SQL error hander.) - In case a transaction function throws an exception, the message and code if present are reported by the plugin but *not* by (WebKit) Web SQL. @@ -606,16 +608,14 @@ 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) -- ~~CRASH on Android in case of 3-byte UTF-8 Samaritan letter such as Samaritan Bit (U+0801) (default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) NDK access implementation) ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#37](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/37)~~ -- ~~CRASH or~~ INCORRECT HANDLING on Android in case of Unicode emoji and other 4-byte UTF-8 characters (default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) NDK access implementation) ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#7](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/7) +- 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) -- Execution of INSERT statement that affects multiple rows (due to SELECT cause or using TRIGGER(s), for example) reports incorrect rowsAffected on Android in case the built-in Android database used (using the `androidDatabaseImplementation` option in `window.sqlitePlugin.openDatabase`) +- 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 an INCORRECT error code (0) on browser and Windows ref: [litehelpers/Cordova-sqlite-storage#539](https://github.com/litehelpers/Cordova-sqlite-storage/issues/539). In certain cases SQL errors are also reported with error code 0 on Android in case the built-in Android database is used (using the `androidDatabaseImplementation: 2` setting in `window.sqlitePlugin.openDatabase`). +- 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). - 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) -- ~~The default Android-sqlite-evcore-native-driver-free database access implementation _shows possible crash issue during testing 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)~~ - 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. - `PRAGMA database_list` reports nonsense database file name on browser platform. @@ -638,18 +638,18 @@ Some additional issues are tracked in [open cordova-sqlite-storage bug-general i - SQL error messages reported by Windows platform version are not consistent with Android/iOS/macOS platform versions. - SQL error messages reported on browser platform are not always consistent on Chrome, Edge, or Firefox in case of bogus API arguments. - 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). -- _Storage and retrieval of BLOB data type is not supported consistently on all platforms according to HTML5/[Web SQL DRAFT API](http://www.w3.org/TR/webdatabase/) - SELECT BLOB column value type is not supported on Windows and possibly broken on other platforms. Possible options: 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); SELECT BLOB in HEX format using HEX function is also supported. 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 file names with multi-byte UTF-8 characters such as accented characters or other international characters are not fully 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 is known to crash 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 UNICODE `\u0000` character (same as `\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_ - - _SQL error reported in case of inline value string with with UNICODE `\u0000` character on (WebKit) Web SQL, plugin on Android with `androidDatabaseImplementation: 2` (built-in android.database implementation) option, and plugin on other platforms_ +- _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_ + - 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. - ~~Some extreme large query results may be slow, especially on iOS/macOS, due to the JSON implementation. Improvements for iOS/macOS are available in [litehelpers / cordova-sqlite-evplus-ext-legacy-build-free](https://github.com/litehelpers/cordova-sqlite-evplus-ext-legacy-build-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). FUTURE (TODO) will be available in a newer evplus plugin version (GPL or special commercial license terms).~~ - ATTACH to another database file is not supported by this _plugin version branch_. Attach/detach is supported _for Android/iOS/macOS_ (along with the memory and iOS UNICODE `\u2028` line separator / `\u2029` paragraph separator fixes) in [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). - UPDATE/DELETE with LIMIT or ORDER BY is not supported. -- WITH clause is not supported on some older Android platform versions in case the `androidDatabaseImplementation: 2` (built-in android.database implementation) option is used. +- 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. - 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. @@ -718,7 +718,7 @@ IMPORTANT: A number of tutorials and samples in search results suffer from the f ### 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 possibly certain other Cordova plugin(s) to misbehave (see [litehelpers/Cordova-sqlite-storage#396](https://github.com/litehelpers/Cordova-sqlite-storage/issues/396)) ### Angular/ngCordova/Ionic-related pitfalls @@ -786,8 +786,8 @@ FUTURE TBD: Proper date/time handling will be further tested and documented at s - [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. -- [litehelpers / Cordova-sqlcipher-adapter](https://github.com/litehelpers/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 (Android/iOS/macOS/Windows). GPL or commercial 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). - [litehelpers / cordova-sqlite-evmax-ext-workers-legacy-build-free](https://github.com/litehelpers/cordova-sqlite-evmax-ext-workers-legacy-build-free) - plugin version with support for web workers, includes internal memory improvements to support larger transactions _(Android/iOS/macOS)_ and fix to support all Unicode characters (iOS). (GPL or special premium commercial license terms). @@ -866,7 +866,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 `androidDatabaseImplementation: 2` 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: [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._ To specify a different location (affects iOS/macOS *only*): @@ -998,33 +998,35 @@ Use the `location` or `iosDatabaseLocation` option in `sqlitePlugin.openDatabase -### Android sqlite implementation +### Android database provider -By default, this plugin uses [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) with the performance and memory usage enhancements. To use the built-in Android database classes instead: +By default, this plugin uses [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) with the performance and memory usage enhancements. _To use the built-in Android system database provider implementation instead_: ```js var db = window.sqlitePlugin.openDatabase({ name: 'my.db', location: 'default', - androidDatabaseImplementation: 2 + androidDatabaseProvider: 'system' }); ``` +(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 `androidDatabaseImplementation: 2` setting as described here. -- In case of the `androidDatabaseImplementation: 2` 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: [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. - + ### 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 `androidDatabaseImplementation: 2` setting on certain Android versions and if the app is stopped or aborted without closing the database then: +[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: - (sometimes) there is an unexpected database lock - the data that was inserted is lost. The cause of this issue remains unknown. Of interest: [android / platform_external_sqlite commit d4f30d0d15](https://github.com/android/platform_external_sqlite/commit/d4f30d0d1544f8967ee5763c4a1680cb0553039f) which references and includes the sqlite commit at: http://www.sqlite.org/src/info/6c4c2b7dba -This is *not* an issue when the default [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database implementation is used, which is the case when no `androidDatabaseImplementation` setting is used. +_This is *not* an issue when the default [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database implementation is used, which is the case when no `androidDatabaseProvider` or `androidDatabaseImplementation` setting is used._ There is an optional workaround that simply closes and reopens the database file at the end of every transaction that is committed. The workaround is enabled by opening the database with options as follows: @@ -1032,7 +1034,7 @@ There is an optional workaround that simply closes and reopens the database file var db = window.sqlitePlugin.openDatabase({ name: 'my.db', location: 'default', - androidDatabaseImplementation: 2, + androidDatabaseProvider: 'system' androidLockWorkaround: 1 }); ``` @@ -1485,15 +1487,9 @@ Other resource (apparently for Ionic 1): # repeat for all desired platform(s) -cordova prepare # OPTIONAL (MAY BE NEEDED cordova-ios pre-4.3.0 (Cordova CLI pre-6.4.0)) +cordova plugin add https://github.com/mobilexag/cordova-sqlite-evplus-ext-free # --save option *recommended* for Cordova CLI pre-7.0 ``` -_(`--save` flag NOT NEEDED for Cordova 7.x / 8.x)_ - **Additional Cordova CLI NOTES:** - In case of Cordova CLI pre-7.0 it is recommended to add plugins including standard plugins such as `cordova-plugin-whitelist` with the `--save` flag to track these in `config.xml` (automatically saved in `config.xml` starting with Cordova CLI 7.0). @@ -1874,7 +1870,7 @@ function closeDB() { - Testimonials of apps that are using this plugin would be especially helpful. - Reporting issues can help improve the quality of this plugin. -**NOTE:** As stated above, patches will NOT be accepted on this project due to some possible licensing issues. Issues with reproduction scenarios will help maintain and improve the quality of this plugin for future users. (Any pointers to the code may be causing the issue would also be helpful.) +**NOTE:** As stated above, patches will **not** be accepted on this project due to some possible licensing issues. Issues with reproduction scenarios will help maintain and improve the quality of this plugin for future users. (Any pointers to the code may be causing the issue would also be helpful.) diff --git a/SQLitePlugin.coffee.md b/SQLitePlugin.coffee.md index 5875188..4c581c4 100644 --- a/SQLitePlugin.coffee.md +++ b/SQLitePlugin.coffee.md @@ -810,6 +810,18 @@ if !!openargs.createFromLocation and openargs.createFromLocation == 1 openargs.createFromResource = "1" + if !!openargs.androidDatabaseProvider and !!openargs.androidDatabaseImplementation + throw newSQLError 'AMBIGUOUS: both androidDatabaseProvider and deprecated androidDatabaseImplementation settings are present in openDatabase call. Please drop androidDatabaseImplementation in favor of androidDatabaseProvider.' + + if openargs.androidDatabaseProvider isnt undefined and + openargs.androidDatabaseProvider isnt 'default' and + openargs.androidDatabaseProvider isnt 'system' + throw newSQLError "Incorrect androidDatabaseProvider value. Valid values are: 'default', 'system'" + + if !!openargs.androidDatabaseProvider and openargs.androidDatabaseProvider is 'system' + openargs.androidOldDatabaseImplementation = 1 + + # DEPRECATED: if !!openargs.androidDatabaseImplementation and openargs.androidDatabaseImplementation == 2 openargs.androidOldDatabaseImplementation = 1 diff --git a/index.js b/index.js index fa9ae9f..bd258a2 100644 --- a/index.js +++ b/index.js @@ -6,43 +6,43 @@ var mod3 = { exports: {} }; // 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+56512;__ATINIT__.push({func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACudgAAAQABAEEAAACzdgAAAQABAEIAAAC4dgAAAQABAEMAAAC9dgAAAgABAEQAAADCdgAAAgABAEQAAADIdgAAAQABAEUAAADOdgAAAQABAEYAAADUdgAAAQABAEcAAADadgAAAgABAEgAAADldgAAAQABAEkAAADtdgAAAQABAEoAAAD1dgAAAQABAEsAAAD5dgAAAQABAEwAAAD9dgAAAQABAE0AAAABdwAAAQABAE4AAAAFdwAAAQABAE8AAAAKdwAAAQABAFAAAAAPdwAAAQABAFEAAAAUdwAAAQABAFIAAAAZdwAAAQABAFMAAACllgAAAQABAFQAAAAddwAAAQABAFUAAAAjdwAAAgABAFYAAAApdwAAAQABAFcAAAAudwAAAQABAFgAAAAzdwAAAQABAFkAAAA6dwAAAQABAFoAAAA/dwAAAQABAFsAAABFdwAAAAABAVwAAABIdwAAAgABAF0AAABSdwAAAgABAF4AAABSdwAAAwABAF4AAABcdwAAAgABAF8AAABkdwAAAgABAGAAAABtdwAAAQABAGEAAAB1dwAAAQABAGIAAAB8dwAAAgABAGMAAACBdwAAAgABAGQAAACGdwAAAgABAGUAAACLdwAAAgABAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//2QKARAAAHMABAUAAGcAAQMeAHoABAYAAHEABAkAAFEABAoAAHcABA4AAGMAAAgAAG8IAAAAAnUKABAAAHgQAAAQAVgQAAAABGYAAQEAAGUAAQIeAEUAAQIOAEcAAQMOAGkKARAAAG4AAAQAACUAAAcAAHAQAA0AAVQAAAsAAFMAAAwAAHIKAQ8AAAAAAAAAADAxMjM0NTY3ODlBQkNERUYwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAkAAAABCAQAAAAAAAAAAABnAAAAAAAAAAAAAAAAAAAANoEAAAAAAAAHAAAAAQgEAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAEuBAAAAAAAABQAAAAEIBAAAAAAAAAAAAGkAAAAAAAAAAAAAAAAAAABfgQAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wAAAAABAAEAAAAAAAAAAABqAAAAQwAAAEMAAABrAAAAp4AAAAAAAAAAAAAAAQABAAAAAAAAAAAAbAAAAEQAAABEAAAAawAAALKAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAG0AAABFAAAARQAAAGsAAAC9gAAAAAAAAAAAAAABAAMAAAAAAAAAAABuAAAARgAAAEYAAABrAAAAwoAAAAAAAAAAAAAAAQADAAAAAAAAAAAAbwAAAEcAAABHAAAAawAAAM+AAAAAAAAAAQAAAAEAAwAAAAAAAAAAAHAAAABIAAAASAAAAGsAAADZgAAAAAAAAAEAAAABAAEAAAAAAAAAAABxAAAASQAAAEoAAAByAAAA34AAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAOqAAAAAAAAAAQAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAD0gAAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAAIEAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAACBAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAAAgQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAABYEAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAAWBAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAAFgQAAAAAAAAAAAAAAAAAA/wAAAAEoAADgbwAAAAAAAHMAAAAAAAAAAAAAAAAAAAAtfwAAAAAAAP8AAAABKAAA4G8AAAAAAAB0AAAAAAAAAAAAAAAAAAAAN38AAAAAAAD/AAAAASgAAOBvAAAAAAAAdQAAAAAAAAAAAAAAAAAAADx/AAAAAAAA/wAAAAEoAADgbwAAAAAAAHYAAAAAAAAAAAAAAAAAAABBfwAAAAAAAP8AAAABKAAA4G8AAAAAAAB3AAAAAAAAAAAAAAAAAAAASn8AAAAAAAAAAAAAASAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAFN/AAAAAAAAAAAAAAEgAAAAAAAAAAAAAHkAAAAAAAAAAAAAAAAAAABgfwAAAAAAAAAAAAABIAAAAAAAAAAAAAB6AAAAAAAAAAAAAAAAAAAAcn8AAAAAAAABAAAAASAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAIx8AAAAAAAAAQAAAAEgAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAACmfAAAAAAAAAEAAAABDAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAv3wAAAAAAAACAAAAAQwAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAMh8AAAAAAAAAQAAAAEMAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAADTfAAAAAAAAAEAAAABCAAAAQAAAAAAAAB+AAAAAAAAAAAAAAAAAAAA2nwAAAAAAAACAAAAAQgAAAEAAAAAAAAAfgAAAAAAAAAAAAAAAAAAANp8AAAAAAAAAQAAAAEIAAACAAAAAAAAAH4AAAAAAAAAAAAAAAAAAADgfAAAAAAAAAIAAAABCAAAAgAAAAAAAAB+AAAAAAAAAAAAAAAAAAAA4HwAAAAAAAABAAAAAQgAAAMAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAOZ8AAAAAAAAAgAAAAEIAAADAAAAAAAAAH4AAAAAAAAAAAAAAAAAAADmfAAAAAAAAP8AAAAhCAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA63wAAAAAAAAAAAAAIQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOt8AAAAAAAAAQAAACEQAAAAAAAAAAAAAIAAAABMAAAATQAAAAAAAADrfAAAAAAAAP8AAAAhCAAAAQAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA73wAAAAAAAAAAAAAIQgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO98AAAAAAAAAQAAACEQAAABAAAAAAAAAIAAAABMAAAATQAAAAAAAADvfAAAAAAAAAEAAACBCAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAA83wAAAAAAAABAAAAQQgAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAPp8AAAAAAAAAgAAAAEIAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAABfQAAAAAAAP8AAAABCAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAB30AAAAAAAABAAAAAQgAAAAAAAAAAAAAhQAAAAAAAAAAAAAAAAAAAA59AAAAAAAA/wAAAAEIAAAAAAAAAAAAAIYAAAAAAAAAAAAAAAAAAAAWfQAAAAAAAAEAAAABCAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAG30AAAAAAAABAAAAAQgAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAB99AAAAAAAAAgAAAAEIAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAffQAAAAAAAAEAAAABCAAAAAAAAAAAAACJAAAAAAAAAAAAAAAAAAAAJX0AAAAAAAABAAAAAQgAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAQAAAAEIAAAAAAAAAAAAAIsAAAAAAAAAAAAAAAAAAAAxfQAAAAAAAAIAAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAANX0AAAAAAAAAAAAAAQAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAADx9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAI0AAAAAAAAAAAAAAAAAAABDfQAAAAAAAAIAAAAhCAAAAAAAAAAAAACOAAAAAAAAAAAAAAAAAAAATn0AAAAAAAAAAAAAASAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAFV9AAAAAAAAAAAAAAEgAAAAAAAAAAAAAI8AAAAAAAAAAAAAAAAAAABkfQAAAAAAAAIAAAABCAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAdX0AAAAAAAABAAAAAQgAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAIB9AAAAAAAAAAAAAAEAAAAAAAAAAAAAAJIAAAAAAAAAAAAAAAAAAACGfQAAAAAAAAAAAAABAAAAAAAAAAAAAACTAAAAAAAAAAAAAAAAAAAAmH0AAAAAAAAAAAAAAQAAAAAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAKB9AAAAAAAAAwAAAAEIAAAAAAAAAAAAAJUAAAAAAAAAAAAAAAAAAACufQAAAAAAAAEAAAABCAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAAAAtn0AAAAAAAACAAAAAQgAAAAAAAAAAAAAlwAAAAAAAAAAAAAAAAAAAL99AAAAAAAAAwAAAAEIAAAAAAAAAAAAAJcAAAAAAAAAAAAAAAAAAAC/fQAAAAAAAAEAAAABAAAAAAAAAAAAAACYAAAATgAAAE4AAACZAAAAxn0AAAAAAAABAAAAAQAAAAAAAAAAAAAAmAAAAE8AAABPAAAAmQAAAMp9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAJgAAABQAAAAUAAAAJkAAADQfQAAAAAAAAAAAAABAQAAAAAAAAAAAACaAAAAUQAAAFEAAACbAAAA1H0AAAAAAAABAAAAAQAAAAAAAAAAAAAAmgAAAFEAAABRAAAAmwAAANR9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAJwAAABSAAAAUwAAAJ0AAADafQAAAAAAAAIAAAABAAAAAAAAAAAAAACcAAAAUgAAAFMAAACdAAAA2n0AAAAAAAACAAAADQgAAOd9AAAAAAAAngAAAAAAAAAAAAAAAAAAAOt9AAAAAAAAAgAAAAUIAADwfQAAAAAAAJ4AAAAAAAAAAAAAAAAAAAD0fQAAAAAAAAMAAAAFCAAA8H0AAAAAAACeAAAAAAAAAAAAAAAAAAAA9H0AAAAAAAABAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPl9AAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5fQAAAAAAAP8AAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAA+X0AAAAAAAAAAAAAAAAAAAMAAAA0AAAAAAIAAAAAAAA1egAAhHEAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAADAAAANAAAAAACAAAAAAAAOnoAAIhxAABBAAAAQwAAAEEAAABCAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABCAAAAQwAAAEUAAABEAAAARgAAAEUAAABGAAAAAwAAADQAAAAAAgAAAAAAAER6AACMcQAAQQAAAEMAAABBAAAAQgAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQgAAAEMAAABFAAAARAAAAEYAAABFAAAARgAAAAMAAAA0AAAAAAIAAAAAAABRegAAhHEAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAACAegAASQAAAAAAAAB6egAASgAAAAAAAACFegAAUAAAAAAAAACMegAAUQAAAAAAAACTegAAUgAAAAAAAACYegAAUwAAAAAAAACeegAAVAAAAAAAAACoegAASgAAAAAAAACuegAASwAAAAAAAACzegAAAAAAAAAAAAC5egAAAAAAAAAAAADBegAATAAAAAAAAADHegAAAAAAAAAAAADOegAAAAAAAAAAAADXegAAVQAAAAAAAADeegAAAAAAAAAAAADoegAASwAAAAAAAADvegAAVgAAAAAAAAD9egAAVwAAAAAAAAADewAATAAAAAAAAAAJewAATQAAAAAAAAAQewAAQQAAAAAAAAAYewAAQQAAAAAAAAAdewAAWAAAAAAAAAAkewAAAAAAAAAAAAArewAAQgAAAAAAAAA3ewAATgAAAAAAAABAewAAWQAAAAAAAABGewAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ewAAxHsAAM17AAAvegAAAAAAAAAAAABvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUwMTIzNDU2Nzg5QUJDREVGoH4AAKh+AACtfgAAsn4AALd+AAAAAAAAAAAAAAAAAAC/fgAA1H4AAOB+AADsfgAABH8AABh/AAAAAAAAAAAAAAAGAAAtgAAAAACw6iUGW0IAAAAAAECPQAAGAAA0gAAAAAAApVvT/EEAAAAAAEztQAAEAAA7gAAAAAAAsFC/nkEAAAAAQHdLQQADAAApgAAAAAAAQIt/VEEAAAAAcJmUQQEFAAAegAAAAAAAABCNBUEAAAAA2U/jQQIEAAAkgAAAAAAAAIC8zEAAAACwxF4dQlNRTGl0ZSBmb3JtYXQgMwDhlgAAABQAAAgAAAAAAAAA8JYAAAGVAAAAAAAAAAAAAPyWAAACFAAAAIAAAAAAAAAMlwAAAxAuAQAAAAAAAAAAzpYAAASVAAAAAAAAAAAAABmXAAAFlAAAAAAAAAAAAAAllwAABgIAAAAAAAAAAAAAOZcAAAIUAAAAACAAAAAAAEmXAAACFAAAEAAAAAAAAABelwAABxAaAgAAAAAAAAAAbZcAAAgQAAAAAAAAAAAAAH2XAAACFAAAgAAAAAAAAACLlwAAABgAAA8AAAAAAAAAmJcAAAoRIwMAAAAAAAAAAKaXAAALlS0BAAAAAAAAAAC5lwAAAhQAAAAACAAAAAAAzJcAAAIUAAAAAQAAAAAAAOOXAAAMFAAAAAAAAAAAAADslwAADREfBAAAAAAAAAAA/pcAAA5hAAgAAAAAAAAAAA+YAAACFAAAAEAAAAAAAAAcmAAAABgAAAAAAAAAAAAAK5gAAAIUAAAEAAAAAAAAAD2YAAACFAAACAAAAAAAAABHmAAAAhQAAAACAAAAAAAAYJgAABADAAAAAAAAAAAAAHOYAAARYQ8DAAAAAAAAAAB+mAAAEmEaBQAAAAAAAAAAiZgAABFhDwYBAAAAAAAAAJWYAAATMQAAAAAAAAAAAAClmAAAFJEAAAAAAAAAAAAAspgAABWQAAAAAAAAAAAAAMWYAAACFAAAAAAABAAAAADYmAAAAhQAAAIAAAAAAAAA65gAABeQAAAAAAAAAAAAAPiYAAAYkQAAAAAAAAAAAAAHmQAAGQAAAAAAAAAAAAAAEZkAABshAAAAAAAAAAAAABqZAAAYkQAAAAAAAAAAAAAlmQAAHJQAAAAAAAAAAAAAL5kAAAIUAAAAABAAAAAAADqZAAATMQAAAAAAAAAAAABGmQAAAhQAAAAEAAAAAAAAV5kAAAIUAAAAIAAAAAAAAGqZAAACFAAAABAAAAAAAACEmQAAABQAAAEAAAAAAAAAk5kAAB4QAAAAAAAAAAAAAKGZAAACFAAAQAAAAAAAAAC0mQAAHwIAAAAAAAAAAAAAwpkAACAQAAAAAAAAAAAAANKZAAAhlQAAAAAAAAAAAADemQAAImEIBgAAAAAAAAAA6ZkAACJhCAcBAAAAAAAAAPWZAAAjFAAAAAAAAAAAAAAAmgAAJAQAAAAAAAAAAAAAFZoAACUQAAAAAAAAAAAAAB2aAAAAFAAABgAAAAAAAAAqmgAAJgAAAAAAAAAAAAAAPZoAACcBJgMAAAAAAAAAAEyaAAACFAAAAQAACAAAAAADkAAADZAAABiQAAAkkAAAL5AAADSQAAA5kAAARJAAAFCQAABXkAAAX5AAAGeQAABskAAAcpAAAICQAACGkAAAkJAAAJWQAACakAAAnZAAAKGQAACnkAAAsZAAALiQAAC/kAAAxpAAAM2QAADWkAAA4ZAAAOqQAADwkAAA+pAAAASRAAAJkQAAE5EAAB6RAAAjkQAAKpEAADCRAAA2kQAAPJEAAEKRAABNkQAAWJEAAFuRAABfkQAAZ5EAAHCRAAB2kQAAgJEAAI2RAACUkQAAnJEAAJ+RAACikQAApZEAAKiRAACrkQAArpEAALiRAADDkQAAyZEAAM6RAADYkQAA4pEAAOuRAAD0kQAA+5EAAAiSAAATkgAAGJIAACCSAAAmkgAALZIAADKSAAA7kgAAQJIAAEmSAABOkgAAU5IAAFmSAABhkgAAa5IAAHOSAAB6kgAAh5IAAIySAACYkgAAoJIAAKeSAACukgAAtZIAAL6SAADFkgAAy5IAANWSAADgkgAA5JIAAO2SAAD2kgAA/ZIAAAeTAAAOkwAAGZMAACCTAAAmkwAAMZMAADmTAABDkwAATZMAAFaTAABgkwAAaJMAAHaTAACEkwAAj5MAAJyTAACnkwAArZMAALmTAADBkwAAypMAANOTAADakwAA5JMAAOuTAAD2kwAABJQAAA+UAAAXlAAAHZQAACWUAAAtlAAAOpQAAESUAABOlAAAW5QAAGSUAABslAAAcpQAAH6UAACKlAAAj5QAAJeUAACjlAAAsJQAALqUAADElAAA0JQAANyUAADmlAAA7JQAAPaUAAD9lAAACZUAABSVAAAclQAAJZUAAC6VAAA3lQAAPpUAAEiVAABPlQAAV5UAAGCVAABmlQAAbpUAAHaVAACAlQAAiZUAAI+VAACalQAAn5UAAKeVAAAAAAAAAAAAAF6EAABjhAAAaoQAAG2EAABwhAAAc4QAAHaEAAB5hAAAgYQAAISEAACLhAAAk4QAAOGPAADqjwAA8Y8AAPePAAAAAQIDBAYICAAAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NDg4PDxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eHh8fICAhISIiIyMkJCUlJiYnJygoKSkqKisrLCwtLS4uLy8wMDExMjIzMzQ0NTU2Njc3ODg5OQAAAgADAAUABgAHAAgACQD+jAAABY0AAA2NAAARjQAAGo0AACGNAAAAAAAAAAAAAOaKAADzigAAAAAAAAOLAAAciwAAKosAAD2LAADYigAAVosAAJeDAAB7iwAAiosAAKuLAAC9iwAA1osAAPOLAAAAAAAAMIYAAFB+AAAEjAAAFowAACiMAABKjAAAaYwAAAAAAAB+jAAAmIwAAK+MAADEjAAAAAAAAAAAAAAAAAAAHBsbGxsbGxsbBwcbBwcbGxsbGxsbGxsbGxsbGxsbGxsHDwgFBBYYCBESFRQXCxoQAwMDAwMDAwMDAwUTDA4NBgUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQkbGxsBCAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBGwobGRsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkptfEhqLQAAUQBMPQAqDE0PAHtUNnZ9EwAAggCAeQAWYAAJAABzRQBDBgAwXYgAfmgAACwAaxgAEQCDNRcABT6EYwAAh248hjlxNwBeAGcaAGYAAABiX2RpdQ4ndABQAIVyXDsAgU93Vi5TAABhKHp4AH8AAB0AWVdYABRVbzgABwcFBAYEBQMGBwMGBgcHAwgCBgUEBAMKBAYLBgIHBQUJBgkJBwoKBAYCAwkEAgYFBwQFBwYGBQYFBQUHBwQCBwMGBAcGDAYJBAYEBQQHBgUGBwUEBwMCBAUJBQYDBw0CAgQGBggFEQwHCQgIAgQJBAYHCQQEAgYFCAQFCAQDCQUFBgQGAgkDBwAAAAAAAAAAAAACAAIACAAJAA4AEAAUABcAGQAZAB0AIQAkACkALgAwADUANgA7AD4AQQBDAEUATgBRAFYAWwBfAGAAZQBpAG0AdQB6AIAAiACOAJgAnwCiAKIApQCnAKcAqwCwALMAuAC4ALwAwADHAMwA0QDUANoA3QDhAOYA7ADyAPUA9wD4APwAAgEGAQ0BEwEfASUBLgEwATYBOgE/AUEBSAFNAVIBWAFeAWMBZgFmAWYBaQFtAXABeQF9AYMBhQGMAY4BkAGZAZ0BowGpAbEBtgG2AbYBxgHPAdYB1wHeAeEB6gHuAfMB+gEDAgcCCwINAhMCFwIfAiICJwIvAi8CMwI8AkECRgJMAk8CUgJVAloCXgJSRUlOREVYRURFU0NBUEVBQ0hFQ0tFWUJFRk9SRUlHTk9SRUdFWFBMQUlOU1RFQUREQVRBQkFTRUxFQ1RBQkxFRlRIRU5ERUZFUlJBQkxFTFNFWENFUFRSQU5TQUNUSU9OQVRVUkFMVEVSQUlTRVhDTFVTSVZFWElTVFNBVkVQT0lOVEVSU0VDVFJJR0dFUkVGRVJFTkNFU0NPTlNUUkFJTlRPRkZTRVRFTVBPUkFSWVVOSVFVRVJZV0lUSE9VVEVSRUxFQVNFQVRUQUNIQVZJTkdST1VQREFURUJFR0lOTkVSQU5HRUJFVFdFRU5PVEhJTkdMT0JZQ0FTQ0FERUxFVEVDQVNFQ09MTEFURUNSRUFURUNVUlJFTlRfREFURURFVEFDSElNTUVESUFURUpPSU5TRVJUTElLRU1BVENIUExBTkFMWVpFUFJBR01BQk9SVFZBTFVFU1ZJUlRVQUxJTUlUV0hFTk9UTlVMTFdIRVJFQ1VSU0lWRUFGVEVSRU5BTUVBTkRFRkFVTFRBVVRPSU5DUkVNRU5UQ0FTVENPTFVNTkNPTU1JVENPTkZMSUNUQ1JPU1NDVVJSRU5UX1RJTUVTVEFNUEFSVElUSU9OREVGRVJSRURJU1RJTkNURFJPUFJFQ0VESU5HRkFJTEZJTFRFUkVQTEFDRUZPTExPV0lOR0ZST01GVUxMSUZJU05VTExPUkRFUkVTVFJJQ1RPVkVSSUdIVFJPTExCQUNLUk9XU1VOQk9VTkRFRFVOSU9OVVNJTkdWQUNVVU1WSUVXSU5ET1dJTklUSUFMTFlQUklNQVJZAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAIAAAAAAAANAAAAAAAHAAAAAAAAAAAAAAAAAAAAIQAVAAAAAAAyACsDLwAAIAAAAAAAAAABQAAAQQApACYAAAAAADFLAAAeADoAAAAfPxAiCgAAAAAAAAALRlsAAAgAbABlHDREAHAASTMAWhslAEckUgAjQhkSAABOAAAAAAAAAABYaZUnOilxQyF5Pj8vAkGXJhh/EGuTC3iUfQYcaGuWRwkUDX5NcmyLRUR3FRUrcAMZUWsOIIiHdgVrVjCMLyIjH3WRZhFaKAiEdC8uBB5GG4BQiZIzE0JuikgdWSxtcw8xJDwKJWtaWlJUB4EtelUqmklTg2sSMoZKmWsMTEtXe4VOT5g9QHxvAAAAAAAAAACBhAAA+JUAAPyVAAAClgAAB5YAAAqWAAAUlgAAHpYAACSWAAAolgAALZYAADKWAAA6lgAARZYAAEiWAABPlgAAJJYAACiWAABVlgAAWpYAAF+WAABjlgAAZ5YAAGuWAABwlgAAdZYAAPiVAAAolgAAepYAAIGWAACIlgAA/JUAAJCWAACEhAAAlpYAAPiVAAAolgAAm5YAAKCWAACllgAAqZYAACiWAAC2lgAAvpYAAMeWAADOlgAA2ZYAAAAAAAA5ogAAAQAAAG+aAAABAAAAAAAAADsAOwA7ADsAAAA7ADsAOwAAADsAOwA7ADsAAAAAAAAAOwAAAAAAOwAAAAAAAAA7AAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAA7ADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAAAAAAArQbwBUIHLAUsBRUBXgW9BUIGsAawBrAGEQEAAAAAcQD4A7AGsAawBrAGsAawBrAGsAawBrAGCwALAOwAuAAVARUBFQEVARUBFQFdALEADgFrAcgBJQKCAt8CPANQA+QDeAT4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gDjAT4A+kE/QT9BNIFsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAbOBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGjwCiAKIAogCiAKIAzACXAKABEwKIArwCEwLmAeYBEwJhAWEBYQFhAZkBFwE1ANkH2QdLAUsBSwFJAW4BSQFJAVUCVQLQAdoBBgGpAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCrQDlAdgD2ANAAuUBEwD+A9kH2QfZB4MB+gD6AA0C9gEWASgC4wDgATYCEwITAhMCEwITAhMCEwITAhMCEwJ/AhMCEwITAhMCEwITAhMCEwITAhMCEwITAgIAAgACABMCEwITAhMCDgMTAhMCEwLoAhMCEwIPAxMCEwITAhMCEwITAhMCEwKjAaoCRwFyAXIBcgFyAQUERwFHAQAEgQNYA7MDVQTCAsICdwRVBFUEdwRKA7EDXgRwBHAEcATCAqQCkAEXBLYCOwX2BPYEVgVWBfYEGQVtBVkF/gR5BXkFeQV5BfYEhgX+BP4EGQVtBVkFWQX+BPYEhgUSBWkF9gSGBZgF9gSGBfYEhgWYBUsFSwVLBYMFmAVLBVcFSwWDBUsFSwWYBXAFcAWYBVUFdAVVBXQFVQV0BVUFdAX2BFwFlQXeBW4FXAXtBfYEdQVuBYIFhQX+BPgF/AUNBg0GGgYaBhoG2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2Qc6AlkBrgLsAjIA5AIoBFME1QEZAhIEegSKBIIEsQSyBLMEuAS5BGcELQSsBIUEewTKBMwE3QQHA2QD3gTfBKcEfwQxBjUGMwawBUAG9wVBBjsGPAbUBcwF4gVDBtcFSAbYBU4GYwbkBdkF8QUsBkYG4QU4BjkGPQY+BvoFCwZTBvQFdgZzBmQGEQbmBToGYgY/BjQGVwb/BRwGagZxBnQGEAYYBnUGSQZ3BngGeQZ7BkwGegZ8BlAGcAaABg4GhAYCBoYGhwaFBokGiwaMBo4GkAaPBiYGkwaaBkoGkgafBjIGogabBqIGnQZrBn0GbgaWBq4GrwayBrQGpwazBqIGvwbABsEGwgbDBsQGxgbPBsgGyQbMBtAGygbSBssGbQZoBmwGbwZyBtUG1wbsBgAAAAAAAAAAAAAAAAAAuADuAO8A8ADuAO8A8ACjAJsAnACdAJ4AnwCgAKMAvwDAALcApQATAKcAAgHKAMsAyAC/AKMArgC4ALkArgAfAKMAowCrALgAuQAjAK8AJwCzALQAtQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC4AM4AzwCjAM4AzwDcAKMAEACjAEIAowA7AA4B2wDlABEB2wBKANAArgDfAOAAowC4ALkAowDoALgAuQC4ALkAuAC5AFwAXQBeAF8AYABhAGIAYwBkAGUAZgDpAMYAuAC5AGAAYQCjAM4AzwATAKMABQFoAGkAagBrAMYAbQB3ANwA2wDcABIBEwFNAHUATwC7AOUAEwDlALgAuQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDpAI0AhgCPAGYAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAmAASAdgAFAHaAFMAowBVAOkAQwDuAO8A8AALAFwAXQBeAF8AYABhAGIAYwBkAGUAZgATADYANwA4ADkAOgCjABoAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYANgA3ADgAOQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBcAF0AXgBfAGAAYQBiAGMAZABlAGYARQBgAGEAYgBjAGQAZQBmAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBRALMAtAC1AFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAAsBDAGjABYAFwA7AKMAGgATAHUAdgCvAG0AGAA7AFwAXQBeAF8AYABhAGIAYwBkAGUAZgAMAbgAuQANAX8AgAArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCdAJ4AnwCgAGkAagBrAKMApQA7AKcAuABaAGkAagBrAGwArgBJAG8AcABxABMAFgCjAFsAUQCjAGoAeQBRAIQAbgAQAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkA/wBiAM4AzwAaAGUAZgATAGkAagBrABcAxgA7AHQA2wCNAI4AjwAYAKMAuwDNABIBEwF/AIAAtgDoAH8AgAArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCeAE0AoABPADsAGgC2AKUAOwCnAMcABQFmAGkAagBrAK4ASABsAG0AbgBvAHAAcQByADsA7gDvAPAAewB4AH0AfgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAKMAowDOAM8AaQBqAGsA/gATAGoAWgDFABcAfwCAANsA7gDvAPAAFgC4ALkAuAC5ABYAaQBqAJUA6ADNAG4AowArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBiAGMAZABlAGYAuAC5AKMANQA7AAUB3AB1AHYAjQCOAI8AgwCuADsA5QB0AHUAdgCjADsAowCjALgAuQA7APIASAAWAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkAGAC4ALkAzgDPAMoAywATAGkAagBrABcAxgAWAK4AxgDbANwAaQBqAGsAYABhADsAaQBqAGsAFgCuADsAagArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8ADABsADsAhABvAHAAcQAuAC8AMAAxANsAzgDPAHkAGwA7AKMAjQDPAI8AaQBqAGsAowDbAOoAaQBqAGsAKgDbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBMAKMAuAC5AKMAaQBqAGsAPwATAFYAowCjABcAowCCAM0AFQBJAGkAagBrALgAuQCjALgAuQDtAG4AtAC1ALQAtQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCuAKMAowAWABcAowCjABoAFgAXANwAHQBJANwAEAEhABYAowAYABMArgDQAAMBuAC5ABMAuAC5AFAArwDmAK4AzgDPAFwAXQBeAF8AYABhAGIAYwBkAGUAZgDbAC4AQQD3AMMA9wDFAM4AzwATAHQAdQB2ABcA3ABwAK4A3ADOAM8A2wAWAK4AGACuABYAFwBbAAgBCQGoANsAWwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8ADACjAJUA/wDOAM8AzgDPADsAaAAXANsAowAaAKMAGwBpANsAowDbAKMA0wC4ALkAowB4AKMAkgCjAJQAKgDdAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAFsAuAC5ALgAuQC4ALkAPwATAKMAzQBqABcA9QCjANAA+AB0AHUAdgC4ALkAowCjAAcACAAJAKMAEwAaALgAuQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjALgAuQBrAKMAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA0AD/ALEAsgCjALgAuQCjAIQAowCNAKMAjwAWAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkAowC4ALkAuAC5ALgAuQBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowCjAKMAuAC5AKMAcwCjAKMAowCjAA8AowCjAKMAowCjABcAowCjABoAuAC5ALgAuQCjALgAuQC4ALkAuAC5AKMAuAC5ALgAuQC4ALkAuAC5AKMAYABhAJMAowC4ALkAowDHAKMAowDNALgAuQCjADwAowCNAKMAjwCjALgAuQATAKMAuAC5AOYAuAC5ALgAuQDOAM8A5gC4ALkAuAC5ALgAuQC4ALkAEwCjANsA5wArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjABoAowC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowC4ALkAuAC5AKMAtgCjAKMAowCjAKMAFgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjALgAuQC4ALkAowC4ALkAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowC4ALkAYgA7AKMAuAC5AM0AuAC5ABcAzgDPABoAowAaAGsAmQCaAO0AuAC5AOcAkwDbALgAuQD5AHwAfwCAAOcA/gCBAKMA5wCxALIABgEHAXYAhAATABMALgDfAOAAHwAYABcAagB8ABoAFgAQAScAgQAXAG0AbgAaAKMAjAATABYA6gA7ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AOcABwAIAMEAOwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBoAD0AFwAXABcAGgAaABoAowAXABcAagAaABoAXABdAF4AXwBgAGEAYgBjAGQAZQBmAIoAaQAXADsAFwAaAGoAGgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBuABcAFwAXABoAGgAaAKMAowATAHgAowCjAKMAggCjAKMAowCjAKMAowCjAMEAwQCjAKMAowCjAOEAEwBqAKMA3gCjACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjAKMAywCjAKMA3gCjAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowCjAKMAowCjAPsA+gDRABMAFAC2ABYAoQDeAFwAXQBeAF8AYABhAGIAYwBkAGUAZgAkAN4A3gAEAeIAvAAAAeIAuwBcAF0AXgBfAGAAYQBiAGMAZABlAGYA0gDVANUAOwDVAMQAwAC7AAAB9ADUALsA4gATABQARwAWANIApgA8AIIAqgAEAaoAJgBRAAEBAQGqAGgAJAAWACsAyQBaAOwAigDrANUAEgBgAGEAMADMAMwAzADMAGcAqgBpAGoAawASADsAbgCpANUA1QDJAKoAyQCpAOwA1QCSAEcA6wA+AP0A/ACqAH8AgACpABYAqgBSAL0AqQBoAKoAVwCpAL0AWgCNAI4AjwCQAJEAYABhALoAugC6AEAAwgBnALoAaQBqAGsAcwC9AG4AvAC6ALoAEwAUAMIAFgC6AL0AZgD2APYAvQCFAOQAaADkAOMA4wCqACQAhgDkAOMAEwAUAOQAFgBUAA8BjQCOAI8AkACRAAAAAQACANgAFgAFACQAiQA7AOMACgALAAwADQAOANkADQERANgAFgBHAKoA8wCSAPEA2QCIANcAhwA7AB4AUgAgABkA1gDVAFcArQAaAFoAKABHAA0ArACkAGAAYQCkAAYAogCiAKIAZwAHAWkAagBrAAoBCgFuAFoAsACwAL4AtgC+AGAAYQBiAAQARgCwAAMAZwC2AGkAagBrAE4AtgBuAFEAtgC2ALYAtgC2AJcAWAAWAI0AjgCPAJAAkQAPAFkAEAAXABcAgAATABQAiwAWAHcAgwAYABQAhQAQAI0AjgCPAJAAkQABAIwAJACDAHcAPQB6ACUAiwA1ADUAfwCAAHcANQA1AGkAIgCCAAEABQBoABYAlQAaADsARABLACkAggAYAEQAaAAUAJYAEwB4AEcAcgAWAEMAFgAWAEMAFwAWABYAQwBSACUAHAAXAIoAVwAWAJkAWgAXABcAGgAXABYAYABhABgAFwAWABgAggBnABcAaQBqAGsAAQACAG4AFwAFAGkAIgAWAIQACgALAAwADQAOABoAIgARACIAVQBTACwAEwAUABcAFgAYAEsAIgAXAB4AGgAgABoAjQCOAI8AkACRACQAKAAXABcAFwAXAAsAFwAWABoAFgAWABYAEwAUABcAFgAaAA8AFwAWAHwAggA7ABcAAQCCABUBFQGCACQARgCCABUBFQFHABUBFQEVAU4AFQEVAVEAFQEVARUBFQEVARUBWAAVARUBFQE7AFoAFQEVARUBFQEVAWAAYQAVARUBFQFHABUBZwAVAWkAagBrABUBFQFuABUBFQEVARUBFQEVARUBFQF6AFoAFQEVARUBfwCAAGAAYQAVARUBFQEVARUBZwAVAWkAagBrABUBFQFuAI0AjgCPAJAAkQAVAZYAFQEVARUBBQAVARUBFQEVAQoACwAMAA0ADgAVARUBEQAVARUBFQEVARUBFQEVAY0AjgCPAJAAkQAeABUBIAAVARUBFQEVARUBFQEVASgAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVAUYAFQEVARUBFQEVARUBFQFOABUBFQFRABUBFQEVARUBFQEVAVgAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBegAVARUBFQEVAX8AgAAVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQGWABUBFQEVARUBFQEVARUBFQEVARUBAAAAAAAAAAAAAHABaQBmAMUAaQBmAMUAAwJkBAEAAQAIAgIAaAQDAqgEkwSwBRMBcgF/AG0FrQStBKgEjgSyALUEQABAAN0BdwNCAawBXAElACUAKANqAXgD/QH9Af0BcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AbQH8APwAAwL8APwA8QEDAjUBAwLLAQMCNwTrAQAC3gEGAAACKQOGAPIB5ADCAKwBJQAlAAMC0ABAAEAAQABAAA0ADQBtAG0AbQBtAGwAbABrAGsAawBqAJEBAgF9AQ0ADQCOAY0BrAH8APwAcgHcAZUBUAQ3BDgEOQSCAVIEhgHxAQAC8QGPBYsFMAFRBDMB6ATwAXIB8wEQABAAcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8ABgFTBO8BUwSRAXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAIEAkQVXAYwFUwEjBOwBIQQHAUkAaQBmAMUA4gNtAG0AbQBtAGwAbABrAGsAawBqAJEBcgFvAG8AbwBvAGgA7AFZAJgFbQBtAG0AbQBsAGwAawBrAGsAagCRAW8AbwBvAG8AcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AbQBtAG0AbQBsAGwAawBrAGsAagCRAXIAbABsAGsAawBrAGoAkQFtAG0AbQBtAGwAbABrAGsAawBqAJEBmACPAY8BjwFtAG0AbQBtAGwAbABrAGsAawBqAJEBsgDtAYQFsgENBM4FNwQDAs4FcgGlASkBZQGcAUoANwRtAG0AbQBtAGwAbABrAGsAawBqAJEBhQUlACUAlwUSAfoBcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AnAUIAgIAaAQ3BDgEOQSuARMBNwR/AG4BpQM3BDgEOQTcALUEkQPKAccBxgGIAacAAwILBJgAvQGcA8UBmABqA5sDIQFtAG0AbQBtAGwAbABrAGsAawBqAJEBDQANAAUBVQP8APwA4wBqAJEBcgE3BDgEOQQ3AYQBNwQoAQACmwObA50D5wBDAecEbAWPBeoBEgH6AQwA0AASAfoBcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AoAUeAWgEIAE3BEkE9wATAUoEfwCDAZUBhQE3BDgEOQS1BJ8A7gD/AEEBzQE8AcwB4QAWA2kAZgDFAAECOgFKA0oDvQFtAG0AbQBtAGwAbABrAGsAawBqAJEBAwICAgMC/AD8ADcEOAQ5BLMBcgFKBKUDtAUaAxIB+gEAAmkAZgDFAFABPwA/AEAAQAAbABYDnAMfAdAASgWbAwMCcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AawBrAGsAagCRATEAMQADAhwANwSVAfEBpQEpAZsDmwOdA7oA1AE3BNMB5wPnA7oBAwI3BE4BAwItAC0AOwRWAa0AqABtAG0AbQBtAGwAbABrAGsAawBqAJEBDQANAM0ADQANAPwA/ACrBKsEcgE3BDgEOQQTAwkBBQBnAe4BAALVATcEOAQ5BI4BjQE3BDcEOAQ5BAMAGgE3BDsEcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8A/AD8APcD3AA3BGkDygHHAcYBrwOvA7oDvQMAAvwA/ADFAfgDNwS9AVMEuQRTBDcEOAQ5BAMCAAKqATcEOAQ5BPkDAAJtAG0AbQBtAGwAbABrAGsAawBqAJEBHAQDAjIAMgADAjcEOAQ5BDwDcgEbBHsBmwEoBE4FzwCYAQUDPQM3BDgEOQRAAEAAQgFAAEAAFgWzA5sBmgFOBVAFcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AJgHiAQMCDQTPBQMCsgHPBWIBYATjAeQDkQPlAdIB5AOEALIAIQDCAbMEiACWAUAAQADfAUAAQACjAXEBGwF6BPwA/ABtAG0AbQBtAGwAbABrAGsAawBqAJEBAALgALgBmwEKAU4FCgH8APwAcgEoAaABHAGmA4wB0APWAZAB/AD8AAACCQDZAecA9AFiAQwECwTQBWMBdgEAAmEEcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8A/AD8APcDAwJDBScB/AD8APwA/ABKBHcB+QAAAr0BaANCAfgD4AEAAsMAAAKyAREBDwAPAAMCOgEDAl8AAwJdAPkDbwFtAG0AbQBtAGwAbABrAGsAawBqAJEBAwJhBCcAJwAzADMANAA0APcBcgEDArQESgSWA7cBVQGFALQB3wDeAN0ANQA1AEIBeAX5AvoC+wIDAnIBWAA2ADYAcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AlwE3ADcAxAADAnAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAIcACAF9BHgBAwIoACgAAwJoAwMC4QMDAuEDdABtAG0AbQBtAGwAbABrAGsAawBqAJEBKQApAAMCKwArACwALAA4ADgAbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCewEDAjkAOQADAh8DAwJ7AQMCvQHIAAMCQwEDAnUFAwKzBQMCBwUxAzoAOgAOAA4AAwI7ADsAdgB2ADwAPAADAi4ALgA9AD0APgA+AC8ALwADAr4AvQBbAAMCjACMAAMCigEDAhUBsASNAI0AAwJbBAMC4AMDAuADAwJFAEUAcgEWATAAMAADAUEAQQB3AHcA9gD2AAQBQgBCAHgAeAB5AHkAdQB1AHIBAwIAAn8BcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AAwJoAwMCiwCLAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAcFigCKAH0AfQADAgwAAwIZAQcFAwK9AYMABwVtAG0AbQBtAGwAbABrAGsAawBqAJEBAwJ8AHwAegB6AAMCewB7AAMCbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCRABEAM8BDwMDAkYARgAuAUMAQwAIBP0A/QBkAQcFvwDEAJkF0QEVBSYAJgCAAV4AAAIqACoAsQBQAxIB+gGBAaQBTwNMBbkB/AF4AXkBmQCnAWgDsAFyAeAA+wDCAHcDtgAlAQ8DUANYAP4A0gF4A08DkwMnAyYD5gDZBI4DcgERAJ0BHQNwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCLAS4DLwOXBNcDcABlAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AdwGmAasBrQEqAeYA5gBYANgEwwE4AR0D4gBYAG0AbQBtAG0AbABsAGsAawBrAGoAkQFWALEB0wOfA3ED4gDXA+YAnwFtAG0AbQBtAGwAbABrAGsAawBqAJEBQAFNAw0DTgNkAIIAZAB7BSIBcgE/AWEFYAW1AakFKwHVBC8BMgE0ATYBpASWBJUElAQ7AUQBRQHMBHIBnwPhBA8BBgVxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AyATTBPYB9QEMBcUEgwRnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAHwEcQRwBHIEowW+AfQAuABiAPsBvAAEAGEBRwFtAG0AbQBtAGwAbABrAGsAawBqAJEB/gFJAUsBxwCeAcgBJAEdAT4BbQBtAG0AbQBsAGwAawBrAGsAagCRAQsA9wT/BJIBaQHAAJMERwWvAfkBWgFGBU0BYgD7AfgBBAC7AKYFWwTpAHQFmwByBVgEmABIAEsAegGpAf4BpQCVAJ0ApQP8BFYAHgD0BKEBYABgAAgAoAChAKIAowBhAKIBkgEFAgQCwQGSAZsD0gBmAagBAgW2AakA1gBoAUEFUAD4AR8AvAFVBS0B9QASAfoB2ACuADEB6AG/AdkAzgFzBOcB2gBrAaUDmwObA50DngMYAGAAYACnBKYEpQSHAZ4EYQCLBJIBBQIEAh8DbAGbA4oEPQGJBGIA+wGdBAQAsgXYAYkBDQEOAdsB4QHQBFUA0QRGAUgB6AD+Ae8BzwRKAWIA+wHOBAQA5gFPAZsDmwOdA54DGACbBSwElAG1AFABAAH+AXMAkgFMAWABYAFfAfEAXQG+BIYFAgNSAQoA+AFUARABXAAzBb0EVwC3AOQBkgHJAOgBGAHvAFgBWQHpAXkEHQClAxcB+AEyBAYC8ABgAGAA8gDzAAcCbgRpBGEAmgCSAQUCBAJ0AXUBmwOlA44AjwCAAGUFCwFgAGAAVAP1AssAkACTAWEAZgWSAQUCBALMAGQFmwOSAGMFhwSGBEcAhAQUAcoAuQCbA5sDnQOeAxgAxgABAX4A3wPdA4sDYgD7AZwABACRAJ4AzgA/A9EAIwGbA5sDnQOeAxgA7QOPA/4BpACTAHwBcwF+AaYATABNABIB+gGUAE4ATwDwA9MA1ADsA4kA1QASACwB5gCSAeUDVQS7AdcAIACqAKsABAOZAcABPwH4AdsArADEAVEAEwDJATkBFABSAAwB6AGWACoDswBTAOcB0AGXAKUDtAC/A1QAEAQiAGAAYADXAREEIwDaAcEAYQD4AJIBBQIEAiwElAGbA/oAAAFwA+UArwBrA2ABYAFfAfEAXQFkABUAAgMWAB4EIAQHAGIA+wEVBAQAUQEiBBcAzgPJALAAGAFYAJsDmwOdA54DGAD+ARcBwAO+A8ID9gPDA/UD6wDqABkAJABjAFoA+wGgAwQA/wFeAQ4DGgBJA+wAkgFbAS0E7QBlBGUEqwX+AcsAqgVlBGUE+AFlBGUEZQTMAGUEZQSSAGUEZQRlBGUEZQRlBMoAZQRlBGUEkgGlA2UEZQRlBGUEZQRgAGAAZQRlBGUE+AFlBGEAZQSSAQUCBAJlBGUEmwNlBGUEZQRlBGUEZQRlBGUEcwGlA2UEZQRlBBIB+gFgAGAAZQRlBGUEZQRlBGEAZQSSAQUCBAJlBGUEmwObA5sDnQOeAxgAZQSZAWUEZQRlBAABZQRlBGUEZQRgAWABXwHxAF0BZQRlBAIDZQRlBGUEZQRlBGUEZQSbA5sDnQOeAxgAyQBlBBgBZQRlBGUEZQRlBGUEZQQXAWUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQTLAGUEZQRlBGUEZQRlBGUEzABlBGUEkgBlBGUEZQRlBGUEZQTKAGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBHMBZQRlBGUEZQQSAfoBZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEmQEAAAAAAAAAAAAAAAAAANQF1AXUBTwFYwTNBGMEYwRjBDwFPAU8BWME6wTrBG8FggRjBGMEYwRjBGMEYwRjBDsFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTxBGMEYwRjBGMEYwQ9BT4FYwRjBGMEbgVwBfsE+gT5BPgEXQXeBPYE7wTzBDcFOAU2BToFPgU9BWME8gQaBSgFGQVjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBCIFJwUtBSYFIwUcBRsFHQUeBWMEeASpBGMEYwRjBGMEgQWABWMEYwSCBB8FIAUqBSkFdgWoBacFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBIIEfgQUBRMFigV+BOUEYwR8Bc0ExARjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBHMFcQVjBEsFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEyQRjBGMEYwRjBGMEYwRjBGMEYwRjBKIFYwRYBbcEyQTJBMkEyQTLBLgEtgTDBIIEagTMBfUE4ATgBMkF9QT1BMkFkAS2BY0E6wTrBOsE4AQ5BcoEwwRjBMwF0gTSBMsFywXSBP4EBAWsBPUEsgSyBLIEsgTSBHUE9QT1BP4EBAWsBKwE9QTSBHUEXAXGBdIEdQREBdIEdQTSBHUERAWqBKoEqgSfBEQFqgSQBKoEnwSqBKoERAVIBUgFRAXkBN8E5ATfBOQE3wTkBN8E0gTlBIkFYwTwBOUEPwXSBGME8ATuBOwE9QR7BKIEpQWlBaEFoQWhBdEF0QV8BbEFggSCBIIEggSxBZIEkgSCBIIEggSCBLEFYwRjBGMEYwRjBGMErAVjBE0F1gRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBAkFYwRmBHkFYwRjBHcFYwRjBGMEYwRjBGME1wRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTIBWMEYwRjBGMEYwRjBFsFWgVjBGME1ARjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBO0EYwSIBWMEYwRjBGMEYwRjBGMElgXmBGMEYwS/BWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwS6BboECwVjBAoFDgVjBG8EYwQAAAAAAAAAAAAAAAAAAJ8A/wCfAP0AngD/AKAA/QChAAAAoQD/AKEA/wChAP8AoAD+AKAA/gCgAP4AoAD9AKAA+wClAPoApwD/AKkAAACpAP0AqAD/AKgAAACmAPsApgD+AK0AAACtAP4ArwD+ALEAAACxAPwAsQD6ALIA/gC2AAAAtwD+ALcA/AC3APwAtwD8ALcA/AC3AP0AtwD9ALcA+wC3AP4AtwD8ALcA/AC3AP8AtwD+ALwAAAC8AP8AvgAAAL4A/gDAAP4AwAD9AMAA/QDAAP0AwQD+AMEA/gDBAP8AwQD/AMEA/gC/AP0AvwD+AMIAAADCAP4AwgD+AKwAAADEAP8AxQD+AMUA+QDFAPsAxQD7AMUA9gDIAAAAugAAALoA/QDJAAAAyQD+AMoA/wDKAP8AoAD8AMwA/gDMAAAAoAD3AKAA/ACgAP8ArgD9AK4A/ACuAP8AzgD9ANEA/wDRAP4A0QD/AM8A9wDPAPYA2wD8ANsA+wDSAP8A0gD/ANIAAADdAAAA0wD7ANMA/QDTAPsA3gD+AN4AAADUAAAA1AD+AOAA/gDgAAAA3wD5AN8A9wDfAPkA3wD5AKoAAACqAP4AzQD/AM0A/QDmAP8A5gD9AOYA+wDmAP0A4QD/AOEA/gDhAP0A4QD8AOMA/gDjAAAA4gAAAOIA/QDiAP4A5AD8AOQAAADYAAAA2AD9AMYA/ADGAP4AuwD/ALsA/wC7AAAA1gAAANYA/QDXAAAA1wD+ANkAAADZAP4A2QD8ANkA/ACgAPoA1QAAANUA/gCgAPgA6QD7AOkA+QDpAP0A6QD7AKAA+QCgAPkA7AAAAOwA9QDsAPgA7AD8AOoA/gDqAP8A6wAAAOsA/QDnAP0A5wD/ALkA/QC5AP8AuQD/ALkA/QC5APsAuAD/ALgA/wC4AP8AuQD/ALkA/QC5APoAuQD7ALkA/AC5APoAuQD7ALgA/wC5APsAuQD9ALkA/QC5AP0AuQD9ALkA/QC5AP0AuQD9ALkA/QDuAP4AuQD9ALkA+wC5AP4AuQD9ALkA/QC5APwAuQD+ALkA/gC5AP4A7wD/AO8A/gC5APsA8AD/APAA/gC5APsAuQD9ALkA+wC5APsAuQD8ALkA+wDzAPsA8wD8APQA/gD0AAAA8gD/APIAAADlAAAA3AD9ANwA/wDxAAAA8QD9AKAA9AD1AP8A9QAAAL0AAAC9AP0AxwD7AMcA/QD2AAAA9gD+AKAA/ACgAP8AoAD+AKAA/QCgAPsAoAD6AKAA+wCgAPoAtAD+ALUA/gCgAPsA+AD1APoA/wD6AP4A+gAAAPsA/wD7AP8A+wD9AP0AAAD9AP4A+QD9APkA/gD/AP0AAAH9AAAB/gD+APgA/gD4AP4A+gD+AP0AuQD8ALkA+gDLAP8AywD/AMsA/wCgAPwAoAD6AKAA/QACAQAAAgH+AKAA/wCgAP0AoAD/AKAA/QCgAPoAoAD5AAMB/wCgAPgAoAD/AKAA/AAFAfgABwEAAAgB/wAIAf0ACQH/AOgA/gDoAP0A0AD6ANAA+AALAf8ACwH9AAwB/QANAfsADwH9AA8BAAAOAQAADgH+AA4B+wARAf8AEQH/ABMB/wATAf4AFAH/ABQB/gASAf4AEgH+ABIB/gDaAP4A7QD9AO0A/QAQAQAAEAH7AJsA/wCcAP4AnAD/AJ0A/wCdAP4AnQD+AKIAAACiAP8AogD+AKQA/wCkAAAAoAD+AKsA/ACrAP4AowD/AKMA/wCjAP8AsQD/ALIA/wCzAP8AswD/ALAA/gCwAAAAtwD+AKwA/gDDAP0AwwD/AMQAAADIAP8AygD/AM4A/wDPAP8A3QD+AN4A/wC5AP8A7gD/AOUA/wD3AP8A9wD/APcA/wD3AP8A9wD/ALQA/wD8AAAA/AD9AP8A/wAAAQAAAQH/AAEBAAAEAQAABAH/AAYB/wAGAf0ABwH+AAoBAAAKAfwACgH+AOgAAAAAAAAASQAAACQACgBaAAAANAAJAIEAAABaAAEAUwAAAE4AAAALAAsABQACAEYAAAB1AAAAbf+rAAcBoP9mAXD/a/+a/3wAZP+e/zEBkQHH/9EAE//1AKL/sf+9AHcB6gHtAXoBLwEbAh4C9QH3ASoCnwEOAiICLQJLAlECUwIW/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/87/TwHWAXkCkAKSApQCowKtAr8C1wLrAu4C8ALyAgIDFAMWAxkDGwMdAyADIgMkAyYDLQM0Az0DQQNEA0YDSwNNA08DUQNpA3sDfQOUA5YDmQOoA60DsAO8A8EDFv8W/xb/Fv8W/xb/Fv8W/xb/zwFfAlD/DgB1/1cAd/8yA50DMgOdA4IDFv8W/xb/Fv9a/1r/Wv9+/33/rv/K/0z/bAEpAAEC/QH9AXUA9AEVAxwDhgLAACMBhAIeA3gAJwMfAo8DmAOMApwDmgPoALoCIQPLAycA3ADbAroBhgM5/9MD1f+lAYADrgNdAkj/gv+bAKwAGQEwAXkBGgKKArICuwLTAiMDRwNVA5cD3wP6AysERAS3A1cEWARbBFwEXQRfBGAEYQRiBGMEZARlBPQDSARJBGgEaQRqBGsELgRvBHEEgAQ1BIEEgwRaBIQEMAGGBJQElQSWBJcEmARBBEMEbQRKBGYEcwR0BC4EbQRtBJIEiwSiBE8EkARyBHUEVgSRBJMEbASZBKUEqgSdBLAEtASOBHkEmgSjBNAEdgTPBNEEfQR+BNYEmwSeBLwEtQTDBMQExQTGBOoE8gTHBMgEtgS7BNUE1wTOBPUE+ASrBK0EAAUEBfQEBQUJBQoFDQX6BAYFBwUIBQIFDgUMBREFFAUQBRUFGgUYBeEE4gQcBfcE+wT5BPwE/wQBBQMFFgU2BRsF2wTzBCYFKgUXBVsFEwUwBTQFPAU+BWgFbwV4BXsFfwWABYEFHwUgBR4FfQV6BYQFiQWMBX4FcQVzBY0FjgWPBZAFhwUAAAAAAAAAAAAAAABbswAAAAACAGKzAAAAAAQAAAAAAAAAAAAAAAAAAAAAAFGzAAABAAAAVLMAAAIAAABXswAABgAAABqNAACAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABpAAEDLwEIAEYAAgBhAQIBLwEIAEYAAQCrAAAAUQEBAAAAAAAAAAAAAAAAAAIAAQBpAAEEEgEAAEUAAgBrAAcAAAAAAAAAAAAAAAAAUwEAADABBABqAAMAUQMBAEUAAABqAAMACwADAAAAAADUtQAAAQAAACC2AAABAAAAJrYAAAIAAAAvtgAAAwAAADi2AAACAAAAQLYAAAMAAABItgAAAAAAAE+2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCQkICAcHBwYGBgUFBQQEBAQDAwMDAwMCAgICAgICHpYAAEAAAADrfQAAQgAAAPR9AABBAAAADLoAAEMAAAAzAAIAeQAAAGYAAgB6AAAAdQAAAAAAAAAAAAAAAAAAAG5hdHVyYWxlZnRvdXRlcmlnaHRmdWxsaW5uZXJjcm9zcwAAAAAAAAAAAAAAAAAAAAAHBAYEKAoFIA4FMBMEOBcFARwFAwAAAAAAAAAAAAAAtNsAAKvCAACxwgAAtsIAALvCAAAAAAAAAAAAAAAAAAAAAAABAQEAEAABAAEBAQMDAQEDEgMBCQkJCQkJCQkJCQEBAQEBAQEBASMLJiYBAQMDAwMDCwsLCwsLAQEBAQAAAAACAggAEBAQEAAQEAAAEBAAAAICAgAAEiAAACYmJiYmJiYmJiYAEhAQEAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAQAAAEBAAAEBAAABAQAAAAAAAAAAYQAAQaAAAAAAAAAAAAAAAAABAQAAAAAAAAAKAAAABtAAAAHwAFAVoAAAFRAQAARQAAAAAAAAAAAAAA6gMAAABAAADrAwAAAAAEAOwDAAAAAEAA7QMAAAAAAQDuAwAAAAgAAO8DAAAAAIAA8AMAAAAAAAHxAwAAAAAAAvIDAAAAAAAQAAAAAAAAAAAAypo7AMqaO9AHAADoAwAA9AEAAICy5g5/AAAACgAAAFDDAADnAwAA6AMAAAAAAADKxQAApQAAANLFAACmAAAAEZkAAKcAAADaxQAAqAAAAIDQAACs0AAA8NAAAAzRAAAp0QAARNEAAGDRAAB50QAA28cAACPKAAAcyAAA6ckAAPfKAABwygAAkdEAAJnHAADSyAAAYMgAAFnQAADF0QAA8dEAANLLAABvxwAAss8AALTbAAC02wAAm8gAAG7MAAAszQAAT84AALbOAAB4zwAAo80AAO3OAAAOzgAAPM8AAPzMAAD9yAAAZ8kAALDJAADS0gAAAgAEANXSAAADAQMA2dIAAAMBAgDd0gAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA////////APwBAAD4AQAA+DAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAEEADhq1AEABwAAOF9gADgcAAQEwMgEBBjkBARBKAQEueAF0AXkBAQZ/AWgBgQEyAYIBAQSGASwBhwEAAYkBKgKLAQABjgEgAY8BJgGQASgBkQEAAZMBKgGUAS4BlgE0AZcBMAGYAQABnAE0AZ0BNgGfATgBoAEBBqYBPAGnAQABqQE8AawBAAGuATwBrwEAAbEBOgKzAQEEtwE+AbgBAAG8AQABxAECAcUBAAHHAQIByAEAAcoBAgHLAQES3gEBEvEBAgHyAQEE9gF6AfcBhgH4AQEoIAJuASICARI6AkYBOwIAAT0CbAE+AkQBQQIAAUMCagFEAhwBRQIeAUYCAQpFAyQBcAMBBHYDAAGGAxIBiAMQA4wDGgGOAxgCkQMOEaMDDgnCAwABzwMEAdADjAHRA44B1QOSAdYDkAHYAwEY8AOIAfEDigH0A4IB9QOAAfcDAAH5A5gB+gMAAf0DbgMABCIQEAQOIGAEASKKBAE2wAQGAcEEAQ7QBAFYMQUWJqAQQibHEEIBzRBCAQAeAZabHoQBnh5gAaAeAWAIH5YIGB+WBigflgg4H5YISB+WBlkflwhoH5YIiB+WCJgflgioH5YIuB+WAroffgK8H5QBvh9kAcgffATMH5QB2B+WAtofeALoH5YC6h92AuwfmAH4H3AC+h9yAvwflAEmIWIBKiFcASshXgEyIQwBYCEIEIMhAAG2JAoaACwWL2AsAAFiLFgBYyxmAWQsWgFnLAEGbSxUAW4sVgFvLFABcCxSAXIsAAF1LAABfixOAoAsAWTrLAEE8iwAAUCmAS6ApgEYIqcBDjKnAT55pwEEfadMAX6nAQqLpwABjadKAZCnAQSgpwEKqqdIASH/DhoAAAAAAQACAAgADwAQABoAHAAgACUAJgAoADAAPwBAAEUARwBPAFAAdADKAMsAzQDOAM8A0QDSANMA1QDWANkA2gDbAAcDYBwoKisqvFrYWvx1wdXh1eLV5NUD1gnWGdZB37rfQeKj4vvjGvH0/j3/Xf9+/4D/gv+H/5D/nP+f/6r/tv/A/8T/xv/I/8r/0P/i/+f/6v/x//f/+P/5/wAAAAAAAAAABQc4B0MHYweIB5QHywfoB/gHDAg+CHgIngjYCO4IKAlPCagJuAnUCSQKbAqsCt4KGgtOC4oLqAu4C9QLCA2ADXAOgA6QDqAOOA9ID1gPgA+oD8gPChAqEEoQahCKEKoQyBDYEPgQOBFIEXgRmBEEGDYYeBiIGNgYHRlpGYEZCPAc8F7wmPDK8PjwCPEe8VjxaPGM8bjx2vH88S7yqvLK8vjyCvNe85zz6vMO9Ej0WvR49Iz0sPS49MD0yPQK9cz1SvZq9ir3nvcAAAAAAAAAYWNlaW5vdXl5YWNkZWVnaGlqa2xub3JzdHV1d3l6b3VhaW91Z2tvamduYWVpb3J1c3RoYWVveQAAAAAAAAAAYWJkZGVmZ2hoaWtsbG1ucHJyc3R1dnd3eHl6aHR3eWFlaW91eQAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAEBAQABAQEBAQABAQEBAQABAQECAQAAAAAAAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAA/v//fwAAAACwBAAAZAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//9/////fwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWnQAAAwAAAFKdAAADAAAAQQAAAEEAAABBAAAAQgAAAEMAAABEAAAAQgAAAAAAAAABAAAAAAAAAEUAAABUAAAAQQAAAEEAAABGAAAAQgAAAJ8AAABBAAAAQgAAAFUAAABWAAAARwAAAEgAAABJAAAAAQAAAEcAAABCAAAAQwAAAEcAAABKAAAASwAAAEwAAABNAAAATgAAAEgAAABIAAAASQAAAAAAAABDAAAAVwAAAE8AAABEAAAARAAAAAMAAABNAAAAQgAAAEMAAABHAAAASgAAAEsAAABaAAAAWwAAAFwAAABIAAAASAAAAEkAAAAAAAAAQwAAAFcAAABPAAAARAAAAEQAAAADAAAATgAAAEIAAABDAAAARwAAAEoAAABLAAAAXQAAAF4AAABfAAAASAAAAEgAAABJAAAARQAAAEMAAABXAAAATwAAAEQAAABEAAAAvX4AAAEAAABPAAAARgAAAEcAAABPAAAAYAAAAGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIAAABiAAAAUAAAAAAAAABjAAAAUQAAAEgAAABSAAAAUwAAAFAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAFCyAAAAAAAAAQAAAAEAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAAAAAAD9sQAAAAAAAAIAAAABAAAAAAAAAAAAAACiAAAAAAAAAAAAAAAAAAAA/7AAAAAAAAACAAAAAQAAAAAAAAAAAAAAowAAAAAAAAAAAAAAAAAAAPWwAAAAAAAAAQAAAAEAAAAAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAADhsAAAAAAAANa2AADYtgAARZYAADkAAAA5AAAANgAAAHy8AACxvAAA5LwAAAAAAABDAAAAQwAAAGUAAABUAAAAVAAAAGYAAABVAAAASQAAAFYAAABXAAAAUQAAAGcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAAAAWAAAAEUAAABZAAAARAAAAAAAAAAAAAAAUwAAAFoAAABGAAAAWwAAAEUAAAAAAAAAAAAAAFQAAABcAAAARwAAAF0AAABGAAAAAAAAAAMAAABHAAAASAAAAGgAAABeAAAAXwAAAGkAAABgAAAASgAAAGEAAABiAAAAVQAAAGoAAABIAAAAYwAAAGQAAABlAAAAZgAAAEsAAABrAAAAbAAAAG0AAABuAAAAZwAAAAAAAABJAAAASQAAAG8AAABoAAAAaAAAAHAAAABpAAAATAAAAGoAAABrAAAAVgAAAHEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXNsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAA4AGAAfADsADycQAAICIQAgAB4AHAAaABAQAhBhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cxMABwb3dlcgBzaWduAHNxcnQAc3F1YXJlAGNlaWwAZmxvb3IAcGkAcmVwbGljYXRlAGNoYXJpbmRleABsZWZ0c3RyAHJpZ2h0c3RyAHJldmVyc2UAcHJvcGVyAHBhZGwAcGFkcgBwYWRjAHN0cmZpbHRlcgBzdGRldgB2YXJpYW5jZQBtZWRpYW4AbG93ZXJfcXVhcnRpbGUAdXBwZXJfcXVhcnRpbGUAYXJnYz09MQBjL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAD8wMDAAcmFkMmRlZ0Z1bmMAZGVnMnJhZEZ1bmMAY29zRnVuYwBzaW5GdW5jAHRhbkZ1bmMAY290RnVuYwBjb3NoRnVuYwBzaW5oRnVuYwB0YW5oRnVuYwBjb3RoRnVuYwBleHBGdW5jAGxvZ0Z1bmMAbG9nMTBGdW5jAHBvd2VyRnVuYwBzaWduRnVuYwBzcXJ0RnVuYwBzcXVhcmVGdW5jAGNlaWxGdW5jAGZsb29yRnVuYwBkb21haW4gZXJyb3IAYXJnYz09MyB8fGFyZ2M9PTIAY2hhcmluZGV4RnVuYwBsZWZ0RnVuYwByaWdodEZ1bmMAMT09YXJnYwByZXZlcnNlRnVuYwBwcm9wZXJGdW5jAHBhZGxGdW5jAHBhZHJGdW5jAHBhZGNGdW5jAHN0cmZpbHRlckZ1bmMAdmFyaWFuY2VTdGVwAG1vZGVTdGVwADMuMjYuMAAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AbWlzdXNlADIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQAlAHRoc3RuZHJkAC14MABYMABOVUxMAChOVUxMKQAuAE5hTgB1bml4AHVuaXgtbm9uZQB1bml4LWRvdGZpbGUAdW5peC1leGNsAG9zX3VuaXguYzolZDogKCVkKSAlcyglcykgLSAlcwBjbG9zZQBvcGVuAGFjY2VzcwBnZXRjd2QAc3RhdABmc3RhdABmdHJ1bmNhdGUAZmNudGwAcmVhZABwcmVhZABwcmVhZDY0AHdyaXRlAHB3cml0ZQBwd3JpdGU2NABmY2htb2QAZmFsbG9jYXRlAHVubGluawBvcGVuRGlyZWN0b3J5AG1rZGlyAHJtZGlyAGZjaG93bgBnZXRldWlkAG1tYXAAbXVubWFwAG1yZW1hcABnZXRwYWdlc2l6ZQByZWFkbGluawBsc3RhdABpb2N0bAAlcwBhdHRlbXB0IHRvIG9wZW4gIiVzIiBhcyBmaWxlIGRlc2NyaXB0b3IgJWQAL2Rldi9udWxsAGNhbm5vdCBvcGVuIGZpbGUAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMvZXRpbHFzXyVsbHglYwAvdmFyL3RtcAAvdXNyL3RtcAAvdG1wAGZ1bGxfZnN5bmMAL2Rldi91cmFuZG9tAGZzeW5jAG1vZGVvZgBwc293ACVzLmxvY2sAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAJXMtc2htAHJlYWRvbmx5X3NobQABAAAAAQEDAnNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQAc3FsaXRlX2NvbXBpbGVvcHRpb25fZ2V0AHVubGlrZWx5AGxpa2VsaWhvb2QAbGlrZWx5AGx0cmltAHJ0cmltAHRyaW0AbWluAG1heAB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3VtAHRvdGFsAGF2ZwBjb3VudABncm91cF9jb25jYXQAKj9bAGdsb2IAJV8AAWxpa2UAY29hbGVzY2UATElLRSBvciBHTE9CIHBhdHRlcm4gdG9vIGNvbXBsZXgARVNDQVBFIGV4cHJlc3Npb24gbXVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIAc3RyaW5nIG9yIGJsb2IgdG9vIGJpZwAsADkyMjMzNzIwMzY4NTQ3NzU4MABpbnRlZ2VyIG92ZXJmbG93ACUhLjE1ZwAlIS4yMGUAJS4qZgBpbnRlZ2VyAHJlYWwAdGV4dABibG9iAG51bGwAASAAQ09NUElMRVI9Y2xhbmctNi4wLjEARElTQUJMRV9MRlMARU5BQkxFX0ZUUzMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMAT01JVF9MT0FEX0VYVEVOU0lPTgBUSFJFQURTQUZFPTAAU1FMSVRFXwBqdWxpYW5kYXkAZGF0ZQB0aW1lAGRhdGV0aW1lAHN0cmZ0aW1lAGN1cnJlbnRfdGltZQBjdXJyZW50X3RpbWVzdGFtcABjdXJyZW50X2RhdGUAJTAyZAAlMDYuM2YAJTAzZAAlLjE2ZwAlbGxkACUwNGQANDBmLTIxYS0yMWQAbm93AG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9uIGluIGluZGV4IGV4cHJlc3Npb24gb3IgQ0hFQ0sgY29uc3RyYWludABsb2NhbHRpbWUAdW5peGVwb2NoAHV0YwB3ZWVrZGF5IABzdGFydCBvZiAAbW9udGgAeWVhcgBkYXkAc2Vjb25kAG1pbnV0ZQBob3VyAGxvY2FsIHRpbWUgdW5hdmFpbGFibGUAMjBjOjIwZQAyMGUAMjBiOjIwZQAlMDRkLSUwMmQtJTAyZCAlMDJkOiUwMmQ6JTAyZAAlMDJkOiUwMmQ6JTAyZAAlMDRkLSUwMmQtJTAyZAByb3dfbnVtYmVyAGRlbnNlX3JhbmsAcmFuawBwZXJjZW50X3JhbmsAY3VtZV9kaXN0AG50aWxlAGxhc3RfdmFsdWUAbnRoX3ZhbHVlAGZpcnN0X3ZhbHVlAGxlYWQAbGFnAGFyZ3VtZW50IG9mIG50aWxlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAHNxbGl0ZV9yZW5hbWVfY29sdW1uAHNxbGl0ZV9yZW5hbWVfdGFibGUAc3FsaXRlX3JlbmFtZV90ZXN0AG1haW4AZGF0YWJhc2UgY29ycnVwdGlvbgBlcnJvciBpbiAlcyAlcyVzOiAlcwAgYWZ0ZXIgcmVuYW1lAEZPUkVJR04gS0VZIGNvbnN0cmFpbnQgZmFpbGVkACVzLW1qWFhYWFhYOVhYegBNSiBjb2xsaWRlOiAlcwBNSiBkZWxldGU6ICVzAC1taiUwNlg5JTAyWADZ1QX5IKFj13JlY292ZXJlZCAlZCBwYWdlcyBmcm9tICVzAGNhbm5vdCBsaW1pdCBXQUwgc2l6ZTogJXMAcmVjb3ZlcmVkICVkIGZyYW1lcyBmcm9tIFdBTCBmaWxlICVzAEV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAG5vIHN1Y2ggdGFibGUAbm8gc3VjaCB2aWV3AHByYWdtYV8AJXM6ICVzLiVzACVzOiAlcwB2dGFibGUgY29uc3RydWN0b3IgY2FsbGVkIHJlY3Vyc2l2ZWx5OiAlcwB2dGFibGUgY29uc3RydWN0b3IgZmFpbGVkOiAlcwB2dGFibGUgY29uc3RydWN0b3IgZGlkIG5vdCBkZWNsYXJlIHNjaGVtYTogJXMAQVBJIGNhbGxlZCB3aXRoIGZpbmFsaXplZCBwcmVwYXJlZCBzdGF0ZW1lbnQAQVBJIGNhbGxlZCB3aXRoIE5VTEwgcHJlcGFyZWQgc3RhdGVtZW50AGludGVycnVwdGVkAGsoJWQAQklOQVJZAEIALQAsJXMlcwApACglLjIwcykAJXMoJWQpACVkAChibG9iKQB2dGFiOiVwACwlZABdAHByb2dyYW0AJS4yeABBUEkgY2FsbCB3aXRoICVzIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9pbnRlcgBpbnZhbGlkAHVub3BlbmVkAGRhdGFiYXNlIHNjaGVtYSBpcyBsb2NrZWQ6ICVzAHN0YXRlbWVudCB0b28gbG9uZwBhZGRyAG9wY29kZQBwMQBwMgBwMwBwNABwNQBjb21tZW50AGlkAHBhcmVudABub3R1c2VkAGRldGFpbABAICAAJXMgY29uc3RyYWludCBmYWlsZWQAJXo6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAAEAAAEBAAABAAEAAQEAAQAAAQAAAAABAgACAgABAgEBAQIBAmNhbm5vdCBvcGVuIHNhdmVwb2ludCAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAG5vIHN1Y2ggc2F2ZXBvaW50OiAlcwBjYW5ub3QgcmVsZWFzZSBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IHRyYW5zYWN0aW9uIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IGNvbW1pdCAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3Qgcm9sbGJhY2sgLSBubyB0cmFuc2FjdGlvbiBpcyBhY3RpdmUAY2Fubm90IHN0YXJ0IGEgdHJhbnNhY3Rpb24gd2l0aGluIGEgdHJhbnNhY3Rpb24AZGF0YWJhc2Ugc2NoZW1hIGhhcyBjaGFuZ2VkAFNFTEVDVCBuYW1lLCByb290cGFnZSwgc3FsIEZST00gJyVxJy4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZABzcWxpdGVfbWFzdGVyAE1haW4gZnJlZWxpc3Q6IABtYXggcm9vdHBhZ2UgKCVkKSBkaXNhZ3JlZXMgd2l0aCBoZWFkZXIgKCVkKQBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8ARmFpbGVkIHRvIHJlYWQgcHRybWFwIGtleT0lZABCYWQgcHRyIG1hcCBlbnRyeSBrZXk9JWQgZXhwZWN0ZWQ9KCVkLCVkKSBnb3Q9KCVkLCVkKQBQYWdlICVkIGlzIG5ldmVyIHVzZWQAUG9pbnRlciBtYXAgcGFnZSAlZCBpcyByZWZlcmVuY2VkAHRvbyBtYW55IGxldmVscyBvZiB0cmlnZ2VyIHJlY3Vyc2lvbgBpbnRvAG91dCBvZgBjYW5ub3QgY2hhbmdlICVzIHdhbCBtb2RlIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AY2Fubm90IFZBQ1VVTSBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGNhbm5vdCBWQUNVVU0gLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBBVFRBQ0gnJ0FTIHZhY3V1bV9kYgBCRUdJTgBTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBuYW1lPD4nc3FsaXRlX3NlcXVlbmNlJyBBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGU9J2luZGV4JwBTRUxFQ1QnSU5TRVJUIElOVE8gdmFjdXVtX2RiLid8fHF1b3RlKG5hbWUpfHwnIFNFTEVDVCpGUk9NIiV3Ii4nfHxxdW90ZShuYW1lKUZST00gdmFjdXVtX2RiLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0ndGFibGUnQU5EIGNvYWxlc2NlKHJvb3RwYWdlLDEpPjAASU5TRVJUIElOVE8gdmFjdXVtX2RiLnNxbGl0ZV9tYXN0ZXIgU0VMRUNUKkZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4oJ3ZpZXcnLCd0cmlnZ2VyJykgT1IodHlwZT0ndGFibGUnQU5EIHJvb3RwYWdlPTApAAEBAwAFAAYACABkYXRhYmFzZSB0YWJsZSBpcyBsb2NrZWQ6ICVzAG5vIHN1Y2ggbW9kdWxlOiAlcwAtLSAlcwB1bmtub3duIGVycm9yAG5vIG1vcmUgcm93cyBhdmFpbGFibGUAYW5vdGhlciByb3cgYXZhaWxhYmxlAGFib3J0IGR1ZSB0byBST0xMQkFDSwBzdGF0ZW1lbnQgYWJvcnRzIGF0ICVkOiBbJXNdICVzAG91dCBvZiBtZW1vcnkAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBhY2Nlc3MgcGVybWlzc2lvbiBkZW5pZWQAcXVlcnkgYWJvcnRlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF0dGVtcHQgdG8gd3JpdGUgYSByZWFkb25seSBkYXRhYmFzZQBkaXNrIEkvTyBlcnJvcgBkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAB1bmtub3duIG9wZXJhdGlvbgBkYXRhYmFzZSBvciBkaXNrIGlzIGZ1bGwAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQBsb2NraW5nIHByb3RvY29sAGNvbnN0cmFpbnQgZmFpbGVkAGRhdGF0eXBlIG1pc21hdGNoAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQBsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAYXV0aG9yaXphdGlvbiBkZW5pZWQAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBmaWxlIGlzIG5vdCBhIGRhdGFiYXNlAG5vdGlmaWNhdGlvbiBtZXNzYWdlAHdhcm5pbmcgbWVzc2FnZQAtLSAAJyUuKnEnAHplcm9ibG9iKCVkKQB4JwAlMDJ4ACcAQ1JFAElOUwBkZWxldGUAcGVyc2lzdABvZmYAdHJ1bmNhdGUAbWVtb3J5AHdhbABpbnZhbGlkIHBhZ2UgbnVtYmVyICVkADJuZCByZWZlcmVuY2UgdG8gcGFnZSAlZABQYWdlICVkOiAAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkAE9uIHRyZWUgcGFnZSAlZCBjZWxsICVkOiAAT24gcGFnZSAlZCBhdCByaWdodCBjaGlsZDogAE9mZnNldCAlZCBvdXQgb2YgcmFuZ2UgJWQuLiVkAEV4dGVuZHMgb2ZmIGVuZCBvZiBwYWdlAFJvd2lkICVsbGQgb3V0IG9mIG9yZGVyAENoaWxkIHBhZ2UgZGVwdGggZGlmZmVycwBNdWx0aXBsZSB1c2VzIGZvciBieXRlICV1IG9mIHBhZ2UgJWQARnJhZ21lbnRhdGlvbiBvZiAlZCBieXRlcyByZXBvcnRlZCBhcyAlZCBvbiBwYWdlICVkAAoAZmFpbGVkIHRvIGdldCBwYWdlICVkAGZyZWVsaXN0IGxlYWYgY291bnQgdG9vIGJpZyBvbiBwYWdlICVkAG92ZXJmbG93IGxpc3QgbGVuZ3RoAHNpemUAJXMgaXMgJWQgYnV0IHNob3VsZCBiZSAlZABzcWxpdGVfc3RhdDEAU0VMRUNUIHRibCxpZHgsc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MQB1bm9yZGVyZWQqAHN6PVswLTldKgBub3NraXBzY2FuKgA/AG1hbGZvcm1lZCBkYXRhYmFzZSBzY2hlbWEgKCVzKQBjcmVhdGUgAGludmFsaWQgcm9vdHBhZ2UAJXogLSAlcwAAAQIDBAYIAAAAOm1lbW9yeToALWpvdXJuYWwAAC13YWwAAG5vbG9jawBpbW11dGFibGUATk9UIE5VTEwAVU5JUVVFAENIRUNLAEZPUkVJR04gS0VZAFNhdmVwb2ludABBdXRvQ29tbWl0AFRyYW5zYWN0aW9uAFNvcnRlck5leHQAUHJldgBOZXh0AENoZWNrcG9pbnQASm91cm5hbE1vZGUAVmFjdXVtAFZGaWx0ZXIAVlVwZGF0ZQBHb3RvAEdvc3ViAEluaXRDb3JvdXRpbmUAWWllbGQATXVzdEJlSW50AEp1bXAAT25jZQBJZgBOb3QASWZOb3QASWZOdWxsUm93AFNlZWtMVABTZWVrTEUAU2Vla0dFAFNlZWtHVABJZk5vSG9wZQBOb0NvbmZsaWN0AE5vdEZvdW5kAEZvdW5kAFNlZWtSb3dpZABOb3RFeGlzdHMATGFzdABJZlNtYWxsZXIAU29ydGVyU29ydABTb3J0AFJld2luZABJZHhMRQBJZHhHVABJZHhMVABJZHhHRQBSb3dTZXRSZWFkAFJvd1NldFRlc3QAT3IAQW5kAFByb2dyYW0ARmtJZlplcm8ASWZQb3MASWZOb3RaZXJvAERlY3JKdW1wWmVybwBJc051bGwATm90TnVsbABOZQBFcQBHdABMZQBMdABHZQBFbHNlTm90RXEASW5jclZhY3V1bQBWTmV4dABJbml0AFB1cmVGdW5jMABGdW5jdGlvbjAAUHVyZUZ1bmMARnVuY3Rpb24AUmV0dXJuAEVuZENvcm91dGluZQBIYWx0SWZOdWxsAEhhbHQASW50ZWdlcgBJbnQ2NABTdHJpbmcATnVsbABTb2Z0TnVsbABCbG9iAFZhcmlhYmxlAE1vdmUAQ29weQBTQ29weQBJbnRDb3B5AFJlc3VsdFJvdwBDb2xsU2VxAEFkZEltbQBSZWFsQWZmaW5pdHkAQ2FzdABQZXJtdXRhdGlvbgBDb21wYXJlAElzVHJ1ZQBPZmZzZXQAQ29sdW1uAEFmZmluaXR5AEJpdEFuZABCaXRPcgBTaGlmdExlZnQAU2hpZnRSaWdodABBZGQAU3VidHJhY3QATXVsdGlwbHkARGl2aWRlAFJlbWFpbmRlcgBDb25jYXQATWFrZVJlY29yZABCaXROb3QAQ291bnQAUmVhZENvb2tpZQBTdHJpbmc4AFNldENvb2tpZQBSZW9wZW5JZHgAT3BlblJlYWQAT3BlbldyaXRlAE9wZW5EdXAAT3BlbkF1dG9pbmRleABPcGVuRXBoZW1lcmFsAFNvcnRlck9wZW4AU2VxdWVuY2VUZXN0AE9wZW5Qc2V1ZG8AQ2xvc2UAQ29sdW1uc1VzZWQAU2Vla0hpdABTZXF1ZW5jZQBOZXdSb3dpZABJbnNlcnQASW5zZXJ0SW50AERlbGV0ZQBSZXNldENvdW50AFNvcnRlckNvbXBhcmUAU29ydGVyRGF0YQBSb3dEYXRhAFJvd2lkAE51bGxSb3cAU2Vla0VuZABTb3J0ZXJJbnNlcnQASWR4SW5zZXJ0AElkeERlbGV0ZQBEZWZlcnJlZFNlZWsASWR4Um93aWQARGVzdHJveQBDbGVhcgBSZXNldFNvcnRlcgBDcmVhdGVCdHJlZQBSZWFsAFNxbEV4ZWMAUGFyc2VTY2hlbWEATG9hZEFuYWx5c2lzAERyb3BUYWJsZQBEcm9wSW5kZXgARHJvcFRyaWdnZXIASW50ZWdyaXR5Q2sAUm93U2V0QWRkAFBhcmFtAEZrQ291bnRlcgBNZW1NYXgAT2Zmc2V0TGltaXQAQWdnSW52ZXJzZQBBZ2dTdGVwAEFnZ1N0ZXAxAEFnZ1ZhbHVlAEFnZ0ZpbmFsAEV4cGlyZQBUYWJsZUxvY2sAVkJlZ2luAFZDcmVhdGUAVkRlc3Ryb3kAVk9wZW4AVkNvbHVtbgBWUmVuYW1lAFBhZ2Vjb3VudABNYXhQZ2NudABUcmFjZQBDdXJzb3JIaW50AE5vb3AARXhwbGFpbgBBYm9ydGFibGUAUFJBR01BIAAlUS4APSVRAENSRUFURSBUQUJMRSB4ACVjIiVzIgAoIiVzIgAsYXJnIEhJRERFTgAsc2NoZW1hIEhJRERFTgBzZXEAdGFibGUAZnJvbQB0bwBvbl91cGRhdGUAb25fZGVsZXRlAG1hdGNoAGNpZABuYW1lAHR5cGUAbm90bnVsbABkZmx0X3ZhbHVlAHBrAGhpZGRlbgBzZXFubwBkZXNjAGNvbGwAa2V5AHRibABpZHgAd2R0aABoZ2h0AGZsZ3MAdW5pcXVlAG9yaWdpbgBwYXJ0aWFsAHJvd2lkAGZraWQAZmlsZQBidXN5AGxvZwBjaGVja3BvaW50ZWQAYnVpbHRpbgBkYXRhYmFzZQBzdGF0dXMAY2FjaGVfc2l6ZQB0aW1lb3V0AGFwcGxpY2F0aW9uX2lkAGF1dG9fdmFjdXVtAGF1dG9tYXRpY19pbmRleABidXN5X3RpbWVvdXQAY2FjaGVfc3BpbGwAY2FzZV9zZW5zaXRpdmVfbGlrZQBjZWxsX3NpemVfY2hlY2sAY2hlY2twb2ludF9mdWxsZnN5bmMAY29sbGF0aW9uX2xpc3QAY29tcGlsZV9vcHRpb25zAGNvdW50X2NoYW5nZXMAZGF0YV92ZXJzaW9uAGRhdGFiYXNlX2xpc3QAZGVmYXVsdF9jYWNoZV9zaXplAGRlZmVyX2ZvcmVpZ25fa2V5cwBlbXB0eV9yZXN1bHRfY2FsbGJhY2tzAGVuY29kaW5nAGZvcmVpZ25fa2V5X2NoZWNrAGZvcmVpZ25fa2V5X2xpc3QAZm9yZWlnbl9rZXlzAGZyZWVsaXN0X2NvdW50AGZ1bGxfY29sdW1uX25hbWVzAGZ1bGxmc3luYwBpZ25vcmVfY2hlY2tfY29uc3RyYWludHMAaW5jcmVtZW50YWxfdmFjdXVtAGluZGV4X2luZm8AaW5kZXhfbGlzdABpbmRleF94aW5mbwBpbnRlZ3JpdHlfY2hlY2sAam91cm5hbF9tb2RlAGpvdXJuYWxfc2l6ZV9saW1pdABsZWdhY3lfYWx0ZXJfdGFibGUAbGVnYWN5X2ZpbGVfZm9ybWF0AGxvY2tpbmdfbW9kZQBtYXhfcGFnZV9jb3VudABtbWFwX3NpemUAb3B0aW1pemUAcGFnZV9jb3VudABwYWdlX3NpemUAcXVlcnlfb25seQBxdWlja19jaGVjawByZWFkX3VuY29tbWl0dGVkAHJlY3Vyc2l2ZV90cmlnZ2VycwByZXZlcnNlX3Vub3JkZXJlZF9zZWxlY3RzAHNjaGVtYV92ZXJzaW9uAHNlY3VyZV9kZWxldGUAc2hvcnRfY29sdW1uX25hbWVzAHNocmlua19tZW1vcnkAc29mdF9oZWFwX2xpbWl0AHN5bmNocm9ub3VzAHRhYmxlX2luZm8AdGFibGVfeGluZm8AdGVtcF9zdG9yZQB0ZW1wX3N0b3JlX2RpcmVjdG9yeQB0aHJlYWRzAHVzZXJfdmVyc2lvbgB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAd3JpdGFibGVfc2NoZW1hAHNxbGl0ZV90ZW1wX21hc3RlcgAxAENSRUFURSBUQUJMRSB4KHR5cGUgdGV4dCxuYW1lIHRleHQsdGJsX25hbWUgdGV4dCxyb290cGFnZSBpbnQsc3FsIHRleHQpAGF0dGFjaGVkIGRhdGFiYXNlcyBtdXN0IHVzZSB0aGUgc2FtZSB0ZXh0IGVuY29kaW5nIGFzIG1haW4gZGF0YWJhc2UAdW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXQAU0VMRUNUIG5hbWUsIHJvb3RwYWdlLCBzcWwgRlJPTSAiJXciLiVzIE9SREVSIEJZIHJvd2lkAGEgR1JPVVAgQlkgY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSBIQVZJTkcAT1JERVIAR1JPVVAAYWdncmVnYXRlIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gdGhlIEdST1VQIEJZIGNsYXVzZQBhbGwgVkFMVUVTIG11c3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgdGVybXMAVU5JT04ARVhDRVBUAElOVEVSU0VDVABVTklPTiBBTEwAU0VMRUNUcyB0byB0aGUgbGVmdCBhbmQgcmlnaHQgb2YgJXMgZG8gbm90IGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIHJlc3VsdCBjb2x1bW5zAHRvbyBtYW55IHRlcm1zIGluIE9SREVSIEJZIGNsYXVzZQAlciAlcyBCWSB0ZXJtIG91dCBvZiByYW5nZSAtIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kICVkACVyIE9SREVSIEJZIHRlcm0gZG9lcyBub3QgbWF0Y2ggYW55IGNvbHVtbiBpbiB0aGUgcmVzdWx0IHNldAAlcyVzAHRvbyBtYW55IHRlcm1zIGluICVzIEJZIGNsYXVzZQAlcyBwcm9oaWJpdGVkIGluICVzAHRoZSAiLiIgb3BlcmF0b3IAaW5kZXggZXhwcmVzc2lvbnMAbmV3AG9sZABleGNsdWRlZABfUk9XSURfAFJPV0lEAE9JRABtaXN1c2Ugb2YgYWxpYXNlZCBhZ2dyZWdhdGUgJXMAcm93IHZhbHVlIG1pc3VzZWQAdHJ1ZQBmYWxzZQBhbWJpZ3VvdXMgY29sdW1uIG5hbWUAbm8gc3VjaCBjb2x1bW4AJXM6ICVzLiVzLiVzAHNlY29uZCBhcmd1bWVudCB0byBsaWtlbGlob29kKCkgbXVzdCBiZSBhIGNvbnN0YW50IGJldHdlZW4gMC4wIGFuZCAxLjAAbm90IGF1dGhvcml6ZWQAYXV0aG9yaXplciBtYWxmdW5jdGlvbgBub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICVzAHBhcnRpYWwgaW5kZXggV0hFUkUgY2xhdXNlcwBDSEVDSyBjb25zdHJhaW50cwBub24tZGV0ZXJtaW5pc3RpYyBmdW5jdGlvbnMAJS4qcygpIG1heSBub3QgYmUgdXNlZCBhcyBhIHdpbmRvdyBmdW5jdGlvbgBtaXN1c2Ugb2YgJXMgZnVuY3Rpb24gJS4qcygpAGFnZ3JlZ2F0ZQB3aW5kb3cAbm8gc3VjaCBmdW5jdGlvbjogJS4qcwB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uICUuKnMoKQBubyBzdWNoIHdpbmRvdzogJXMARklMVEVSIGNsYXVzZSBtYXkgb25seSBiZSB1c2VkIHdpdGggYWdncmVnYXRlIHdpbmRvdyBmdW5jdGlvbnMAc3VicXVlcmllcwBwYXJhbWV0ZXJzACVzLiVzACVzLiV6AGFjY2VzcyB0byAleiBpcyBwcm9oaWJpdGVkAHZpZXcgJXMgaXMgY2lyY3VsYXJseSBkZWZpbmVkAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwBJTlRFR0VSAGNvbHVtbiVkACUuKno6JXUAJyVzJyBpcyBub3QgYSBmdW5jdGlvbgBtdWx0aXBsZSByZWZlcmVuY2VzIHRvIHJlY3Vyc2l2ZSB0YWJsZTogJXMAY2lyY3VsYXIgcmVmZXJlbmNlOiAlcwB0YWJsZSAlcyBoYXMgJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAHJlY3Vyc2l2ZSByZWZlcmVuY2UgaW4gYSBzdWJxdWVyeTogJXMAbXVsdGlwbGUgcmVjdXJzaXZlIHJlZmVyZW5jZXM6ICVzAHRvbyBtYW55IHJlZmVyZW5jZXMgdG8gIiVzIjogbWF4IDY1NTM1AG5vIHN1Y2ggaW5kZXg6ICVzAGEgTkFUVVJBTCBqb2luIG1heSBub3QgaGF2ZSBhbiBPTiBvciBVU0lORyBjbGF1c2UAY2Fubm90IGhhdmUgYm90aCBPTiBhbmQgVVNJTkcgY2xhdXNlcyBpbiB0aGUgc2FtZSBqb2luAGNhbm5vdCBqb2luIHVzaW5nIGNvbHVtbiAlcyAtIGNvbHVtbiBub3QgcHJlc2VudCBpbiBib3RoIHRhYmxlcwAqACVzLiVzLiVzAG5vIHN1Y2ggdGFibGU6ICVzAG5vIHRhYmxlcyBzcGVjaWZpZWQAdG9vIG1hbnkgY29sdW1ucyBpbiByZXN1bHQgc2V0ADAAc3VicXVlcnlfJXUAT04AVVNJTkcAYSBKT0lOIGNsYXVzZSBpcyByZXF1aXJlZCBiZWZvcmUgJXMAdW5yZWNvZ25pemVkIHRva2VuOiAiJS4qcyIAcGFyc2VyIHN0YWNrIG92ZXJmbG93AG5lYXIgIiVUIjogc3ludGF4IGVycm9yAGluY29tcGxldGUgaW5wdXQAJXMgaW4gIiVzIgBST0xMQkFDSwBDT01NSVQAUkVMRUFTRQB1bmtub3duIHRhYmxlIG9wdGlvbjogJS4qcwB0b28gbWFueSBjb2x1bW5zIG9uICVzAGR1cGxpY2F0ZSBjb2x1bW4gbmFtZTogJXMAcGFyYW1ldGVycyBhcmUgbm90IGFsbG93ZWQgaW4gdmlld3MAY29ycnVwdCBkYXRhYmFzZQB1bmtub3duIGRhdGFiYXNlICVUAHZpZXcAdG9vIG1hbnkgdGVybXMgaW4gY29tcG91bmQgU0VMRUNUAHRvbyBtYW55IGNvbHVtbnMgaW4gJXMAc2V0IGxpc3QAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAdG9vIG1hbnkgYXJndW1lbnRzIG9uIGZ1bmN0aW9uICVUAERJU1RJTkNUIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdpbmRvdyBmdW5jdGlvbnMAc3ludGF4IGVycm9yIGFmdGVyIGNvbHVtbiBuYW1lICIlLipzIgBubyBzdWNoIGluZGV4OiAlUwBpbmRleCBhc3NvY2lhdGVkIHdpdGggVU5JUVVFIG9yIFBSSU1BUlkgS0VZIGNvbnN0cmFpbnQgY2Fubm90IGJlIGRyb3BwZWQAdW5hYmxlIHRvIG9wZW4gYSB0ZW1wb3JhcnkgZGF0YWJhc2UgZmlsZSBmb3Igc3RvcmluZyB0ZW1wb3JhcnkgdGFibGVzAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J2luZGV4JwBzcWxpdGVfc3RhdCVkAERFTEVURSBGUk9NICVRLiVzIFdIRVJFICVzPSVRAHRyaWdnZXIASU5TRVJUIElOVE8gJVEuJXMgVkFMVUVTKCd0cmlnZ2VyJywlUSwlUSwwLCdDUkVBVEUgVFJJR0dFUiAlcScpAHR5cGU9J3RyaWdnZXInIEFORCBuYW1lPSclcScAdGVtcG9yYXJ5IHRyaWdnZXIgbWF5IG5vdCBoYXZlIHF1YWxpZmllZCBuYW1lAGNhbm5vdCBjcmVhdGUgdHJpZ2dlcnMgb24gdmlydHVhbCB0YWJsZXMAdHJpZ2dlciAlVCBhbHJlYWR5IGV4aXN0cwBzcWxpdGVfAGNhbm5vdCBjcmVhdGUgdHJpZ2dlciBvbiBzeXN0ZW0gdGFibGUAQkVGT1JFAEFGVEVSAGNhbm5vdCBjcmVhdGUgJXMgdHJpZ2dlciBvbiB2aWV3OiAlUwBjYW5ub3QgY3JlYXRlIElOU1RFQUQgT0YgdHJpZ2dlciBvbiB0YWJsZTogJVMAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAbm8gc3VjaCB0cmlnZ2VyOiAlUwB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAdGhlcmUgaXMgYWxyZWFkeSBhbm90aGVyIHRhYmxlIG9yIGluZGV4IHdpdGggdGhpcyBuYW1lOiAlcwB2aWV3ICVzIG1heSBub3QgYmUgYWx0ZXJlZABVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsICVkKSBXSEVSRSAodHlwZSE9J2luZGV4JyBPUiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSlBTkQgICBuYW1lIE5PVCBMSUtFICdzcWxpdGVfJSUnAFVQREFURSAlUS4lcyBTRVQgdGJsX25hbWUgPSAlUSwgbmFtZSA9IENBU0UgV0hFTiB0eXBlPSd0YWJsZScgVEhFTiAlUSBXSEVOIG5hbWUgTElLRSAnc3FsaXRlX2F1dG9pbmRleCUlJyBBTkQgdHlwZT0naW5kZXgnIFRIRU4gJ3NxbGl0ZV9hdXRvaW5kZXhfJyB8fCAlUSB8fCBzdWJzdHIobmFtZSwlZCsxOCkgRUxTRSBuYW1lIEVORCBXSEVSRSB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgKHR5cGU9J3RhYmxlJyBPUiB0eXBlPSdpbmRleCcgT1IgdHlwZT0ndHJpZ2dlcicpOwBzcWxpdGVfc2VxdWVuY2UAVVBEQVRFICIldyIuc3FsaXRlX3NlcXVlbmNlIHNldCBuYW1lID0gJVEgV0hFUkUgbmFtZSA9ICVRAFVQREFURSBzcWxpdGVfdGVtcF9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAxKSwgdGJsX25hbWUgPSBDQVNFIFdIRU4gdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UgQU5EICAgICAgICAgICBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgMSkgVEhFTiAlUSBFTFNFIHRibF9uYW1lIEVORCBXSEVSRSB0eXBlIElOICgndmlldycsICd0cmlnZ2VyJykAU0VMRUNUIDEgRlJPTSAiJXciLiVzIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAlZCk9TlVMTCAAU0VMRUNUIDEgRlJPTSB0ZW1wLiVzIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKT1OVUxMIABDYW5ub3QgYWRkIGEgUFJJTUFSWSBLRVkgY29sdW1uAENhbm5vdCBhZGQgYSBVTklRVUUgY29sdW1uAENhbm5vdCBhZGQgYSBSRUZFUkVOQ0VTIGNvbHVtbiB3aXRoIG5vbi1OVUxMIGRlZmF1bHQgdmFsdWUAQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABDYW5ub3QgYWRkIGEgY29sdW1uIHdpdGggbm9uLWNvbnN0YW50IGRlZmF1bHQAVVBEQVRFICIldyIuJXMgU0VUIHNxbCA9IHN1YnN0cihzcWwsMSwlZCkgfHwgJywgJyB8fCAlUSB8fCBzdWJzdHIoc3FsLCVkKSBXSEVSRSB0eXBlID0gJ3RhYmxlJyBBTkQgbmFtZSA9ICVRAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgYWx0ZXJlZABDYW5ub3QgYWRkIGEgY29sdW1uIHRvIGEgdmlldwBzcWxpdGVfYWx0ZXJ0YWJfJXMAdmlydHVhbCB0YWJsZQBjYW5ub3QgcmVuYW1lIGNvbHVtbnMgb2YgJXMgIiVzIgBubyBzdWNoIGNvbHVtbjogIiVzIgBVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV9jb2x1bW4oc3FsLCB0eXBlLCBuYW1lLCAlUSwgJVEsICVkLCAlUSwgJWQsICVkKSBXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVfJSUnIEFORCAodHlwZSAhPSAnaW5kZXgnIE9SIHRibF9uYW1lID0gJVEpIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnAFVQREFURSB0ZW1wLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgMSkgV0hFUkUgdHlwZSBJTiAoJ3RyaWdnZXInLCAndmlldycpAFJBTkdFIG11c3QgdXNlIG9ubHkgVU5CT1VOREVEIG9yIENVUlJFTlQgUk9XAHVuc3VwcG9ydGVkIGZyYW1lIGRlbGltaXRlciBmb3IgUk9XUwBkdXBsaWNhdGUgV0lUSCB0YWJsZSBuYW1lOiAlcwBDUkVBVEUgVklSVFVBTCBUQUJMRSAlVABVUERBVEUgJVEuJXMgU0VUIHR5cGU9J3RhYmxlJywgbmFtZT0lUSwgdGJsX25hbWU9JVEsIHJvb3RwYWdlPTAsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAbmFtZT0nJXEnIEFORCB0eXBlPSd0YWJsZScAdGFibGUgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAHNxbGl0ZVxfJQBCQkIAc3RhdF9nZXQAJWxsdQAgJWxsdQBzdGF0X3B1c2gAc3RhdF9pbml0AENSRUFURSBUQUJMRSAlUS4lcyglcykAdGJsLGlkeCxzdGF0AHNxbGl0ZV9zdGF0MwBzcWxpdGVfc3RhdDQAaW5kZXggJyVxJwAsIABVU0lORyBST1dJRCBTRUFSQ0ggT04gVEFCTEUgJXMgRk9SIElOLU9QRVJBVE9SAFVTSU5HIElOREVYICVzIEZPUiBJTi1PUEVSQVRPUgBDT1JSRUxBVEVEIAAlc0xJU1QgU1VCUVVFUlkAJXNTQ0FMQVIgU1VCUVVFUlkAc3ViLXNlbGVjdCByZXR1cm5zICVkIGNvbHVtbnMgLSBleHBlY3RlZCAlZABzcWxpdGVfZGV0YWNoAG5vIHN1Y2ggZGF0YWJhc2U6ICVzAGNhbm5vdCBkZXRhY2ggZGF0YWJhc2UgJXMAZGF0YWJhc2UgJXMgaXMgbG9ja2VkAHNxbGl0ZV9hdHRhY2gAdG9vIG1hbnkgYXR0YWNoZWQgZGF0YWJhc2VzIC0gbWF4ICVkAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAGRhdGFiYXNlIGlzIGFscmVhZHkgYXR0YWNoZWQAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2U6ICVzAGZpbGU6AGxvY2FsaG9zdABpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdmZzAGNhY2hlAG1vZGUAbm8gc3VjaCAlcyBtb2RlOiAlcwAlcyBtb2RlIG5vdCBhbGxvd2VkOiAlcwBubyBzdWNoIHZmczogJXMAcm8AcncAcndjAHNoYXJlZABwcml2YXRlAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J3RyaWdnZXInAG9iamVjdCBuYW1lIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2U6ICVzACVzICVUIGNhbm5vdCByZWZlcmVuY2Ugb2JqZWN0cyBpbiBkYXRhYmFzZSAlcwAlcyBjYW5ub3QgdXNlIHZhcmlhYmxlcwAtJVQAZmFzdABleGNsdXNpdmUAbm9ybWFsAG5vbmUAZnVsbABpbmNyZW1lbnRhbAB0ZW1wb3Jhcnkgc3RvcmFnZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBTYWZldHkgbGV2ZWwgbWF5IG5vdCBiZSBjaGFuZ2VkIGluc2lkZSBhIHRyYW5zYWN0aW9uAGlzc2lzaQBpc3Npc2lpAGlpc1gAaXNpWABpc2lzaQBpc3MAaXMATk8gQUNUSU9OAFJFU1RSSUNUAENBU0NBREUAU0VUIERFRkFVTFQAU0VUIE5VTEwAaWlzc3Nzc3MATk9ORQBzaVgAJV8AACoqKiBpbiBkYXRhYmFzZSAlcyAqKioKAE5VTEwgdmFsdWUgaW4gJXMuJXMAQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQgaW4gJXMAcm93IAAgbWlzc2luZyBmcm9tIGluZGV4IABub24tdW5pcXVlIGVudHJ5IGluIGluZGV4IAB3cm9uZyAjIG9mIGVudHJpZXMgaW4gaW5kZXggAG9rAFVURjgAdW5zdXBwb3J0ZWQgZW5jb2Rpbmc6ICVzAAIAAQBrAAAAAgAAAGkAAQBRAQEAcmVzdGFydABBTkFMWVpFICIldyIuIiV3IgBVVEYtOABVVEYtMTZsZQBVVEYtMTZiZQBVVEYxNmxlAFVURjE2YmUAVVRGLTE2AFVURjE2AHVua25vd24gZGF0YWJhc2U6ICVzAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IHVzZXItZnVuY3Rpb24gZHVlIHRvIGFjdGl2ZSBzdGF0ZW1lbnRzAGZvcmVpZ24ga2V5IG1pc21hdGNoIC0gIiV3IiByZWZlcmVuY2luZyAiJXciAGMAdQBjb3JydXB0IHNjaGVtYQBVUERBVEUgJVEuJXMgU0VUIHJvb3RwYWdlPSVkIFdIRVJFICMlZCBBTkQgcm9vdHBhZ2U9IyVkACVzLnJvd2lkAHRhYmxlICVTIGhhcyBubyBjb2x1bW4gbmFtZWQgJXMAdGFibGUgJVMgaGFzICVkIGNvbHVtbnMgYnV0ICVkIHZhbHVlcyB3ZXJlIHN1cHBsaWVkACVkIHZhbHVlcyBmb3IgJWQgY29sdW1ucwBPTiBDT05GTElDVCBjbGF1c2UgZG9lcyBub3QgbWF0Y2ggYW55IFBSSU1BUlkgS0VZIG9yIFVOSVFVRSBjb25zdHJhaW50AHJvd3MgaW5zZXJ0ZWQAYXQgbW9zdCAlZCB0YWJsZXMgaW4gYSBqb2luAFNDQU4gQ09OU1RBTlQgUk9XAHRvbyBtYW55IGFyZ3VtZW50cyBvbiAlcygpIC0gbWF4ICVkAGFiYnJldmlhdGVkIHF1ZXJ5IGFsZ29yaXRobSBzZWFyY2gAYXV0b21hdGljIGluZGV4IG9uICVzKCVzKQBhdXRvLWluZGV4ABkXFhgAACQgGRYYFygmJSdNVUxUSS1JTkRFWCBPUgAFBCQgU0VBUkNIAFNDQU4AIFNVQlFVRVJZICV1ACBUQUJMRSAlcwAgQVMgJXMASU5ERVggJXMAQ09WRVJJTkcgSU5ERVggJXMAQVVUT01BVElDIENPVkVSSU5HIElOREVYAEFVVE9NQVRJQyBQQVJUSUFMIENPVkVSSU5HIElOREVYAFBSSU1BUlkgS0VZACBVU0lORyAAICgAPGV4cHI+ACBBTkQgAEFOWSglcykAJXM9PwA+ADwAPj8gQU5EIHJvd2lkPAA9ACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZIChyb3dpZCVzPykAIFZJUlRVQUwgVEFCTEUgSU5ERVggJWQ6JXMAKABubyBxdWVyeSBzb2x1dGlvbgAlcy54QmVzdEluZGV4IG1hbGZ1bmN0aW9uAE9OIGNsYXVzZSByZWZlcmVuY2VzIHRhYmxlcyB0byBpdHMgcmlnaHQATk9DQVNFAHJlZ2V4cAAtLSBUUklHR0VSICVzAHRhYmxlICVzIG1heSBub3QgYmUgbW9kaWZpZWQAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwAlZCBjb2x1bW5zIGFzc2lnbmVkICVkIHZhbHVlcwBubyBzdWNoIGNvbHVtbjogJXMAcm93cyB1cGRhdGVkAHJvd3MgZGVsZXRlZAB1bmtub3duIG9yIHVuc3VwcG9ydGVkIGpvaW4gdHlwZTogJVQgJVQlcyVUAFJJR0hUIGFuZCBGVUxMIE9VVEVSIEpPSU5zIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZABleHBlY3RlZCAlZCBjb2x1bW5zIGZvciAnJXMnIGJ1dCBnb3QgJWQATElNSVQAT1JERVIgQlkAJXMgY2xhdXNlIHNob3VsZCBjb21lIGFmdGVyICVzIG5vdCBiZWZvcmUAUwBTQ0FOICVkIENPTlNUQU5UIFJPVyVzAENPTVBPVU5EIFFVRVJZAExFRlQtTU9TVCBTVUJRVUVSWQAlcyBVU0lORyBURU1QIEItVFJFRQBDTy1ST1VUSU5FICV1AE1BVEVSSUFMSVpFICV1AERJU1RJTkNUAEdST1VQIEJZAFVTRSBURU1QIEItVFJFRSBGT1IgJXMAIFVTSU5HIENPVkVSSU5HIElOREVYIABTQ0FOIFRBQkxFICVzJXMlcwBSSUdIVCBQQVJUIE9GIE9SREVSIEJZAERJU1RJTkNUIGFnZ3JlZ2F0ZXMgbXVzdCBoYXZlIGV4YWN0bHkgb25lIGFyZ3VtZW50AGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAZnJhbWUgZW5kaW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAc2Vjb25kIGFyZ3VtZW50IHRvIG50aF92YWx1ZSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcgBNRVJHRSAoJXMpAExFRlQAUklHSFQAY2Fubm90IHVzZSB3aW5kb3cgZnVuY3Rpb25zIGluIHJlY3Vyc2l2ZSBxdWVyaWVzAFNFVFVQAHJlY3Vyc2l2ZSBhZ2dyZWdhdGUgcXVlcmllcyBub3Qgc3VwcG9ydGVkAFJFQ1VSU0lWRSBTVEVQAHNxbGl0ZV9zdGF0AHRhYmxlICVzIG1heSBub3QgYmUgZHJvcHBlZAB1c2UgRFJPUCBUQUJMRSB0byBkZWxldGUgdGFibGUgJXMAdXNlIERST1AgVklFVyB0byBkZWxldGUgdmlldyAlcwBERUxFVEUgRlJPTSAlUS5zcWxpdGVfc2VxdWVuY2UgV0hFUkUgbmFtZT0lUQBERUxFVEUgRlJPTSAlUS4lcyBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAGZvcmVpZ24ga2V5IG9uICVzIHNob3VsZCByZWZlcmVuY2Ugb25seSBvbmUgY29sdW1uIG9mIHRhYmxlICVUAG51bWJlciBvZiBjb2x1bW5zIGluIGZvcmVpZ24ga2V5IGRvZXMgbm90IG1hdGNoIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgcmVmZXJlbmNlZCB0YWJsZQB1bmtub3duIGNvbHVtbiAiJXMiIGluIGZvcmVpZ24ga2V5IGRlZmluaXRpb24AaW5kZXgAY2Fubm90IGNyZWF0ZSBhIFRFTVAgaW5kZXggb24gbm9uLVRFTVAgdGFibGUgIiVzIgBhbHRlcnRhYl8AdGFibGUgJXMgbWF5IG5vdCBiZSBpbmRleGVkAHZpZXdzIG1heSBub3QgYmUgaW5kZXhlZAB2aXJ0dWFsIHRhYmxlcyBtYXkgbm90IGJlIGluZGV4ZWQAdGhlcmUgaXMgYWxyZWFkeSBhIHRhYmxlIG5hbWVkICVzAGluZGV4ICVzIGFscmVhZHkgZXhpc3RzAHNxbGl0ZV9hdXRvaW5kZXhfJXNfJWQAZXhwcmVzc2lvbnMgcHJvaGliaXRlZCBpbiBQUklNQVJZIEtFWSBhbmQgVU5JUVVFIGNvbnN0cmFpbnRzAGNvbmZsaWN0aW5nIE9OIENPTkZMSUNUIGNsYXVzZXMgc3BlY2lmaWVkACBVTklRVUUAQ1JFQVRFJXMgSU5ERVggJS4qcwBJTlNFUlQgSU5UTyAlUS4lcyBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwB0YWJsZSAiJXMiIGhhcyBtb3JlIHRoYW4gb25lIHByaW1hcnkga2V5AEFVVE9JTkNSRU1FTlQgaXMgb25seSBhbGxvd2VkIG9uIGFuIElOVEVHRVIgUFJJTUFSWSBLRVkAZGVmYXVsdCB2YWx1ZSBvZiBjb2x1bW4gWyVzXSBpcyBub3QgY29uc3RhbnQAQVVUT0lOQ1JFTUVOVCBub3QgYWxsb3dlZCBvbiBXSVRIT1VUIFJPV0lEIHRhYmxlcwBQUklNQVJZIEtFWSBtaXNzaW5nIG9uIHRhYmxlICVzAFRBQkxFAFZJRVcACiAgACwKICAACikAQ1JFQVRFIFRBQkxFIABDUkVBVEUgJXMgJS4qcwBVUERBVEUgJVEuJXMgU0VUIHR5cGU9JyVzJywgbmFtZT0lUSwgdGJsX25hbWU9JVEsIHJvb3RwYWdlPSMlZCwgc3FsPSVRIFdIRVJFIHJvd2lkPSMlZABDUkVBVEUgVEFCTEUgJVEuc3FsaXRlX3NlcXVlbmNlKG5hbWUsc2VxKQB0YmxfbmFtZT0nJXEnIEFORCB0eXBlIT0ndHJpZ2dlcicAIFRFWFQAIE5VTQAgSU5UACBSRUFMAHRlbXBvcmFyeSB0YWJsZSBuYW1lIG11c3QgYmUgdW5xdWFsaWZpZWQAAgQIBnRhYmxlICVUIGFscmVhZHkgZXhpc3RzAHRoZXJlIGlzIGFscmVhZHkgYW4gaW5kZXggbmFtZWQgJXMABgAAAAAAQgBDAEQARQBtaXN1c2Ugb2YgYWdncmVnYXRlOiAlcygpAHVua25vd24gZnVuY3Rpb246ICVzKCkAUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQAweABoZXggbGl0ZXJhbCB0b28gYmlnOiAlcyVzACIldyIAZmFpbGVkIG1lbW9yeSByZXNpemUgJXUgdG8gJXUgYnl0ZXMAZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzIG9mIG1lbW9yeQBiaW5kIG9uIGEgYnVzeSBwcmVwYXJlZCBzdGF0ZW1lbnQ6IFslc10AY2Fubm90IG9wZW4gdmlydHVhbCB0YWJsZTogJXMAY2Fubm90IG9wZW4gdGFibGUgd2l0aG91dCByb3dpZDogJXMAY2Fubm90IG9wZW4gdmlldzogJXMAZm9yZWlnbiBrZXkAaW5kZXhlZABjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAY2Fubm90IG9wZW4gdmFsdWUgb2YgdHlwZSAlcwBubyBzdWNoIHJvd2lkOiAlbGxkAHRlbXAAdW5hYmxlIHRvIGNsb3NlIGR1ZSB0byB1bmZpbmFsaXplZCBzdGF0ZW1lbnRzIG9yIHVuZmluaXNoZWQgYmFja3VwcwB1bmFibGUgdG8gdXNlIGZ1bmN0aW9uICVzIGluIHRoZSByZXF1ZXN0ZWQgY29udGV4dABSVFJJTQBNQVRDSABhdXRvbWF0aWMgZXh0ZW5zaW9uIGxvYWRpbmcgZmFpbGVkOiAlcwBmdHM0YXV4AHNpbXBsZQBwb3J0ZXIAdW5pY29kZTYxAGZ0czNfdG9rZW5pemVyAHNuaXBwZXQAb2Zmc2V0cwBtYXRjaGluZm8AZnRzMwBmdHM0AGZ0czN0b2tlbml6ZQBDUkVBVEUgVEFCTEUgeChpbnB1dCwgdG9rZW4sIHN0YXJ0LCBlbmQsIHBvc2l0aW9uKQB1bmtub3duIHRva2VuaXplcjogJXMAY29udGVudABkb2NzaXplAHNlZ2RpcgBzZWdtZW50cwAlc19zdGF0AEFMVEVSIFRBQkxFICVRLiclcV9jb250ZW50JyAgUkVOQU1FIFRPICclcV9jb250ZW50JzsAQUxURVIgVEFCTEUgJVEuJyVxX2RvY3NpemUnICBSRU5BTUUgVE8gJyVxX2RvY3NpemUnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc3RhdCcgIFJFTkFNRSBUTyAnJXFfc3RhdCc7AEFMVEVSIFRBQkxFICVRLiclcV9zZWdtZW50cycgUkVOQU1FIFRPICclcV9zZWdtZW50cyc7AEFMVEVSIFRBQkxFICVRLiclcV9zZWdkaXInICAgUkVOQU1FIFRPICclcV9zZWdkaXInOwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwBTRUxFQ1QgbWF4KGxldmVsKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBTRUxFQ1QgKFNFTEVDVCBtYXgoaWR4KSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPykgKyAxAFNFTEVDVCBjb2FsZXNjZSgoU0VMRUNUIG1heChibG9ja2lkKSBGUk9NICVRLiclcV9zZWdtZW50cycpICsgMSwgMSkAREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/AFNFTEVDVCBsZXZlbCwgaWR4LCBlbmRfYmxvY2sgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8gT1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9LTEsaWR4PT8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AVVBEQVRFIE9SIEZBSUwgJVEuJyVxX3NlZ2RpcicgU0VUIGxldmVsPT8gV0hFUkUgbGV2ZWw9LTEAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdkaXInIFZBTFVFUyg/LD8sPyw/LD8sPykAJWxsZCAlbGxkAFJFUExBQ0UgSU5UTyAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQsIGJsb2NrKSBWQUxVRVMoPywgPykAJXNfc2VnbWVudHMAYmxvY2sAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgP09SREVSIEJZIGxldmVsIERFU0MsIGlkeCBBU0MAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBPUkRFUiBCWSBpZHggQVNDAG5vIHN1Y2ggdGFibGUgY29sdW1uOiAlcy4lcwBmdHMzY3Vyc29yAGlsbGVnYWwgZmlyc3QgYXJndW1lbnQgdG8gJXMAcGN4AHVucmVjb2duaXplZCBtYXRjaGluZm8gcmVxdWVzdDogJWMAU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgPSA/AFNBVkVQT0lOVCBmdHMzAFJFTEVBU0UgZnRzMwBST0xMQkFDSyBUTyBmdHMzAEluZGV4IG9wdGltaXplZABJbmRleCBhbHJlYWR5IG9wdGltYWwAU0VMRUNUID8gVU5JT04gU0VMRUNUIGxldmVsIC8gKDEwMjQgKiA/KSBGUk9NICVRLiclcV9zZWdkaXInACVkICVkICVkICVkIAB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIHNuaXBwZXQoKQA8Yj4uLi48L2I+ADwvYj4APGI+AFNFTEVDVCBtYXgoIGxldmVsICUlIDEwMjQgKSBGUk9NICVRLiclcV9zZWdkaXInAFNFTEVDVCBsZXZlbCwgY291bnQoKikgQVMgY250IEZST00gJVEuJyVxX3NlZ2RpcicgICBHUk9VUCBCWSBsZXZlbCBIQVZJTkcgY250Pj0/ICBPUkRFUiBCWSAobGV2ZWwgJSUgMTAyNCkgQVNDIExJTUlUIDEAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBTRUxFQ1QgMSBGUk9NICVRLiclcV9zZWdtZW50cycgV0hFUkUgYmxvY2tpZD0/IEFORCBibG9jayBJUyBOVUxMAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4IDwgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBzdGFydF9ibG9jayA9ID8sIHJvb3QgPSA/V0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFNFTEVDVCBpZHggRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbD0/IE9SREVSIEJZIDEgQVNDAFVQREFURSAlUS4nJXFfc2VnZGlyJyBTRVQgaWR4ID0gPyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAHJlYnVpbGQAU0VMRUNUICVzAGludGVncml0eS1jaGVjawBtZXJnZT0AQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJVEuJyVxX3N0YXQnKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHZhbHVlIEJMT0IpOwBhdXRvbWVyZ2U9AElOU0VSVCBJTlRPICVRLiclcV9jb250ZW50JyBWQUxVRVMoJXMpAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCA9ID8AU0VMRUNUIE5PVCBFWElTVFMoU0VMRUNUIGRvY2lkIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkIT0/KQBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcAREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScAREVMRVRFIEZST00gJVEuJyVxX3N0YXQnAFNFTEVDVCAlcyBXSEVSRSByb3dpZD0/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQgPSA/AFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykARlRTIGV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAG1hbGZvcm1lZCBNQVRDSCBleHByZXNzaW9uOiBbJXNdAEFTQwBERVNDAFNFTEVDVCAlcyBXSEVSRSByb3dpZCBCRVRXRUVOICVsbGQgQU5EICVsbGQgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIE9SREVSIEJZIHJvd2lkICVzAE9SAEFORABOT1QATkVBUgBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCcARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ21lbnRzJwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc2VnZGlyJwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfZG9jc2l6ZScARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3N0YXQnAHRva2VuaXplAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAGFzYwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBwYXJhbWV0ZXI6ICVzAFNFTEVDVCAqIEZST00gJVEuJVEAZXJyb3IgcGFyc2luZyBwcmVmaXggcGFyYW1ldGVyOiAlcwBjb21wcmVzcwB1bmNvbXByZXNzAG1pc3NpbmcgJXMgcGFyYW1ldGVyIGluIGZ0czQgY29uc3RydWN0b3IAZG9jaWQALCVzKHguJ2MlZCVxJykALCB4LiVRAGxhbmdpZAAsIHguJyVxJwBfY29udGVudAAgRlJPTSAnJXEnLiclcSVzJyBBUyB4ACwlcyg/KQAsID8AZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQAleiwgJ2MlZCVxJwAleiwgbGFuZ2lkAENSRUFURSBUQUJMRSAlUS4nJXFfY29udGVudCcoJXMpAENSRUFURSBUQUJMRSAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQgSU5URUdFUiBQUklNQVJZIEtFWSwgYmxvY2sgQkxPQik7AENSRUFURSBUQUJMRSAlUS4nJXFfc2VnZGlyJyhsZXZlbCBJTlRFR0VSLGlkeCBJTlRFR0VSLHN0YXJ0X2Jsb2NrIElOVEVHRVIsbGVhdmVzX2VuZF9ibG9jayBJTlRFR0VSLGVuZF9ibG9jayBJTlRFR0VSLHJvb3QgQkxPQixQUklNQVJZIEtFWShsZXZlbCwgaWR4KSk7AENSRUFURSBUQUJMRSAlUS4nJXFfZG9jc2l6ZScoZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc2l6ZSBCTE9CKTsAUFJBR01BICVRLnBhZ2Vfc2l6ZQBfX2xhbmdpZAAlUSwgACV6JVEsIABDUkVBVEUgVEFCTEUgeCglcyAlUSBISURERU4sIGRvY2lkIEhJRERFTiwgJVEgSElEREVOKQBwcmVmaXgAb3JkZXIAbGFuZ3VhZ2VpZABub3RpbmRleGVkAHVua25vd24gdG9rZW5pemVyAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAZnRzM3Rva2VuaXplIGRpc2FibGVkAHJlbW92ZV9kaWFjcml0aWNzPTEAcmVtb3ZlX2RpYWNyaXRpY3M9MAB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQBDUkVBVEUgVEFCTEUgeCh0ZXJtLCBjb2wsIGRvY3VtZW50cywgb2NjdXJyZW5jZXMsIGxhbmd1YWdlaWQgSElEREVOKQBpbnZhbGlkIGFyZ3VtZW50cyB0byBmdHM0YXV4IGNvbnN0cnVjdG9yAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IGNvbGxhdGlvbiBzZXF1ZW5jZSBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAL3Byb2Mvc2VsZi9mZC8=";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(i1){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} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.aj|0;var s=env.ak|0;var t=env.al|0;var u=env.am|0;var v=0;var w=0;var x=0;var y=0;var z=global.NaN,A=global.Infinity;var B=0,C=0,D=0,E=0,F=0.0;var G=global.Math.floor;var H=global.Math.abs;var I=global.Math.sqrt;var J=global.Math.pow;var K=global.Math.cos;var L=global.Math.sin;var M=global.Math.tan;var N=global.Math.acos;var O=global.Math.asin;var P=global.Math.atan;var Q=global.Math.atan2;var R=global.Math.exp;var S=global.Math.log;var T=global.Math.ceil;var U=global.Math.imul;var V=global.Math.min;var W=global.Math.max;var X=global.Math.clz32;var Y=env.a;var Z=env.b;var _=env.c;var $=env.d;var aa=env.e;var ba=env.f;var ca=env.g;var da=env.h;var ea=env.i;var fa=env.j;var ga=env.k;var ha=env.l;var ia=env.m;var ja=env.n;var ka=env.o;var la=env.p;var ma=env.q;var na=env.r;var oa=env.s;var pa=env.t;var qa=env.u;var ra=env.v;var sa=env.w;var ta=env.x;var ua=env.y;var va=env.z;var wa=env.A;var xa=env.B;var ya=env.C;var za=env.D;var Aa=env.E;var Ba=env.F;var Ca=env.G;var Da=env.H;var Ea=env.I;var Fa=env.J;var Ga=env.K;var Ha=env.L;var Ia=env.M;var Ja=env.N;var Ka=env.O;var La=env.P;var Ma=env.Q;var Na=env.R;var Oa=env.S;var Pa=env.T;var Qa=env.U;var Ra=env.V;var Sa=env.W;var Ta=env.X;var Ua=env.Y;var Va=env.Z;var Wa=env._;var Xa=env.$;var Ya=env.aa;var Za=env.ab;var _a=env.ac;var $a=env.ad;var ab=env.ae;var bb=env.af;var cb=env.ag;var db=env.ah;var eb=env.ai;var fb=0.0;function gb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)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 Hi(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,mb=0,qb=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,zc=0,Cc=0,Hc=0,Kc=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,vd=0,wd=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,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,_e=0,cf=0,ff=0,jf=0,kf=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,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;ff=Zf+712|0;cf=Zf+704|0;of=Zf+696|0;_e=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;nf=Zf+544|0;mf=Zf+536|0;kf=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;jf=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;zc=a+164|0;Cc=Td+8|0;Hc=Td+10|0;Kc=Td+4|0;Mc=Td+8|0;Nc=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;mb=Jf+16|0;qb=Jf+12|0;sb=Yf+165|0;tb=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 Oi(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 Oi(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 Oi(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{Oi(g)|0;q=g}b[m>>0]=72;r=m+16|0;o=f[r>>2]|0;if(!o)g=0;else g=(zt(o)|0)&1073741823;s=m+4|0;f[s>>2]=g;if(!cb){c=Ze(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(Pi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ge);break}else{ta=hb[f[28696>>2]&127](ge)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{Oi(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 af(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 Oi(g)|0;Ze(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){Qi(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))df(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(bf(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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 Qi(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(bf(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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){Qi(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{$e(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{af(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(bf(r,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(bf(w,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(Ri(r,Fd,0)|0){g=Qf;c=Rf;ta=3954;break a}g=d[s>>1]|0}if((g&18)==0?Ri(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(bf(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;$u(f[sa>>2]|0,f[g>>2]|0,f[s>>2]|0)|0;g=sa}$u((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=Si(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=Si(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=Ou(-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=Ou(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=Nu(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=Nu(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=Ou(0,0,q|0,g|0)|0;qa=ba()|0;ra=Ou(-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=Ou(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=Ou(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=Ou(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=Vu(-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=Ru(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=Ru(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=Ou(0,0,o|0,r|0)|0;qa=ba()|0;ra=Ou(0,0,q|0,g|0)|0;ra=Ru(-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=Tu(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=Ru(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=Uu(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=+Fc(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=+Fc(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=+((Uu(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=Dc(u)|0;o=ba()|0;sa=Nu(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{af(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{$e(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{af(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=Dc(+p[s>>3])|0;g=ba()|0;break}if(!(g&18)){o=0;g=0}else{o=Ec(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=Dc(+p[x>>3])|0;w=ba()|0;break}if(!(q&18)){r=0;w=0}else{r=Ec(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=Ou(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=Zu(o|0,g|0,r|0)|0;g=ba()|0;break h}else{o=Yu(o|0,g|0,r|0)|0;sa=ba()|0;ra=(g|0)<0;qa=Ou(64,0,r|0,q|0)|0;ba()|0;qa=Zu(-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=Dc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Ec(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=Nu(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=Dc(v)|0;q=ba()|0;sa=Nu(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(!(gf(f[q>>2]|0,Jf,f[g>>2]|0,o)|0))g=d[w>>1]|0;else{if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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=+Fc(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(!(bf(q,(sa|0)>1?sa:1,1)|0)){bv((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;Ti(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(gf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0){if(!(hf(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(!(gf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0))o=d[D>>1]|0;else{if(!(hf(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)){Ri(A,Fd,1)|0;g=(r&49663|d[B>>1]&15872)&65535}if((x&2|0)!=0|(x&12|0)==0)ta=364;else{Ri(z,Fd,1)|0;o=(x&49663|d[D>>1]&15872)&65535;ta=364}}else ta=364;if((ta|0)==364){ta=0;r=lf(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=34002+((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=34008+q|0}if((ta|0)==371){ta=0;w=r;q=34014+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=Ij(a,g)|0;ob[sa&127](f[Hf>>2]|0,g);if(!g)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}if((f[Kb>>2]|0)<=1){kb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;break}f[Fe>>2]=g;g=Gg(Yf,35425,Fe)|0;kb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}}while(0);r=m+4|0;g=f[r>>2]|0;if((g|0)>=(f[7228]|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=lf(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=lf(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=+Fc(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=+Fc(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?34020:34029)+(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=+Fc(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{$e(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{af(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=+Fc(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{$e(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 af(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=Dc(+p[r>>3])|0;o=ba()|0;break}if(!(g&18)){g=0;o=0}else{g=Ec(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=+Fc(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=+Fc(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{af(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=Vi(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=Ui(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{af(I);break j}}else{sa=f[o+40>>2]|0;mh(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=Rh(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=Wi(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[7792+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=Rh(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[7792+y>>0]|0}if((ta|0)==528)x=(y+-12|0)>>>1;z=0}B=Nu(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}df(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){df(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{af(I);break}}g=f[m+16>>2]|0;c=ua+(F*40|0)+8|0;if(d[c>>1]&9216){Qi(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)af(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){Xi(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(bf(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}$u(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[30364+((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[7792+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=Wi(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}Xi(c,r,I)|0;d[s>>1]=d[s>>1]&-4097;break k}while(0);Xi(55328,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=Dc(v)|0;o=ba()|0;sa=Nu(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,gf(f[Yd>>2]|0,Jf,f[Zd>>2]|0,Xd)|0):0){if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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)){Ri(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=Dc(v)|0;o=ba()|0;sa=Nu(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,gf(f[$d>>2]|0,Jf,f[ae>>2]|0,_d)|0):0){do if(!(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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)){Ri(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=Xu(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=Nu(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=Nu(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(bf(D,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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=Nu(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=Yu(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=Xu(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=Nu(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=Nu(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(bf(C,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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=Nu(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=Yu(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=Yu(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=Yu(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=Nu(s|0,z|0,w|0,r|0)|0;g=Nu(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(bf(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=Yu(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=Yi(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[7792+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=Yu(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=Yi(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 $u(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=Zi(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=Nu((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=Nu(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)){$g(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=_i(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=_i(sa,c,z,I,h[F>>0]|0)|0}if(c){r=Qf;q=Rf;ta=3925;break a}}c=Zi(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 Oi(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=(zt(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=ib[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=Bc(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;$u(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=Nu(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((rg(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=Zh(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=Jg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Kg(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=Jg(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=Kg(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=Ig(c,0,0)|0,uf|0):0){r=Qf;q=Rf;c=uf;ta=3925;break a}c=Jg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Kg(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=Ig(c,0,0)|0,tf|0):0){r=Qf;q=Rf;c=tf;ta=3925;break a}c=Jg(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=Kg(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);Th(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{sa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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=ib[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=ib[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=ib[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=Ji(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=ib[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=Ni(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 Oi(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=Lg(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=Mg(g)|0;ta=974;break}else{c=Ng(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){Bg(a,g);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(o|0)){if(bf(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=$i(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){Bg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=aj(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=Ji(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=$i(f[q>>2]|0,1,4,0,f[o>>2]|0)|0;b[w+4>>0]=1}else{c=bj(f[q>>2]|0,Jf,(d[s>>1]|2)&65535)|0;if(!c)c=$i(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){Bg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=Bc(Yf,r,0)|0}if(!w){ta=1062;break c}bv(w|0,0,r|0)|0;f[s+40>>2]=w;sa=w+136|0;f[w+28>>2]=sa;$u(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[7215]|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=Tu((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[7165]|0)==0):0){f[w+52>>2]=g;sa=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](g)|0;break}o=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](o)|0;if(!c){c=0;break}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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){Bg(a,q);f[(f[tc>>2]|0)+(r<<2)>>2]=0}if((f[g+24>>2]|0)<(o|0)){if(bf(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]=56246;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 117:{z=m+4|0;Bg(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=cj(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(!(gf(f[q>>2]|0,Jf,f[r>>2]|0,o)|0))o=d[w>>1]|0;else{if(!(hf(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=Dc(+p[x>>3])|0;r=ba()|0;break}if(!(o&18)){q=0;r=0}else{q=Ec(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=cj(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=dj(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=ej(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=Dc(v)|0;q=ba()|0;ta=Nu(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(!(gf(f[r>>2]|0,Jf,f[g>>2]|0,q)|0))g=d[x>>1]|0;else{if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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 Oi(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=Nu(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 Oi(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=gj(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;mh(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=Nu(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=Dc(+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=Ec(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=Nu(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{xd(8,Jf);r=Jf;r=Nu(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=cj(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=hj(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)rb[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;mh(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=ij(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;rb[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[7160]|0)){c=hb[f[28684>>2]&127](q)|0;ta=1309;break}o=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](o)|0;if(!c){ta=1310;break c}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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}fj(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(!(jj(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(bf(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;$u(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{Oi(c)|0;q=c}c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;mh(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=Wi(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(bf(q,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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 Oi(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=Vi(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);mh(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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}while(0);s=f[x>>2]|0;x:do if(!s)o=0;else{w=(zt(s)|0)+1|0;y:do if(!r){sa=Nu(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[7160]|0)){o=hb[f[28684>>2]&127](w)|0;ta=1390;break}o=hb[f[28700>>2]&127](w)|0;if((f[14058]|0)>>>0>>0)f[14058]=w;r=55352;q=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&q>>>0>0){sa=f[14051]|0;ra=Ou(q|0,r|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}o=hb[f[28684>>2]&127](o)|0;if(!o){o=0;break x}q=hb[f[28696>>2]&127](o)|0;q=(f[14051]|0)+q|0;f[14051]=q;if(q>>>0>(f[14055]|0)>>>0)f[14055]=q;q=(f[14054]|0)+1|0;f[14054]=q;if(q>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(r,w,0)|0;ta=1390}while(0);if((ta|0)==1390){ta=0;if(!o){o=0;break}}$u(o|0,s|0,w|0)|0}while(0);f[Of>>2]=o;o=f[x>>2]|0;do if(o|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=gj(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=kj(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=Tu(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=Zu(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=Yu(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=Yu(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[7920+((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[zc>>2]=(f[zc>>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=pj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ta=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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(bf(g,(sa|0)>1?sa:1,1)|0){c=7;ta=2145;break c}bv((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{Rh(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=Yu(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[13840]|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=mj(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=Lc(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=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g){c=7;ta=2145;break c}}else{q=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0>>0)f[14058]=r;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](q)|0;if(!g){c=7;ta=2145;break c}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=o}while(0);f[g+4>>2]=f[C>>2];o=C}$u(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=hj(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[Cc>>1]=f[m+12>>2];b[Hc>>0]=0;f[Kc>>2]=ua+((f[m+8>>2]|0)*40|0);c=cj(o,Td,0,0,0,Jf)|0;if(c|0){ta=2150;break c}if((f[Jf>>2]|0)==0?(re=ij(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=Vi(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{af(ua+(c*40|0)|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}}c=f[c>>2]|0;mh(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=Wi(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){Rh(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{Rh(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[7792+g>>0]|0;q=f[Db>>2]|0;if(q>>>0<(c+o|0)>>>0){ta=2177;break c}Xi((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))df(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 Oi(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[Mc>>1]=f[m+16>>2];b[Nc>>0]=((C&255)<39)<<31>>31;f[Oc>>2]=ua+((f[m+12>>2]|0)*40|0);o=f[o+40>>2]|0;mh(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=Wi(o,0,c,Jf)|0;if(c|0){ta=2198;break c}c=f[qb>>2]|0;g=f[mb>>2]|0}else{f[mb>>2]=g;d[La>>1]=4112;f[qb>>2]=c}c=jj(c,g,Td,0)|0;if(!((d[La>>1]&9216)==0&(f[Na>>2]|0)==0))df(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{Oi(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=kb[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=Ig(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=qj(o,s,0,0)|0;if(c|0){ta=2223;break c}if(!(b[x+17>>0]|0)){c=rj(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)){$g(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=rj(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)){$g(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)){$g(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=kb[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=Kh(x,o,1,0,s,0)|0;do if(o|0){g=f[o+72>>2]|0;if(!(d[g+28>>1]&32)){$g(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=kb[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=rj(c,o,w)|0;g=f[g>>2]|0;if(!(d[g+28>>1]&32))$g(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=Lg(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=Mg(q)|0;ta=2270;break}else{wd=Ng(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=Ig(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,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)==(r|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=qj(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=Nu(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){_h(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=Ig(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,zd=f[(f[o>>2]|0)+8>>2]|0,zd|0):0){c=zd;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=qj(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 Oi(g)|0;f[Jf>>2]=0;c=bj(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=sj(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)){Uh(f[(f[Lf>>2]|0)+(c<<4)+12>>2]|0);f[yf>>2]=f[yf>>2]&-9;c=oi(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]=34444;f[Re+8>>2]=g;g=Gg(Yf,34380,Re)|0;if(!g){ta=2354;break c}b[sb>>0]=1;f[tb>>2]=0;c=sj(Yf,g,75,Jf,0)|0;do if(!c){c=f[tb>>2]|0;if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else{if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);b[sb>>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=uj(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=ng((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){fg(Yf,g);break}ra=g+32|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa)fg(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=ng((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)gg(Yf,g);g=f[q+40>>2]|0;if(g|0)hg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ue);break}else{sa=hb[f[28696>>2]&127](ue)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ue);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(Yf,g);g=f[q+40>>2]|0;if(g|0)hg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ve);break}else{sa=hb[f[28696>>2]&127](ve)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ve);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ng((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=55580;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=55580;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];ig(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[y>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{sa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{sa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);break}}else{ig(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+4>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{sa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{sa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g)ta=2578}else{q=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0<=g>>>0)f[14058]=r;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](q)|0;if(g){o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0>(f[14060]|0)>>>0)f[14060]=o}else ta=2578}if((ta|0)==2578){f[Wc>>2]=0;f[Uc>>2]=1;ta=2639;break}bv(g|0,0,r|0)|0;f[Wc>>2]=g;x=B+32|0;r=f[x>>2]|0;if((f[13883]|0)>=(r|0)?(we=f[13889]|0,(we|0)!=0):0){f[13889]=f[we>>2];sa=f[13890]|0;f[13890]=sa+-1;f[13891]=(sa|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=r;g=(f[14052]|0)+1|0;f[14052]=g;if(g>>>0>(f[14056]|0)>>>0){f[14056]=g;g=we}else g=we}else ta=2585;R:do if((ta|0)==2585){ta=0;sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g)break S}else{g=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0>>0)f[14058]=r;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g)break S;o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=o}while(0);o=hb[f[28696>>2]&127](g)|0;if((f[14059]|0)>>>0>>0)f[14059]=r;o=(f[14053]|0)+o|0;f[14053]=o;if(o>>>0<=(f[14057]|0)>>>0)break R;f[14057]=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]=34458;q=B+12|0;w=f[(f[q>>2]|0)+56>>2]|0;vj(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)wj(be,34519,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;wj(be,34474,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=ph(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;wj(be,34603,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;wj(be,34574,Ue)}g=f[q>>2]|0}else g=r;xj(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=Xu(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;wj(be,34657,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;wj(be,34679,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[Cd>>2]=f[13889];f[13889]=Cd;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break U}else{g=hb[f[28696>>2]&127](Cd)|0;break}else g=hb[f[28696>>2]&127](Cd)|0;while(0);f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](Cd);break}else{sa=hb[f[28696>>2]&127](Cd)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Cd);break}}while(0);g=f[Wc>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ta=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 af(E);if(!r){if(!g){g=Qf;c=Rf;ta=3954;break a}qa=s+-1|0;ra=F;qa=Ou(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;Ze(E,g,-1,1,94)|0}if((d[o>>1]&2)!=0?(b[ua+(D*40|0)+10>>0]|0)!=Fd<<24>>24:0){Pi(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?yj(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=Bc(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;bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{$e(g,x,y);ta=22;break d}}while(0);if(!(g&9216)){d[E>>1]=1;ta=21;break d}else{af(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?yj(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)){bv(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;Aj(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=zj(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=Bc(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=zj(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=Bc(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=Bc(Yf,w,q)|0}if(!A){g=Qf;c=Rf;ta=3954;break a}bv(A|0,0,w|0)|0;if(!((d[r>>1]&9216)==0?!(f[ua+(x*40|0)+24>>2]|0):0))df(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]=95;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;bv(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 Oi(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){Qi(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=Nu(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=Nu(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=Nu(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=Dc(+p[x>>3])|0;q=ba()|0;break}if(!(r&18)){o=0;q=0}else{o=Ec(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=Dc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Ec(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=Ou(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 Oi(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=Ou(-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=Nu(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=Nu(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=Nu(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=Bc(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;nb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{sa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 af(g);f[Jf>>2]=g;f[vb>>2]=r;f[wb>>2]=o;nb[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){Pi(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=Cj(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 $e(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 $e(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 $e(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 Oi(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=56244;if((o|0)==5)if(((q|0)!=0?((zt(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)Dj(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=ib[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=kb[f[c+32>>2]&127](c,f[B+220>>2]|0,0,Jf)|0;if((c|0)==0&(f[Jf>>2]|0)!=0)c=Mi(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=ib[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))ib[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=ci(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))ib[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);Dj(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=Ji(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=Ji(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=Lg(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=Mg(o)|0;ta=3092;break}else{ud=Ng(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=Dj(B,q?C:o)|0;d[g+8>>1]=2562;if((o|0)==6){f[g+16>>2]=0;o=0}else{o=f[7936+(o<<2)>>2]|0;f[g+16>>2]=o;o=(zt(o)|0)&1073741823}f[g+12>>2]=o;b[g+10>>0]=1;if(!cb)Pi(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=Ej(Yf,Of,34897)|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(!(Eg(A,0)|0))Fg(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[7193]|0;q=f[g+44>>2]|0;if((c|0)<=-1){ra=Tu(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=Ru(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}ob[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=Tu(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=Ru(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=Tu(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=Ru(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=Ej(Yf,Of,34918)|0;if(!c){c=Ji(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3172;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3172}while(0);do if((ta|0)==3172){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=gh(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3189;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3189}while(0);do if((ta|0)==3189){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=gh(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[ff>>2]=x;c=Fj(Yf,Of,34924,ff)|0;if(c|0){q=C;g=D;break}f[xe>>2]=x;c=Fj(Yf,Of,35032,xe)|0;if(c|0){q=C;g=D;break}b[Hb>>0]=0;f[ye>>2]=x;c=Fj(Yf,Of,35086,ye)|0;f[yf>>2]=f[yf>>2]&-5;if(c|0){q=C;g=D;break}f[ze>>2]=x;c=Fj(Yf,Of,35237,ze)|0;if(c|0){q=C;g=D;break}g=0;do{o=h[35367+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[35367+(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=Lg(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=Mg(s)|0;ta=3216;break}else{vd=Ng(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=Tu(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=jb[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;Gj(Jf,2147483647)|0;c=Hj(Jf)|0;if(c|0){g=f[f[(f[mc>>2]|0)+4>>2]>>2]|0;if(b[g+12>>0]|0)break;hh(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=Eg(A,0)|0;if(c|0){q=C;g=D;break ja}c=Fg(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3244;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3244}while(0);do if((ta|0)==3244){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);g=w+32|0;c=gh(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;gh(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;$h(f[sa>>2]|0);f[sa>>2]=0;f[q+12>>2]=0}Th(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=Ig(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=yh(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=Lg(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=Mg(g)|0;break}else{c=Ng(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[7160]|0)){c=hb[f[28684>>2]&127](16)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}}else{c=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Jc(Yf,c,o,q)|0;ta=3342;break}c=Jc(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=hb[o&127](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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;na:do if(!r)g=0;else{s=(zt(r)|0)+1|0;oa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3387;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break na}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3387}while(0);if((ta|0)==3387){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(bf(Jf,(sa|0)>1?sa:1,1)|0){c=7;break}bv((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=ef(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=Gc(Jf,1)|0;ta=3408}}else{g=f[Pb>>2]|0;ta=3408}pa:do if((ta|0)==3408){ta=0;if(g){x=hi(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=55580;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=55580;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=qi(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=Bc(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=Jc(Yf,c,q,r)|0;ta=3446;break ra}while(0);c=Jc(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=Gg(Yf,35406,Ce)|0;f[Of>>2]=c;c=1}}while(0);if(!((d[za>>1]&9216)==0&(f[Rb>>2]|0)==0))df(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=hi(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=hb[f[(f[f[o+4>>2]>>2]|0)+20>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;ta:do if(!r)g=0;else{s=(zt(r)|0)+1|0;ua:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3519;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break ta}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3519}while(0);if((ta|0)==3519){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Bg(a,g);f[(f[tc>>2]|0)+(o<<2)>>2]=0}if((f[c+24>>2]|0)<96){if(bf(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=lb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;va:do if(!r)g=0;else{s=(zt(r)|0)+1|0;wa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3578;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break va}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3578}while(0);if((ta|0)==3578){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}sa=hb[f[z+40>>2]&127](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 af(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 af(z);d[x>>1]=16385;f[z>>2]=0}c=jb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;xa:do if(!r)g=0;else{s=(zt(r)|0)+1|0;ya:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3633;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break xa}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3633}while(0);if((ta|0)==3633){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(z,1)|0;else c=0;f[De>>2]=c;Dg(a,31564,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){Pi(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=hb[f[x+36>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[y>>2]|0;za:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Aa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3695;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break za}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3695}while(0);if((ta|0)==3695)if(!g){g=0;break}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[y>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[y>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}if(!(hb[f[x+40>>2]&127](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=Pi(g,1)|0,qf|0):0){r=Qf;q=Rf;c=qf;ta=3925;break a}c=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;Ba:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Ca:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3745;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break Ba}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3745}while(0);if((ta|0)==3745){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=kb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;Fa:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Ga:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3798;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break Fa}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3798}while(0);if((ta|0)==3798){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Oi(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 Oi(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=Bc(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=Ag(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 Oi(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=Dc(+p[s>>3])|0;q=ba()|0;c=r;break}if(!(c&18)){g=0;q=0;c=r}else{g=Ec(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){Bg(a,q);f[(f[tc>>2]|0)+(s<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=$i(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(bf(o,(sa|0)>1?sa:1,1)|0){ta=1193;break c}bv((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[7160]|0)){c=hb[f[28684>>2]&127](q)|0;ta=1171;break}o=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](o)|0;if(!g){ta=1193;break c}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;fj(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=cj(f[y+40>>2]|0,r,0,0,0,Jf)|0;do if(s|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{ta=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=cj(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=lj(ra+64|0,c)|0;break}}c=mj(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=Zu(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[7225]|0;if((c|0)!=0?(hb[c&127](100)|0)!=0:0){W=0;Y=0}else ta=1463;Ka:do if((ta|0)==1463){ta=0;do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](976)|0;if(!c){W=0;Y=0;break Ka}}else{c=hb[f[28700>>2]&127](976)|0;if((f[14058]|0)>>>0<976)f[14058]=976;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;ia=ba()|0;f[13840]=((ia|0)<0|(ia|0)==0&na>>>0<=oa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){W=0;Y=0;break Ka}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0<=(f[14060]|0)>>>0)break;f[14060]=g}while(0);W=c+16|0;bv(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=nj(ka,(c|0)<16?c:16,Td,be)|0;do if(!c){ea=o+1|0;ca=f[be>>2]|0;c=f[7225]|0;if((c|0)!=0?(hb[c&127](100)|0)!=0:0)ta=1492;else ta=1480;La:do if((ta|0)==1480){ta=0;do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](64)|0;if(!c){ta=1492;break La}else g=c}else{c=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;q=55352;g=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,q|0,c|0,((c|0)<0)<<31>>31|0)|0;da=ba()|0;f[13840]=((da|0)<0|(da|0)==0&na>>>0<=oa>>>0)&1}g=hb[f[28684>>2]&127](c)|0;if(!g){ta=1492;break La}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(r*56|0)+48>>2]|0;do if(c|0){ei(f[c+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](ca);c=7;ca=0;da=0;break}else{c=hb[f[28696>>2]&127](ca)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7225]|0;if(c|0?hb[c&127](100)|0:0){c=7;break Ma}do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](976)|0;if(!c){c=7;break Ma}else g=c}else{c=hb[f[28700>>2]&127](976)|0;if((f[14058]|0)>>>0<976)f[14058]=976;r=55352;g=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,r|0,c|0,((c|0)<0)<<31>>31|0)|0;aa=ba()|0;f[13840]=((aa|0)<0|(aa|0)==0&na>>>0<=oa>>>0)&1}g=hb[f[28684>>2]&127](c)|0;if(!g){c=7;break Ma}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=c}while(0);c=g+16|0;bv(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[7225]|0;if(c|0?hb[c&127](100)|0:0){ta=1628;break}do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](64)|0;if(!c){ta=1640;break Na}}else{c=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;s=55352;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){oa=f[14051]|0;na=Ou(r|0,s|0,c|0,((c|0)<0)<<31>>31|0)|0;$=ba()|0;f[13840]=(($|0)<0|($|0)==0&na>>>0<=oa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){ta=1640;break Na}r=hb[f[28696>>2]&127](c)|0;r=(f[14051]|0)+r|0;f[14051]=r;if(r>>>0>(f[14055]|0)>>>0)f[14055]=r;r=(f[14054]|0)+1|0;f[14054]=r;if(r>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(r*56|0)+48>>2]|0;do if(c|0){ei(f[c+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);c=7;break}else{c=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(_*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);gi(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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127]($);break}else{oa=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127]($);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](da);o=ea;break}else{o=hb[f[28696>>2]&127](da)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=nj(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){ei(f[g+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](W);break}else{oa=hb[f[28696>>2]&127](W)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){ei(f[g+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{ta=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{ta=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{ta=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{ta=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{ta=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{ta=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{ta=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{ta=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](S);ta=2065;break}else{ta=hb[f[28696>>2]&127](S)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](S);ta=2065;break}}else ta=2065;else if((ta|0)==2064){ta=0;c=oj(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=kj(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))pb[f[g+16>>2]&255](s,h[s+25>>0]|0,s+28|0);else pb[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=Gc(c,1)|0;else c=0}else c=0;while(0);f[_e>>2]=c;Dg(a,31564,_e);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{$e(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)){df(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;pb[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=Gc(y,1)|0;else c=0;f[Ee>>2]=c;Dg(a,31564,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)nb[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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}else Ic(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)nb[q&127](f[o+8>>2]|0);f[g>>2]=f[o+16>>2];if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Pi(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(!(hb[Wd&127](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[7776+((c&65535)+-1<<2)>>2];Dg(a,33950,wf);c=f[m+16>>2]|0;if(c|0){f[Cf>>2]=f[Of>>2];f[Cf+4>>2]=c;Yf=Gg(Yf,33971,Cf)|0;f[Of>>2]=Yf}}else{f[xf>>2]=f[m+16>>2];Dg(a,31564,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;yc(ta,33978,Df);ta=43;break}case 148:{c=f[qc>>2]|0;if(!(e>>>0>>0|(c|0)==0)?hb[c&127](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;Dg(a,33198,jf);r=Qf;q=Rf;c=1;ta=3925;break a}if(f[(f[a>>2]|0)+456>>2]|0?f[ld>>2]|0:0)Hg(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(bf(r,(Of|0)>1?Of:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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)ef(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)kb[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]=33143;f[He+4>>2]=85694;f[He+8>>2]=31184;yc(11,31132,He);c=11;ta=579;break}case 580:{g=Qf;c=Rf;ta=3954;break a}case 716:{f[Ie>>2]=33143;f[Ie+4>>2]=67897;f[Ie+8>>2]=31184;yc(11,31132,Ie);r=Qf;q=Rf;c=11;ta=3925;break a}case 719:{f[Je>>2]=33143;f[Je+4>>2]=67897;f[Je+8>>2]=31184;yc(11,31132,Je);r=Qf;q=Rf;c=11;ta=3925;break a}case 729:{Dg(a,34038,Ke);r=Qf;q=Rf;c=5;ta=3925;break a}case 761:{f[Le>>2]=y;Dg(a,34089,Le);r=Qf;q=Rf;c=1;ta=3925;break a}case 763:{Dg(a,34111,Me);r=Qf;q=Rf;c=5;ta=3925;break a}case 767:{f[Uf>>2]=787;b[a+142>>0]=2;Dg(a,33198,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)){Dg(a,(g|0)==0?34304:(c|0)==0?34220:34261,nf);r=Qf;q=Rf;c=1;ta=3925;break a}do if(!c){if(g|0?(f[nd>>2]|0)>0:0){Dg(a,34165,kf);r=Qf;q=Rf;c=5;ta=3925;break a}Wf=f[a>>2]|0;Xf=Wf+464|0;Wf=Wf+472|0;Xf=Nu(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;Dg(a,33198,mf);c=1;break a}else{c=g&255;break}}else{Cg(Yf,516);c=1}while(0);b[sd>>0]=c;if((rg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Xf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Xf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,28,0)|0;ta=942}if((ta|0)==942)if(!c)c=0;else{na=c;g=34352;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{Uh(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]=33143;f[Oe+4>>2]=87331;f[Oe+8>>2]=31184;yc(11,31132,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))df(Td);f[Pe>>2]=33143;f[Pe+4>>2]=80439;f[Pe+8>>2]=31184;yc(11,31132,Pe);c=11;ta=2180;break}case 2191:{f[Qe>>2]=33143;f[Qe+4>>2]=80472;f[Qe+8>>2]=31184;yc(11,31132,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)){$g(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:{Th(Yf);r=Qf;q=Rf;ta=3925;break a}case 2354:{Th(Yf);g=Qf;c=Rf;ta=3954;break a}case 2878:{Dg(a,34713,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=Gc(o,1)|0;else g=0}else g=0;while(0);f[of>>2]=g;Dg(a,31564,of);r=Qf;q=Rf;ta=3925;break a}case 3023:{r=Qf;q=Rf;ta=3925;break a}case 3044:{f[cf>>2]=y?34750:34755;Dg(a,34762,cf);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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,40,0)|0;ta=3120}if((ta|0)==3120)if(!c)c=0;else{na=c;g=34814;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,43,0)|0;ta=3142}if((ta|0)==3142)if(!c)c=0;else{na=c;g=34854;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]=33143;f[Ae+4>>2]=66739;f[Ae+8>>2]=31184;yc(11,31132,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:{hb[f[y+28>>2]&127](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((rg(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];Dg(a,35377,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:{Dg(a,32336,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[7968+(ta<<2)>>2];Dg(a,31564,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){Dg(a,35544,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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=o&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}f[Sf>>2]=c;Dg(a,31564,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;yc(3082,35512,Tf);rg(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=jb[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;yc(o,35512,Vf);rg(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{Uh(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 ol(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,ib=0,jb=0,kb=0,lb=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,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,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=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,_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,ud=0,vd=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,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;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;Lc=ae+1496|0;Kc=ae+1480|0;Dc=ae+1456|0;Cc=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;ib=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;ob=ae+352|0;G=ae+344|0;vd=ae+336|0;lb=ae+328|0;ud=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[20400+(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,pl(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;pl($d,d[k+2>>1]|0,k+4|0);k=f[a>>2]|0}while(k>>>0>g>>>0)}li(m,41615,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=ql(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 rl(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=55600}else{k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=55600}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=rl(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=rl(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){sl(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=ql(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=rl(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){sl(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;tl(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=rl(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;sl(n,(f[r>>2]|0)+(l*20|0)|0,m,0)}l=ul(n,12,21872)|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=vl(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{rl(g,78,k,o,0)|0;break}}else{g=vl(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{rl(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{rl(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;wl(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=mb[y&127](f[l+316>>2]|0,22,34918,0,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,C);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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=ql(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{rl(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 rl(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{rl(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?41689:41698;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=mb[L&127](f[l+316>>2]|0,22,k,0,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,P);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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=ql(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{rl(k,1,1,g,0)|0;break a}}case 10:{e=nl(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=ql(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=mb[ca&127](f[k+316>>2]|0,32,34918,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,oa);f[i+12>>2]=23;break e}if((k|2|0)==2)if(!k)break;else break e;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 11:{e=nl(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=ql(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=mb[da&127](f[k+316>>2]|0,32,41705,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,ha);f[i+12>>2]=23;break f}if((k|2|0)==2)if(!k)break;else break f;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 12:{e=nl(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=ql(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=mb[ea&127](f[k+316>>2]|0,32,41689,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,ja);f[i+12>>2]=23;break g}if((k|2|0)==2)if(!k)break;else break g;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 13:{xl(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:{yl(i,$d+-20|0,$d+-8|0,f[$d+4>>2]&255,0);break}case 20:{k=$d+4|0;yl(i,0,0,0,f[k>>2]|0);k=f[k>>2]|0;if(k|0)kg(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=38544;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=38545;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=38546;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=38547;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=38548;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;li(i,41713,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];li(i,41740,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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=347;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Xd=f[14051]|0;Wd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Vd=ba()|0;f[13840]=((Vd|0)<0|(Vd|0)==0&Wd>>>0<=Xd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break i;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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);$u(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;li(i,41763,bd);if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break a}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,l,m,0)|0;Zd=392;break}ed=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break a}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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+((zt(r)|0)&1073741823)+1|0;$u(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}}Nd(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:{zl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 31:{zl(i,f[$d+-8>>2]|0,(f[$d+-20>>2]|0)+1|0,f[$d+4>>2]|0);break}case 32:{zl(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[bb>>2]=l;li(i,33384,bb)}}else Zd=463;if((Zd|0)==463)if(!g)k=0;else{gg(f[i>>2]|0,g);k=0}zl(i,k,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 34:{o=$d+4|0;p=$d+8|0;q=Al(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=40358;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=40363;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;zl(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:{Bl(i,0,f[$d+-8>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0);break}case 37:{Cl(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=542;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)gg(m,k);break}case 39:{Dl(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,$=nl(_,$d+4|0)|0,$|0):0){l=f[i>>2]|0;k=b[l+78>>0]|0;Yd=b[l+165>>0]|0;l=Yk(l,k,$,Yd&255)|0;do if(!(Yd<<24>>24)){if(!l){H=Zk(i,k,0,$)|0;Zd=557;break}if(!(f[l+12>>2]|0)){H=Zk(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){Ic(_,$);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[7160]|0)){nb[f[28688>>2]&127]($);break a}else{i=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(_,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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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:{Bl(i,f[$d+-32>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0,0);break}case 64:{Cl(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=651;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)gg(m,k);break}case 66:{Dl(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:{El(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){xl(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){li(i,41825,Na);e=0;break}if((Fl(k,e)|0)<0){f[Oa>>2]=e;li(i,41842,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]=41862;f[vc+20>>2]=e;f[vc+8>>2]=(k|0)==1&1;if(!(Gl(vc,l)|0)){if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Fk(p,l,1)|0}f[n+12>>2]=l;Xd=Gk(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;yl(i,0,Ld,0,0)}}else k=l}else k=l}else{li(i,41789,ua);k=l}if(k|0)kg(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]=131;k=f[o>>2]|0;if((k|0)>0){l=o+4|0;while(1){m=f[l>>2]|0;if(m|0?mi(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)hg(p,o);break}case 78:{El(i,f[$d+4>>2]|0,1,f[$d+-8>>2]|0);break}case 79:{f[Yd>>2]=f[7369];f[Yd+4>>2]=f[7370];f[Yd+8>>2]=f[7371];f[Yd+12>>2]=f[7372];f[Yd+16>>2]=f[7373];f[Yd+20>>2]=f[7374];k=$d+4|0;Il(i,f[k>>2]|0,Yd)|0;k=f[k>>2]|0;if(k|0)kg(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)hg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)li(i,41867,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)hg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)li(i,41867,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)li(i,41867,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)li(i,41867,Xa);l=Jl(i,0,ll(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{kg(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=Jl(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=Jl(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;mg(l,i)}while((k|0)!=0);break}case 89:{i=Jl(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=Jl(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=kl(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=Nu(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=Bc(g,e,n)|0;if(n){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=888;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break z;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Bc(o,g,e)|0;if(!k)k=0;else{$u(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=Bk(Zd,168,Yd,0)|0;Zd=$d+-20|0;i=kl(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=Bc(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;hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ya>>2]=k;li(i,33384,Ya);e=0}else e=0}else{e=1;l=0}n=Bk(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[kc>>2]=l;li(i,33384,kc)}}while(0);if((Zd|0)==952){if(n|0)gg(k,n);if(e)k=0;else{gg(k,l);k=0}}Zd=$d+-44|0;i=kl(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[7160]|0)){k=hb[f[28684>>2]&127](80)|0;Zd=986;break}k=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=ll(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=nl(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=ll(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)hg(f[i>>2]|0,l);break}case 106:{Zd=$d+-68|0;i=ll(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=ll(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}lg(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=Jl(i,0,k,0,0,0,0,2048,0)|0;i=ll(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=ml(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1049;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break J;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ml(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1076;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break L;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ml(f[i>>2]|0,0,Zd,0)|0;f[Zd>>2]=i;break}case 113:{Zd=$d+-20|0;i=ml(f[i>>2]|0,0,Zd,$d+4|0)|0;f[Zd>>2]=i;break}case 114:{k=$d+-44|0;Zd=ml(f[i>>2]|0,0,k,$d+-20|0)|0;f[k>>2]=Zd;if(Zd|0){i=nl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 115:{k=$d+-20|0;Zd=ml(f[i>>2]|0,0,k,0)|0;f[k>>2]=Zd;if(Zd|0){i=nl(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=Kl(i,Zd,0,0)|0;f[Zd>>2]=i;break}case 118:{Zd=$d+-20|0;i=Kl(i,Zd,$d+-8|0,0)|0;f[Zd>>2]=i;break}case 119:{Zd=$d+-32|0;i=Kl(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=kl(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=kl(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[db>>2]=l;li(i,33384,db)}}else Zd=1116;if((Zd|0)==1116)if(!g)k=0;else{gg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[wb>>2]=l;li(i,33384,wb)}}while(0);if((Zd|0)==1136){if(e|0)gg(k,e);if(!g)k=0;else{gg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[xb>>2]=l;li(i,33384,xb)}}while(0);if((Zd|0)==1160){if(e|0)gg(k,e);if(!g)k=0;else{gg(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=nl(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);Ll(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=nl(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]=41924;li(i,41901,ma);k=f[l>>2]|0}}else k=0;Ml(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1234;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nl(i,f[Zd>>2]|0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 148:{r=kl(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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1284;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break T;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nl(i,0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[$d+-44>>2]=i;break}case 150:{Ol(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:{Ol(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1314;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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)hg(g,e);if(n|0)gg(g,n);if(o|0)hg(g,o);if(!p)k=0;else{gg(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1348;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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)hg(g,e);if(!n)k=0;else{gg(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1378;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Pl(i,f[Zd>>2]|0,$d+4|0)|0;f[Zd>>2]=i;break}case 161:{Zd=$d+4|0;i=Pl(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=Al(i,59,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 165:{o=$d+-20|0;n=Bk(f[i>>2]|0,59,o,1)|0;g=$d+4|0;e=Bk(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[7160]|0)){Ra=hb[f[28684>>2]&127](16)|0;Zd=1410;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l|0){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1435;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break _;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zc>>2]=l;li(i,33384,Zc)}}while(0);if((Zd|0)==1451){if(n|0)gg(k,n);if(!e)k=0;else{gg(k,e);k=0}}f[o>>2]=k;break}case 166:{s=$d+-44|0;r=Bk(f[i>>2]|0,59,s,1)|0;p=$d+-20|0;q=Bk(f[i>>2]|0,59,p,1)|0;g=$d+4|0;e=Bk(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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[Wb>>2]=k;li(i,33384,Wb);o=0;n=m}else{o=0;n=m}}while(0);if((Zd|0)==1475){if(q|0)gg(k,q);if(!e){o=1;n=0}else{gg(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[7160]|0)){sc=hb[f[28684>>2]&127](16)|0;Zd=1508;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l|0){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1533;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break da;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ud>>2]=l;li(i,33384,ud)}}while(0);if((Zd|0)==1549){if(r|0)gg(k,r);if(o)k=0;else{gg(k,n);k=0}}f[s>>2]=k;break}case 168:case 167:{Zd=$d+4|0;i=Al(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=Bk(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;li(i,41637,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=Bc(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;hl(Aa);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Aa+24>>2]|0)){f[ob>>2]=k;li(i,33384,ob)}f[e>>2]=Aa;Nd(g+1|0,Aa+28|0)|0;break}f[e>>2]=0}while(0);break a}u=f[$d+8>>2]|0;w=Al(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=(hf(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;li(i,41933,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(($t(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=Jc(v,l,g,0)|0;g=e;Zd=1604;break}n=Jc(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=Bc(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;$u(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))li(i,41976,vd)}break}case 171:{l=$d+-20|0;k=f[l>>2]|0;if((f[$d+8>>2]|0)!=0?(z=Bk(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=Bk(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;gg(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}hl(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=Bk(m,157,n,1)|0;g=(l|0)==0;if(!k)if(g)k=0;else{hg(m,l);k=0}else{if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[na>>2]=n;li(i,41999,na)}f[k+20>>2]=l;l=k+4|0;f[l>>2]=f[l>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Ca=f[(f[i>>2]|0)+120>>2]|0,(Ca|0)<(f[k+24>>2]|0)):0){f[ya>>2]=Ca;li(i,33384,ya)}if((e|0)==1)f[l>>2]=f[l>>2]|16}f[n>>2]=k;break}case 174:{l=$d+-32|0;k=Bk(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?(hl(k),A=f[(f[i>>2]|0)+120>>2]|0,(A|0)<(f[k+24>>2]|0)):0){f[s>>2]=A;li(i,33384,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=Bk(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;li(i,41999,pa)}f[k+20>>2]=l;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Da=f[(f[i>>2]|0)+120>>2]|0,(Da|0)<(f[k+24>>2]|0)):0){f[za>>2]=Da;li(i,33384,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)li(i,42033,Ja)}else{if(!g)hg(m,l);mg(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[n>>2]=k;break}case 176:{g=$d+-44|0;k=Bk(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?(hl(k),K=f[(f[i>>2]|0)+120>>2]|0,(K|0)<(f[k+24>>2]|0)):0){f[D>>2]=K;li(i,33384,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)li(i,42033,N)}else{mg(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[g>>2]=k;break}case 177:{l=$d+4|0;k=Bk(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?(hl(k),B=f[(f[i>>2]|0)+120>>2]|0,(B|0)<(f[k+24>>2]|0)):0){f[r>>2]=B;li(i,33384,r)}}else k=0;f[l>>2]=k;break}case 178:{g=kl(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=Bc(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;hl(W);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[W+24>>2]|0)){f[Sa>>2]=k;li(i,33384,Sa)}f[$d+-44>>2]=W;f[W+20>>2]=g;break a}f[$d+-44>>2]=0;if(g|0)hg(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=il(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=Bc(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}hl(k);l=i;Zd=1731;break na}while(0);if(n|0)gg(k,n);if(!e)k=0;else{gg(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;li(i,33384,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=kl(f[i>>2]|0,0,f[$d+4>>2]|0)|0;o=$d+-20|0;m=kl(f[i>>2]|0,m,f[o>>2]|0)|0;g=f[i>>2]|0;k=Bk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{hg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[qa>>2]=l;li(i,41999,qa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Ea=f[(f[i>>2]|0)+120>>2]|0,(Ea|0)<(f[k+24>>2]|0)):0){f[ra>>2]=Ea;li(i,33384,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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[_b>>2]=k;li(i,33384,_b);k=m}else k=m}else Zd=1758;if((Zd|0)==1758)if(!k)k=0;else{gg(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=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;o=$d+-44|0;m=kl(f[i>>2]|0,m,f[o>>2]|0)|0;m=kl(f[i>>2]|0,m,f[$d+4>>2]|0)|0;g=f[i>>2]|0;k=Bk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{hg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[sa>>2]=l;li(i,41999,sa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Fa=f[(f[i>>2]|0)+120>>2]|0,(Fa|0)<(f[k+24>>2]|0)):0){f[ta>>2]=Fa;li(i,33384,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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[$b>>2]=k;li(i,33384,$b);k=m}else k=m}else Zd=1789;if((Zd|0)==1789)if(!k)k=0;else{gg(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=Bc(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}hl(m);k=m;l=i;Zd=1818;break}if(!k)k=0;else{gg(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;li(i,33384,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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[fb>>2]=l;li(i,33384,fb)}}else Zd=1834;if((Zd|0)==1834)if(!g)k=0;else{gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Eb>>2]=k;li(i,33384,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)gg(m,l);f[k>>2]=0;break a}while(0);if(e|0)gg(k,e);if(g|0)gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Fb>>2]=k;li(i,33384,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)gg(m,l);f[k>>2]=0;break a}while(0);if(e|0)gg(k,e);if(g|0)gg(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=Bc(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}hl(k);l=i;Zd=1921;break}if(!e)k=0;else{gg(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;li(i,33384,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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[gb>>2]=l;li(i,33384,gb)}}else Zd=1937;if((Zd|0)==1937)if(!e)k=0;else{gg(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=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;e=kl(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[rb>>2]=k;li(i,33384,rb)}f[n>>2]=l;f[l+20>>2]=e}if((Zd|0)==1957){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;if(e|0)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[jc>>2]=l;li(i,33384,jc)}}else Zd=1979;if((Zd|0)==1979)if(!g)k=0;else{gg(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)gg(f[i>>2]|0,l);i=Bk(f[i>>2]|0,143,1e4+(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)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ec>>2]=l;li(i,33384,ec)}}while(0);if((Zd|0)==2008){if(n|0)gg(k,n);if(e)k=0;else{gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ab>>2]=k;li(i,33384,Ab)}f[n>>2]=l;f[l+20>>2]=f[e>>2];k=f[n>>2]|0;if((f[i+36>>2]|0)==0?(hl(k),Jb=f[(f[i>>2]|0)+120>>2]|0,(Jb|0)<(f[k+24>>2]|0)):0){f[Gb>>2]=Jb;li(i,33384,Gb)}}else Zd=2031;if((Zd|0)==2031){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;k=f[e>>2]|0;if(k|0)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qc>>2]=l;li(i,33384,qc)}}else Zd=2055;if((Zd|0)==2055)if(!g)k=0;else{gg(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=Bc(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;hl(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;li(i,33384,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;hl(X);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[$a>>2]=k;li(i,33384,$a);break a}f[$d+-20>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(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;li(i,33384,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?(hl(l),yb=f[(f[i>>2]|0)+120>>2]|0,(yb|0)<(f[k>>2]|0)):0){f[tb>>2]=yb;li(i,33384,tb)}}else Zd=2093;if((Zd|0)==2093){if(g|0)gg(f[i>>2]|0,g);f[e>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[lc>>2]=l;li(i,33384,lc)}}else Zd=2117;if((Zd|0)==2117)if(!g)k=0;else{gg(f[i>>2]|0,g);k=0}f[e>>2]=k}break}case 205:{k=ml(f[i>>2]|0,0,$d+-20|0,$d+-8|0)|0;e=Jl(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){hg(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=Bc(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}hl(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;li(i,33384,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?(hl(l),Sb=f[(f[i>>2]|0)+120>>2]|0,(Sb|0)<(f[k>>2]|0)):0){f[Lb>>2]=Sb;li(i,33384,Lb)}}else Zd=2140;if((Zd|0)==2140){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;if(e|0)kg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[rc>>2]=l;li(i,33384,rc)}}else Zd=2164;if((Zd|0)==2164)if(!g)k=0;else{gg(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=Bc(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;hl(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;li(i,33384,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;hl(Y);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[ab>>2]=k;li(i,33384,ab);break a}f[$d+-32>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(Ka);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Ka+24>>2]|0)){f[Va>>2]=k;li(i,33384,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=kl(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;hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)>=(f[k+24>>2]|0))break a;f[Tb>>2]=l;li(i,33384,Tb);break a}if(g|0)gg(f[i>>2]|0,g);f[$d+-44>>2]=0;k=f[$d+-20>>2]|0;if(k|0)hg(f[i>>2]|0,k);k=f[$d+-8>>2]|0;if(k|0)gg(f[i>>2]|0,k);break}case 208:{Zd=$d+-44|0;Yd=kl(f[i>>2]|0,f[Zd>>2]|0,f[$d+-20>>2]|0)|0;f[Zd>>2]=Yd;i=kl(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 209:{Yd=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;Zd=$d+-32|0;f[Zd>>2]=Yd;i=kl(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=kl(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=kl(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=ml(f[i>>2]|0,0,e,0)|0;Cl(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2246;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=kl(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;li(i,42080,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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2300;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Ka;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=kl(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;li(i,42080,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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2353;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Oa;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=oi(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=oi(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=Oj(z,f[y+16>>2]|0,k)|0;if(!x){if(!o){f[ib>>2]=y;f[ib+4>>2]=0;li(i,42118,ib)}else Ql(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;li(i,42136,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?39516:34444;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=mb[mc&127](f[m+316>>2]|0,9,k,0,o,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,nc);f[i+12>>2]=23;break}if((k|2|0)!=2){li(i,40505,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=mb[wc&127](f[m+316>>2]|0,g,l,k,o,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,xc);f[i+12>>2]=23;break Sa}if((k|2|0)==2)if(!k)break;else break Sa;else{li(i,40505,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=ql(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=aj(f[fd>>2]|0,0,fd,Yd,0,542)|0;if(k|0){li(q,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=2417;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=2417}while(0);do if((Zd|0)==2417){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=gh(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]=34444;f[od+8>>2]=l;Rl(i,42279,od);l=f[x>>2]|0;m=f[(f[(f[i>>2]|0)+16>>2]|0)+(w<<4)>>2]|0;f[gd>>2]=1;td(24,od,42328,gd)|0;if(hi(f[i>>2]|0,od,m)|0){f[hd>>2]=m;f[hd+4>>2]=od;f[hd+8>>2]=38503;f[hd+12>>2]=l;Rl(i,42342,hd)}f[id>>2]=2;td(24,od,42328,id)|0;if(hi(f[i>>2]|0,od,m)|0){f[kd>>2]=m;f[kd+4>>2]=od;f[kd+8>>2]=38503;f[kd+12>>2]=l;Rl(i,42342,kd)}f[ld>>2]=3;td(24,od,42328,ld)|0;if(hi(f[i>>2]|0,od,m)|0){f[md>>2]=m;f[md+4>>2]=od;f[md+8>>2]=38503;f[md+12>>2]=l;Rl(i,42342,md)}f[nd>>2]=4;td(24,od,42328,nd)|0;k=f[i>>2]|0;if(hi(k,od,m)|0){f[pd>>2]=m;f[pd+4>>2]=od;f[pd+8>>2]=38503;f[pd+12>>2]=l;Rl(i,42342,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 rl(g,107,w,1,k)|0;Sl(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=rl(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;sl(u,(f[u+88>>2]|0)+(k*20|0)|0,m,0)}}while(0);lg(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=ql(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 rl(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=ql(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){li(i,41825,V);break a}m=Fl(k,l)|0;if((m|0)<0){f[la>>2]=l;li(i,41842,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 rl(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:{Tl(i,$d+-8|0,$d+4|0,0,0);break}case 232:{Tl(i,$d+-32|0,$d+-20|0,$d+4|0,0);break}case 233:{Tl(i,$d+-44|0,$d+-32|0,$d+-8|0,0);break}case 234:{Tl(i,$d+-32|0,$d+-20|0,$d+4|0,1);break}case 235:{Tl(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=(zt(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]=42372;f[Ld+20>>2]=vc;q=(z|0)==1;f[Ld+8>>2]=q&1;if(!e)do{if(Gl(Ld,f[k+8>>2]|0)|0){k=0;Zd=2591;break Wa}if(Ul(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(Ul(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(Ul(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(Ul(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(Ul(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(Ul(Ld,f[o+12>>2]|0)|0){k=0;Zd=2591;break Wa}}k=f[k+36>>2]|0}while((k|0)!=0);if(!(Ul(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=ql(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=aj(f[dd>>2]|0,0,dd,Yd,0,542)|0;if(m|0){li(s,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](g)|0;Zd=2530;break}else{m=hb[f[28696>>2]&127](g)|0;Zd=2530}while(0);do if((Zd|0)==2530){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{Yd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Yd=gh(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=Nu(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=Bc(B,e,n)|0;if(g){$u(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]=34444;f[xd+8>>2]=A;f[xd+12>>2]=Zd;f[xd+16>>2]=g;Rl(i,42380,xd);_a:do if(g|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Zd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(n,107,z,1,m)|0;f[Dd>>2]=A;Vl(v,z,Gg(B,42444,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=ng((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=55580;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=55580;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){ig(B,f[m>>2]|0);l=f[l>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[r+12>>2]|0;if(l|0)gg(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(B,m);m=g;Zd=2648;break bb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](m);Zd=2646;break}else{Zd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Vd);break}else{i=hb[f[28696>>2]&127](Vd)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Vd);break}while(0);if(!r)break}if(B|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);ig(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{li(i,42473,ub);Zd=2894;break}else{if(!l){if(b[K+165>>0]|0){li(i,41825,vb);Zd=2894;break}l=Fl(K,H)|0;if((l|0)<0){f[Bb>>2]=H;li(i,41842,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Vd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Vd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ni(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){fg(e,n);break}Jd=n+32|0;Vd=(f[Jd>>2]|0)+-1|0;f[Jd>>2]=Vd;if(!Vd)fg(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;li(i,41262,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]=42372,f[Ld+20>>2]=m,Kd=(B|0)==1,f[Ld+8>>2]=Kd&1,(Wl(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=ni(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){fg(l,g);break}Ld=g+32|0;Vd=(f[Ld>>2]|0)+-1|0;f[Ld>>2]=Vd;if(!Vd)fg(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;li(i,41262,yd);b[i+17>>0]=1;break fb}while(0);if(f[A+56>>2]|0){li(i,42519,zd);Zd=2894;break cb}x=nl(K,m)|0;if(!x){Zd=2894;break cb}ib:do if(!(Xl(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=55580;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=55580;break}}}while(0);if(!(f[l+8>>2]|0))break;if(!w){f[Hd>>2]=m;li(i,42560,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=aj(f[q>>2]|0,0,q,Yd,0,542)|0;if(m|0){li(e,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=2778;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=2778}while(0);do if((Zd|0)==2778){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Zd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Zd=gh(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;Zd=2792;break kb}if(l<<24>>24==95)break kb;else{m=95;l=1232+(l&255)|0}}else m=115;while(0);Pd=h[l>>0]|0;Od=m;Zd=2796}while(0);if((Zd|0)==2792){Pd=0;Od=b[1232+(h[l>>0]|0)>>0]|0;Zd=2796}if((Zd|0)==2796?(Pd|0)!=(Od&255|0):0)break;li(i,42594,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?42632:42639;f[Rd+4>>2]=F;f[Rd+8>>2]=0;li(i,42645,Rd);Zd=2885;break}q=(z|0)==65;if(q&(l|0)==0){f[Sd>>2]=F;f[Sd+4>>2]=0;li(i,42682,Sd);Zd=2885;break}do if(s){e=q?33:z;if(K|0){Zd=2826;break}if(!(f[7160]|0)){m=hb[f[28684>>2]&127](36)|0;g=1;l=e;Zd=2848;break}l=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[14051]|0;Xd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}m=hb[f[28684>>2]&127](l)|0;if(!m)break ib;l=hb[f[28696>>2]&127](m)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){q=m;g=1;break}f[14060]=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=mb[m&127](f[g+316>>2]|0,e,x,r,n,f[i+236>>2]|0)|0;if((l|0)==1){li(i,40490,Td);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)!=2){li(i,40505,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?39516:34444;do if(!(l<<24>>24)){if(b[v>>0]|0)break;l=f[g+312>>2]|0;if(!l)break;l=mb[l&127](f[g+316>>2]|0,18,m,0,p,f[i+236>>2]|0)|0;if((l|0)==1){li(i,40490,Wd);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)==2)if(!l)break;else{Zd=2885;break ib}else{li(i,40505,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=Bc(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=(zt(n)|0)+1|0;nb:do if(g){Yd=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;Zd=2874;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[14051]|0;Xd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){g=0;break mb}m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(K,o,0)|0;Zd=2874}while(0);if((Zd|0)==2874)if(!l){g=0;break}$u(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=zk(K,G,1,0)|0}while(0);f[q+12>>2]=l;f[q+16>>2]=k;f[i+232>>2]=q;lg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](x);Zd=2894;break cb}else{Zd=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){lg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(K,l);l=m;Zd=2927;break qb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);Zd=2925;break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);l=0;k=G;r=0;break}else{l=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(K,k);do if(!((l|0)==0|(f[i+232>>2]|0)!=0)){ig(K,f[l+28>>2]|0);k=f[l>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);k=f[l+12>>2]|0;if(k|0)gg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(K,l);l=m;Zd=2994;break tb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);Zd=2992;break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(r|0){if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(i,42728,g);break}case 251:{li(i,42823,n);break}case 252:{li(i,42907,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=Yl(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=Gk(n,l,1)|0;f[o+20>>2]=i;if(!m){k=m;m=0}else{k=m;m=zk(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)hg(n,l);if(k|0)gg(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=Yl(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(u,k);k=q;Zd=3076;break vb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);Zd=3074;break}else{Zd=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(r){k=f[r>>2]|0;if(k|0)hg(u,k);k=f[r+4>>2]|0;if(k|0)gg(u,k);k=f[r+8>>2]|0;if(k|0)hg(u,k);k=f[r+12>>2]|0;if(k|0)gg(u,k);if(u|0){if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);k=l;break}else{k=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);k=l;break}}else k=l}else{if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Fk(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)kg(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=Yl(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=zk(g,l,1,0)|0}else k=0;f[e+16>>2]=l;b[e+1>>0]=11}if(k|0)gg(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[7160]|0)){k=hb[f[28684>>2]&127](44)|0;Zd=3137;break}k=hb[f[28700>>2]&127](44)|0;if((f[14058]|0)>>>0<44)f[14058]=44;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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{kg(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=Nu(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=Bc(p,e,n)|0;if(l){$u(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=Bc(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;hl(R);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[R+24>>2]|0)){f[Ma>>2]=k;li(i,33384,Ma)}f[$d+-32>>2]=R;b[R+1>>0]=4;break a}f[$d+-32>>2]=0;break}case 258:{k=Bk(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=oi(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=oi(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=55580;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=55580;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){Zl(i,k);break}}if(!v){f[cd>>2]=w;f[cd+4>>2]=0;li(i,42992,cd)}else Ql(i,u);b[i+17>>0]=1}while(0);lg(x,w);break}case 263:{Zd=f[$d+-32>>2]|0;_l(i,24,29500,Zd,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 264:{Zd=f[$d+4>>2]|0;_l(i,25,29540,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=oi(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=oi(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=aj(f[Wc>>2]|0,0,Wc,Yd,0,542)|0;if(k|0){li(s,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;Xd=(f[13890]|0)+1|0;f[13890]=Xd;f[13891]=(Xd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](g)|0;Zd=3270;break}else{k=hb[f[28696>>2]&127](g)|0;Zd=3270}while(0);do if((Zd|0)==3270){Zd=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{Xd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Xd=gh(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;$l(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=oi(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=oi(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=nl(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=55580;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=55580;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Xd=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(i,41825,Ac);break a}k=Fl(k,l)|0;if((k|0)>=0){l=r;m=k;break}f[Ec>>2]=l;li(i,41842,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{am(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break a}else{i=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(i,41825,cb);break a}k=Fl(k,l)|0;if((k|0)<0){f[kb>>2]=l;li(i,41842,kb);break a}else{l=r;m=k}}while(0);v=nl(w,l)|0;if(v|0){k=f[(f[w+16>>2]|0)+(m<<4)>>2]|0;l=hi(w,v,k)|0;if(!l){r=Oj(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[7160]|0)){nb[f[28688>>2]&127](v);break}else{Xd=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}}else Ic(w,v);while(0);if(!r){li(i,43012,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=aj(f[wd>>2]|0,0,wd,Yd,0,542)|0;if(k|0){li(q,42209,_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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=3420;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=3420}while(0);do if((Zd|0)==3420){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=gh(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;$l(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=aj(f[Fd>>2]|0,0,Fd,Yd,0,542)|0;if(l|0){li(r,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;Xd=(f[13890]|0)+1|0;f[13890]=Xd;f[13891]=(Xd|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=3374;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=3374}while(0);do if((Zd|0)==3374){Zd=0;f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Xd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Xd=gh(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;$l(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](v);break a}else{i=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break a}}break}case 269:{bm(i,0,0);break}case 270:{bm(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=ni(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=nl(y,g)|0;if(u){Lb:do if(!(hi(y,u,w)|0)){if(Oj(y,u,w)|0){f[Ob>>2]=u;li(i,43058,Ob);Zd=3513;break}if((cm(i,f[s>>2]|0)|0)==0?(Xl(i,u)|0)==0:0){l=f[s>>2]|0;if(f[s+12>>2]|0){f[Ub>>2]=l;li(i,43117,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=mb[dc&127](f[k+316>>2]|0,26,w,l,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,fc);f[i+12>>2]=23;Zd=3513;break Lb}if((k|2|0)==2)if(!k)break;else{Zd=3513;break Lb}else{li(i,40505,gc);f[i+12>>2]=1;Zd=3513;break Lb}}while(0);if(!(ii(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=ql(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]=34444;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;Rl(i,43144,Qc);f[Rc>>2]=w;f[Rc+4>>2]=34444;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;Rl(i,43305,Rc);if(hi(y,43582,w)|0){Yd=f[s>>2]|0;f[Sc>>2]=w;f[Sc+4>>2]=u;f[Sc+8>>2]=Yd;Rl(i,43598,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;Rl(i,43656,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=rl(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;sl(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=rl(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{sl(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]=34444;f[jd+8>>2]=w;f[jd+12>>2]=o;Rl(i,43910,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 rl(g,107,v,1,k)|0;Vl(f[r>>2]|0,v,0);if(n){f[qd>>2]=w;f[qd+4>>2]=34444;f[qd+8>>2]=w;f[qd+12>>2]=o;Rl(i,43910,qd);break Nb}else{Vl(f[r>>2]|0,1,0);f[rd>>2]=w;f[rd+4>>2]=34444;f[rd+8>>2]=w;f[rd+12>>2]=o;Rl(i,43910,rd);break}}while(0);f[sd>>2]=34444;f[sd+4>>2]=w;Rl(i,44054,sd)}while(0);lg(y,x);if(y|0)Zd=3516}else Zd=3513}else Zd=3513}else{f[Nb>>2]=u;li(i,43058,Nb);Zd=3513}while(0);if((Zd|0)==3513){lg(y,x);Zd=3516}if((Zd|0)==3516){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{i=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);break}}else Zd=3514}else Zd=3514}else Zd=3514;while(0);if((Zd|0)==3514)lg(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=hi(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=mb[Db&127](f[s+316>>2]|0,26,p,k,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,Hb);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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){li(i,44197,Pb);break a}if(f[r+8>>2]|0){li(i,44229,Qb);break a}if(!(0==0?(f[s+32>>2]&16384|0)==0:0)?(l|0)!=0&(f[r+16>>2]|0)!=0:0){li(i,44256,Rb);break a}k=(l|0)!=0;if(!(k|(b[m+(g<<4)+12>>0]|0)==0)){li(i,44315,Vb);break a}Ob:do if(k){f[Yd>>2]=0;do if(!(Ck(s,l,1,65,Yd)|0)){m=f[Yd>>2]|0;if(!m){li(i,44368,ac);break}if(!((d[m+8>>1]&9216)==0?!(f[m+24>>2]|0):0))df(m);k=f[m+32>>2]|0;do if(!k)Zd=3562;else{if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Yd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Bc(s,m,g)|0;if(l|0){$u(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]=34444;f[Fc+8>>2]=Yd;f[Fc+12>>2]=l;f[Fc+16>>2]=Yd+1;f[Fc+20>>2]=q;Rl(i,44414,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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Yd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else Ic(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=ql(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 rl(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 rl(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 rl(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 rl(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 rl(g,107,u,1,k)|0;Vl(f[p>>2]|0,u,0);if((u|0)!=1)Vl(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=ni(i,0,f[G+16>>2]|0,f[k>>2]|0)|0;if(D|0){if(f[D+56>>2]|0){li(i,44523,Pa);break}if(f[D+12>>2]|0){li(i,44557,Qa);break}if(!(cm(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[7160]|0)){k=hb[f[28684>>2]&127](80)|0;Zd=3665;break}k=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Sb;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nu(e|0,0,-1,-1)|0;Yd=ba()|0;if(!(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390)){if(!(f[7160]|0)){l=hb[f[28684>>2]&127](e)|0;Zd=3690;break}l=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[14051]|0;Yd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(l){m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(E,e,0)|0;Zd=3690}while(0);if((Zd|0)==3690)if(!l)l=0;else Zd=3691;if((Zd|0)==3691)bv(l|0,0,e|0)|0;y=k+4|0;f[y>>2]=l;f[$c>>2]=f[D>>2];i=Gg(E,44587,$c)|0;f[k>>2]=i;l=f[y>>2]|0;if(!((i|0)==0|(l|0)==0)){$u(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=(zt(e)|0)+1|0;Wb:do if(C){i=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](n)|0;Zd=3718;break}l=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[14051]|0;Yd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break Vb}m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(E,n,0)|0;Zd=3718}while(0);if((Zd|0)==3718){Zd=0;if(!l){l=0;break}}$u(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);lg(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=ni(i,0,f[v+16>>2]|0,f[k>>2]|0)|0;Xb:do if(r|0?(cm(i,f[r>>2]|0)|0)==0:0){k=(f[r+56>>2]|0)==0?((f[r+12>>2]|0)==0?0:41862):44606;if(k|0){Zd=f[r>>2]|0;f[Wa>>2]=k;f[Wa+4>>2]=Zd;li(i,44620,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=mb[Xb&127](f[l+316>>2]|0,26,s,k,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,bc);f[i+12>>2]=23;break Xb}if((k|2|0)==2)if(!k)break;else break Xb;else{li(i,40505,cc);f[i+12>>2]=1;break Xb}}while(0);q=nl(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=nl(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[Cc>>2]=s;f[Cc+4>>2]=34444;f[Cc+8>>2]=s;f[Cc+12>>2]=n;f[Cc+16>>2]=k;f[Cc+20>>2]=l;f[Cc+24>>2]=e;f[Cc+28>>2]=p;f[Cc+32>>2]=n;Rl(i,44674,Cc);n=f[r>>2]|0;f[Dc>>2]=34444;f[Dc+4>>2]=s;f[Dc+8>>2]=n;f[Dc+12>>2]=k;f[Dc+16>>2]=l;f[Dc+20>>2]=e;Rl(i,44868,Dc);e=i+8|0;n=f[e>>2]|0;do if(!n){f[Gc>>2]=s;f[Gc+4>>2]=34444;f[Gc+8>>2]=s;f[Gc+12>>2]=p;Rl(i,43910,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 rl(n,107,u,1,k)|0;Vl(f[e>>2]|0,u,0);if(o){f[Kc>>2]=s;f[Kc+4>>2]=34444;f[Kc+8>>2]=s;f[Kc+12>>2]=p;Rl(i,43910,Kc);break Zb}else{Vl(f[e>>2]|0,1,0);f[Lc>>2]=s;f[Lc+4>>2]=34444;f[Lc+8>>2]=s;f[Lc+12>>2]=p;Rl(i,43910,Lc);break}}while(0);f[Mc>>2]=34444;f[Mc+4>>2]=s;Rl(i,44054,Mc)}}else{f[zc>>2]=q;li(i,44653,zc);l=0}while(0);lg(w,v);k=(w|0)==0;do if(!k){if(f[w+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{i=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);if(!l)break a;if(!k){if(f[w+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break a}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break a}}}while(0);lg(w,v);break}case 275:{dm(i,0);break}case 276:{dm(i,$d+4|0);break}case 277:{n=$d+4|0;xl(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=nl(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=Bc(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=Jc(q,k,m,g)|0;Zd=3803;break}k=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Yd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,l,m,g)|0;Zd=3832;break}ic=Jc(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=(zt(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=Bc(q,g,0)|0;if(k){$u(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=Bc(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=Jc(q,k,m,g)|0;Zd=3866;break}k=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Zd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[Ad&127](f[m+316>>2]|0,29,g,l,k,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,Bd);f[i+12>>2]=23;break a}if((k|2|0)!=2){li(i,40505,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=Nu(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=Bc(q,m,g)|0;Zd=3902}if((Zd|0)==3902)if(!k)n=0;else{$u(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=Bc(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=Jc(q,l,g,m)|0;Zd=3921;break}hc=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{Zd=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=em(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=em(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[7160]|0)){k=hb[f[28684>>2]&127](72)|0;Zd=4023;break}k=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Zd=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=Zd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Nu(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=Bc(g,e,n)|0;if(k){$u(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{gg(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=Nu(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=Bc(m,g,e)|0;if(k){$u(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[7160]|0)){k=hb[f[28684>>2]&127](72)|0;Zd=3987;break}k=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=fm(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=fm(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[20400+(c<<2)>>1]|0;_d=_d<<24>>24;c=d[15312+((d[21920+(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 sb(a){a=a|0;var b=0;b=t;t=t+a|0;t=t+15&-16;return b|0}function tb(){return t|0}function ub(a){a=a|0;t=a}function vb(a,b){a=a|0;b=b|0;t=a;u=b}function wb(a,b){a=a|0;b=b|0;if(!v){v=a;w=b}}function xb(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}hq(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);hq(a,30613,1,1,0,0,169,88)|0;hq(a,30619,1,1,0,0,169,89)|0;hq(a,45840,1,1,0,0,170,90)|0;hq(a,30628,1,1,0,0,170,91)|0;hq(a,30635,1,1,0,0,170,92)|0;hq(a,30650,1,1,0,0,170,93)|0;return 0}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,378,30697);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+N(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,379,30706);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+O(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,380,30715);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+P(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=2)pa(30724,30673,570,30732);if((pp(f[c>>2]|0)|0)!=5?(d=c+4|0,(pp(f[d>>2]|0)|0)!=5):0){e=+mp(f[c>>2]|0);qp(a,+Q(+e,+(+mp(f[d>>2]|0))));return}up(a);return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,394,30741);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Cu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,402,30751);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Eu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,410,30761);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Au(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Fb(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)pa(30724,30673,1680,30771);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){g=kp(f[d>>2]|0)|0;i=kp(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(tt(c)|0)break;d=d+1|0;c=b[g+d>>0]|0;if(!(c<<24>>24)){n=17;break a}}c=(ut(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)bv(k+c|0,48,4-c|0)|0;b[k+4>>0]=0}while(0);if((n|0)==17){b[k>>0]=b[30786]|0;b[k+1>>0]=b[30787]|0;b[k+2>>0]=b[30788]|0;b[k+3>>0]=b[30789]|0;b[k+4>>0]=b[30790]|0}c=b[i>>0]|0;b:do if(!(c<<24>>24))n=29;else{d=0;while(1){c=c&255;if(tt(c)|0)break;d=d+1|0;c=b[i+d>>0]|0;if(!(c<<24>>24)){n=29;break b}}c=(ut(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)bv(j+c|0,48,4-c|0)|0;b[j+4>>0]=0}while(0);if((n|0)==29){b[j>>0]=b[30786]|0;b[j+1>>0]=b[30787]|0;b[j+2>>0]=b[30788]|0;b[j+3>>0]=b[30789]|0;b[j+4>>0]=b[30790]|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}}sp(a,d);t=o;return}up(a);t=o;return}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,498,30791);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,d*180.0/3.141592653589793);return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,499,30803);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,d*3.141592653589793/180.0);return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,420,30815);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+K(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,419,30823);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+L(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,421,30831);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+M(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,422,30839);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,1.0/+M(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,446,30847);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,438,30856);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+eu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,454,30865);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,456,30874);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,1.0/+Du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,474,30883);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+R(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,472,30891);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+S(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,473,30899);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Wa(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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,e=0.0,g=0;if((b|0)!=2)pa(30724,30673,546,30909);if((pp(f[c>>2]|0)|0)!=5?(g=c+4|0,(pp(f[g>>2]|0)|0)!=5):0){e=+mp(f[c>>2]|0);d=+mp(f[g>>2]|0);g=pt()|0;f[g>>2]=0;g=pt()|0;if(!(f[g>>2]|0)){qp(a,+J(+e,+d));return}else{c=pt()|0;c=Gt(f[c>>2]|0)|0;g=pt()|0;rp(a,c,f[g>>2]|0);return}}up(a);return}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=1)pa(30665,30673,590,30919);switch(pp(f[c>>2]|0)|0){case 1:{d=op(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;tp(a,b?1:c,b?0:((c|0)<0)<<31>>31);return}case 5:{up(a);return}default:{e=+mp(f[c>>2]|0);qp(a,e>0.0?1.0:+((e<0.0)<<31>>31));return}}}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,375,30928);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+I(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,514,30937);switch(pp(f[c>>2]|0)|0){case 1:{b=op(f[c>>2]|0)|0;c=ba()|0;tp(a,Tu(b|0,c|0,b|0,c|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+mp(f[c>>2]|0);qp(a,d*d);return}}}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,620,30948);switch(pp(f[c>>2]|0)|0){case 1:{tp(a,op(f[c>>2]|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+T(+(+mp(f[c>>2]|0)));tp(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 Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,645,30957);switch(pp(f[c>>2]|0)|0){case 1:{tp(a,op(f[c>>2]|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+G(+(+mp(f[c>>2]|0)));tp(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 Zb(a,b,c){a=a|0;b=b|0;c=c|0;qp(a,3.141592653589793);return}function _b(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((pp(f[c>>2]|0)|0)==5)return;j=op(f[c+4>>2]|0)|0;e=ba()|0;if((e|0)<0){rp(a,30967,-1);return}g=lp(f[c>>2]|0)|0;h=Dd((U(g,j)|0)+1|0)|0;i=Dd(g+1|0)|0;b=(h|0)!=0;d=(i|0)!=0;if(b&d){Rt(i,kp(f[c>>2]|0)|0)|0;if((e|0)>0|(e|0)==0&j>>>0>0){b=0;d=0;do{Rt(h+(U(g,b)|0)|0,i)|0;b=Nu(b|0,d|0,1,0)|0;d=ba()|0}while((d|0)<(e|0)|(d|0)==(e|0)&b>>>0>>0)}wp(a,h,-1,-1);fe(h);fe(i);return}xp(a);if(b)fe(h);if(!d)return;fe(i);return}function $b(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)pa(30980,30673,1038,30998);if((pp(f[c>>2]|0)|0)!=5?(d=c+4|0,(pp(f[d>>2]|0)|0)!=5):0){e=kp(f[c>>2]|0)|0;if(!e)return;d=kp(f[d>>2]|0)|0;if(g){b=(np(f[c+8>>2]|0)|0)+-1|0;b=(b|0)>0?b:0}else b=0;sp(a,(uc(e,d,b)|0)+1|0);return}up(a);return}function ac(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)pa(30724,30673,1073,31012);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){n=kp(f[d>>2]|0)|0;k=np(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=Dd(c+1|0)|0;if(!d){xp(a);return}else{iu(d,n,c)|0;b[d+c>>0]=0;wp(a,d,-1,-1);fe(d);return}}up(a);return}function bc(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)pa(30724,30673,1113,31021);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){d=kp(f[d>>2]|0)|0;k=np(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=Dd(q+1-d|0)|0;if(!c){xp(a);return}else{Rt(c,d)|0;wp(a,c,-1,-1);fe(c);return}}up(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;if((c|0)!=1)pa(31031,30673,1323,31039);if((pp(f[d>>2]|0)|0)==5){up(a);return}c=kp(f[d>>2]|0)|0;d=zt(c)|0;l=Dd(d+1|0)|0;if(!l){xp(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}wp(a,l,-1,-1);fe(l);return}function dc(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)pa(30665,30673,724,31051);if((pp(f[d>>2]|0)|0)==5){up(a);return}e=kp(f[d>>2]|0)|0;c=Dd((zt(e)|0)+1|0)|0;i=Rt(c,e)|0;if(!i){xp(a);return}d=b[e>>0]|0;if(d<<24>>24){h=1;g=d<<24>>24;while(1){e=e+1|0;if(!(rt(g)|0)){if((h|0)==1)d=ut(g)|0;else d=yt(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;wp(a,i,-1,-1);fe(i);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;if((c|0)!=2)pa(30724,30673,771,31062);if((pp(f[d>>2]|0)|0)==5){up(a);return}l=kp(f[d>>2]|0)|0;j=op(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){rp(a,30967,-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=Dd(j+1-d+(zt(l)|0)|0)|0;if(!c){xp(a);return}e=1;g=c;do{m=g;g=g+1|0;b[m>>0]=32;e=e+1|0;m=Nu(e|0,0,d|0,i|0)|0;n=ba()|0}while(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0));Rt(g,l)|0}else{c=Dd((zt(l)|0)+1|0)|0;d=Rt(c,l)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(c);return}function fc(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)pa(30724,30673,825,31071);if((pp(f[d>>2]|0)|0)==5){up(a);return}g=kp(f[d>>2]|0)|0;j=op(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){rp(a,30967,-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=zt(g)|0;c=Dd(j+1-d+e|0)|0;if(!c){xp(a);return}Rt(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=Nu(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=Dd((zt(g)|0)+1|0)|0;d=Rt(c,g)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(c);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,o=0;if((c|0)!=2)pa(30724,30673,880,31080);if((pp(f[d>>2]|0)|0)==5){up(a);return}l=kp(f[d>>2]|0)|0;m=op(f[d+4>>2]|0)|0;n=ba()|0;if((n|0)<0){rp(a,30967,-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=zt(l)|0;c=Dd(m+1-j+i|0)|0;if(!c){xp(a);return}g=Nu(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=Nu(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}}Rt(d,l)|0;d=d+i|0;o=Nu(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=Nu(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=Dd((zt(l)|0)+1|0)|0;d=Rt(c,l)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(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,n=0,o=0;if((c|0)!=2)pa(30724,30673,939,31089);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){c=kp(f[d>>2]|0)|0;m=kp(f[e>>2]|0)|0;n=Dd((zt(c)|0)+1|0)|0;if(!n){xp(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;iu(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;wp(a,n,-1,-1);fe(n);return}up(a);return}function ic(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)pa(30665,30673,1395,31103);a=yp(a,24)|0;if((Qp(f[c>>2]|0)|0)==5)return;b=a+16|0;j=b;j=Nu(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=+mp(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 jc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=yp(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=Nu(c|0,d|0,-1,-1)|0;qp(a,+I(+(e/(+(d>>>0)+4294967296.0*+(ba()|0)))));return}qp(a,0.0);return}function kc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=yp(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=Nu(c|0,d|0,-1,-1)|0;qp(a,e/(+(d>>>0)+4294967296.0*+(ba()|0)));return}qp(a,0.0);return}function lc(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)pa(30665,30673,1418,31116);d=Qp(f[c>>2]|0)|0;if((d|0)==5)return;a=yp(a,64)|0;g=a+56|0;do if(!(f[g>>2]|0)){b=it(1,12)|0;f[g>>2]=b;if((d|0)==1){f[b>>2]=0;f[b+4>>2]=114;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;b=a+16|0;a=b;a=Nu(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]=115;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=Nu(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=+mp(b);c=it(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=ib[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=Nu(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ht(c);return}while(0);h=it(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=op(b)|0;d=ba()|0;c=it(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=ib[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=Nu(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ht(c);return}while(0);h=it(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 mc(a){a=a|0;var b=0,c=0,d=0;b=yp(a,0)|0;if(!b)return;c=b+56|0;d=f[c>>2]|0;if(!d)return;qc(f[d>>2]|0,66,b);rc(f[f[c>>2]>>2]|0);ht(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;tp(a,f[d>>2]|0,f[d+4>>2]|0);return}else{qp(a,+p[b+8>>3]);return}}function nc(a){a=a|0;var b=0,c=0;b=yp(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;wc(a);return}function oc(a){a=a|0;var b=0,c=0;b=yp(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;wc(a);return}function pc(a){a=a|0;var b=0,c=0.0,d=0;b=yp(a,0)|0;if(!b)return;d=b+16|0;d=Tu(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;wc(a);return}function qc(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)qc(d,b,c);d=a+16|0;qb[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 rc(a){a=a|0;var b=0;if(!a)return;ht(f[a+8>>2]|0);b=f[a>>2]|0;if(b|0)rc(b);b=f[a+4>>2]|0;if(b|0)rc(b);ht(a);return}function sc(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 tc(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 vc(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=Nu(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=Nu(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 wc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;d=yp(a,0)|0;if(!d)return;b=d+56|0;c=f[b>>2]|0;if(!c)return;f[d+60>>2]=0;qc(f[c>>2]|0,67,d);rc(f[f[b>>2]>>2]|0);ht(f[b>>2]|0);g=d+48|0;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0)){g=d+40|0;qp(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){tp(a,b,c);return}else{qp(a,(+(b>>>0)+4294967296.0*+(c|0))/(+(e>>>0)+4294967296.0*+(g|0)));return}}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,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=Nu(i|0,j|0,b|0,c|0)|0;c=ba()|0;do if(l<=+(b|0)){j=Ou(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=Nu(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=Nu(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 yc(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[7223]|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;zc(k,c,g);c=f[7223]|0;g=f[7224]|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=Ac(k)|0;else e=f[i>>2]|0;pb[c&255](g,a,e);t=l;return}function zc(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;$u((f[aa>>2]|0)+i|0,c|0,g|0)|0}}else Cc(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=Dc(+p[c>>3])|0;ba()|0;E=34;break}if(k&18){c=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(k&18|0){c=Ec(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=+Fc(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=Nu(z|0,((z|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;c=Nu(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=Nu(c|0,g|0,15,0)|0;ba()|0;v=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](i)|0;if(!c){E=197;break a}else{g=c;n=c;break}}l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){v=f[14051]|0;n=Ou(c|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=v>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){E=197;break a}c=hb[f[28696>>2]&127](i)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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){bv(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}bv(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=31281;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=Gc(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=Nu(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=Hc(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;$u((f[aa>>2]|0)+i|0,U|0,m|0)|0}else Cc(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=Gc(X,1)|0;c=5;E=275}else{m=56244;n=0;E=286}}else{m=56244;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=hb[f[28696>>2]&127](g)|0;f[$>>2]=c;c=(zt(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=56244;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=(zt(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=Gc(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?31267:31272):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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](c)|0;if(!c){E=348;break a}else{g=c;n=c;break}}i=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){E=f[14051]|0;D=Ou(c|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;C=ba()|0;f[13840]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){E=348;break a}c=hb[f[28696>>2]&127](i)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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;$u((f[aa>>2]|0)+i|0,c|0,K|0)|0;c=0;l=0;n=0;break e}else{Cc(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=(zt(c)|0)&1073741823;k=f[_>>2]|0;l=k+i|0;if(l>>>0<(f[$>>2]|0)>>>0){if(i|0){f[_>>2]=l;$u((f[aa>>2]|0)+k|0,c|0,i|0)|0}}else Cc(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{Cc(a,31279,1);break}}while(0);i=f[m+8+(n*72|0)+8>>2]|0;if(!i)c=0;else c=(zt(i)|0)&1073741823;k=f[_>>2]|0;l=k+c|0;if(l>>>0>=(f[$>>2]|0)>>>0){Cc(a,i,c);c=0;l=0;n=0;break e}if(!c){c=0;l=0;n=0}else{f[_>>2]=l;$u((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=Dc(+p[c>>3])|0;c=0;g=ba()|0;E=115;break}if(g&18){i=Ec(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=Ou(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=Dc(+p[c>>3])|0;g=ba()|0;E=101;break}if(!(g&18)){c=n;E=116;break k}i=Ec(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=Ou(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=Nu(w|0,((w|0)<0)<<31>>31|0,10,0)|0;g=Nu(g|0,ba()|0,(w>>>0)/3|0|0,0)|0;C=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](g)|0;if(!i){E=130;break a}else{l=i;z=i;break}}i=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){C=f[14051]|0;B=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[13840]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){E=130;break a}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Vu(u|0,y|0,10,0)|0;g=ba()|0;C=Tu(B|0,g|0,10,0)|0;C=Ou(u|0,y|0,C|0,ba()|0)|0;ba()|0;g=Wu(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[31251+(C|1)>>0]|0;g=g+-1|0;b[g>>0]=b[31251+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=Vu(k|0,i|0,n|0,0)|0;B=i;i=ba()|0;A=Tu(k|0,i|0,n|0,0)|0;A=Ou(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;bv(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=31260+(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=Nu(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=Hc(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){Cc(a,g,l);break}if(!l)break;f[_>>2]=i;$u((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;$u((f[aa>>2]|0)+k|0,g|0,l|0)|0}}else Cc(a,g,l);H=Nu(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=Hc(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){Cc(a,g,l);break}if(l|0){f[_>>2]=i;$u((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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{H=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{Cc(a,31249,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 Ac(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=Nu(g|0,0,-1,-1)|0;d=ba()|0;if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;d=25;break}e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[14051]|0;d=Ou(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;$u(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 Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Nu(c|0,d|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](c)|0;if(!d)break;return d|0}e=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){g=f[14051]|0;c=Ou(d|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&c>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c|0){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0<=(f[14060]|0)>>>0){g=c;return g|0}f[14060]=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 Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=Hc(a,c)|0;if((c|0)<=0)return;d=a+16|0;$u((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 Dc(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 Ec(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;hf(c,e,b,a)|0;b=e;c=f[b>>2]|0;aa(f[b+4>>2]|0);t=d;return c|0}function Fc(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;gf(c,d,b,a)|0;t=e;return +(+p[d>>3])}function Gc(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(!(bf(a,(i|0)>1?i:1,1)|0)){bv((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))Pi(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(!(bf(a,(i|0)>1?i:1,1)|0)){bv((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(!(ef(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)ef(a)|0}else{Ri(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 Hc(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=Nu(l|0,0,u|0,((u|0)<0)<<31>>31|0)|0;s=ba()|0;l=Nu(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Kc()|0)){e=Lc(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=Jc(g,i,l,0)|0;k=41;break}e=Jc(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=Bc(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)$u(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=hb[f[28696>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(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=hb[f[28696>>2]&127](b)|0;a=f[a+480>>2]|0;f[a>>2]=(f[a>>2]|0)+b;return}function Jc(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=Bc(a,d,e)|0;if(!g){m=0;return m|0}$u(g|0,c|0,j[a+276>>1]|0)|0;if(!c){m=g;return m|0}if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);m=g;return m|0}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);m=g;return m|0}}if((Kc()|0)==0?(h=Lc(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 Kc(){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[7216]|0){o=0;t=p;return o|0}f[7218]=1;if(!(f[7219]|0)){if(!(f[7171]|0)){f[a>>2]=28976;Mc(4,a)|0};f[13836]=0;f[13837]=0;f[13838]=0;f[13839]=0;f[13840]=0;f[13841]=0;f[13836]=8;if((f[7210]|0)==0|(f[7211]|0)<512|(f[7212]|0)<1){f[7210]=0;f[7211]=0}a=hb[f[28704>>2]&127](f[7178]|0)|0;if(a|0){f[13836]=0;f[13837]=0;f[13838]=0;f[13839]=0;f[13840]=0;f[13841]=0;o=a;t=p;return o|0}}f[7219]=1;if(!(f[7222]|0))f[7222]=8;c=(f[7221]|0)+1|0;f[7221]=c;if(!(f[7217]|f[7216])){f[7217]=1;a=55372;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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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[7220]|0)){a=f[7190]|0;if(!a){f[n>>2]=29008;Mc(18,n)|0;a=f[7190]|0}a=hb[a&127](f[7189]|0)|0;if(!a)o=94}else o=94;g:do if((o|0)==94){f[7220]=1;if(!(Kc()|0)){do if(!(f[7160]|0)){a=hb[f[28684>>2]&127](10)|0;if(!a){a=7;break g}}else{a=hb[f[28700>>2]&127](10)|0;if((f[14058]|0)>>>0<10)f[14058]=10;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){q=f[14051]|0;o=Ou(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=q>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){a=7;break g}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=c}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{q=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a)}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4704){a=f[1179]|0;f[13866]=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[13866]=4704}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4792){a=f[1201]|0;f[13866]=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=55464}f[a>>2]=4792}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4880){a=f[1223]|0;f[13866]=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=55464}f[a>>2]=4880}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4968){a=f[1245]|0;f[13866]=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=55464}f[a>>2]=4968}a=f[7210]|0;if(f[13880]|0){i=(a|0)==0;j=i?0:f[7212]|0;c=(j|0)==0;i=i|c?0:f[7211]&-8;f[13883]=i;f[13890]=j;f[13884]=j;if((j|0)>90)d=10;else d=((j|0)/10|0)+1|0;f[13885]=d;f[13886]=a;f[13889]=0;f[13891]=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[13889]=a+e;a=a+q|0}f[13887]=a}f[7216]=1;a=0}else a=7}while(0);f[7217]=0;c=f[7221]|0}else a=0;f[7221]=c+-1;if((c|0)>=2){q=a;t=p;return q|0}f[7222]=0;q=a;t=p;return q|0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!a){d=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](b)|0;return d|0}a=hb[f[28700>>2]&127](b)|0;if((f[14058]|0)>>>0>>0)f[14058]=b;b=55352;c=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&c>>>0>0){d=f[14051]|0;b=Ou(c|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&b>>>0<=d>>>0)&1}b=hb[f[28684>>2]&127](a)|0;if(!b){d=0;return d|0}c=hb[f[28696>>2]&127](b)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0){d=b;return d|0}f[14060]=c;d=b;return d|0}if((b|0)==0&(c|0)==0)if(!(f[7160]|0)){nb[f[28688>>2]&127](a);d=0;return d|0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);d=0;return d|0}if(c>>>0>0|(c|0)==0&b>>>0>2147483391){d=0;return d|0}d=hb[f[28696>>2]&127](a)|0;c=hb[f[28700>>2]&127](b)|0;if((c|0)==(d|0)){d=a;return d|0}if(!(f[7160]|0)){d=ib[f[28692>>2]&255](a,c)|0;return d|0}if((f[14058]|0)>>>0>>0)f[14058]=b;b=ib[f[28692>>2]&255](a,c)|0;e=55352;g=f[e+4>>2]|0;if((b|0)==0&((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0))b=ib[f[28692>>2]&255](a,c)|0;if(!b){g=0;return g|0}c=(hb[f[28696>>2]&127](b)|0)-d|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0<=(f[14055]|0)>>>0){g=b;return g|0}f[14055]=c;g=b;return g|0}function Mc(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[7216]|0){f[d>>2]=31157;f[d+4>>2]=153095;f[d+8>>2]=31184;yc(21,31132,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[7171]=f[a>>2];f[7172]=f[a+4>>2];f[7173]=f[a+8>>2];f[7174]=f[a+12>>2];f[7175]=f[a+16>>2];f[7176]=f[a+20>>2];f[7177]=f[a+24>>2];f[7178]=f[a+28>>2];a=0;break}case 5:{if(!(f[7171]|0)){f[e>>2]=28976;Mc(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[7171];f[a+4>>2]=f[7172];f[a+8>>2]=f[7173];f[a+12>>2]=f[7174];f[a+16>>2]=f[7175];f[a+20>>2]=f[7176];f[a+24>>2]=f[7177];f[a+28>>2]=f[7178];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[7160]=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[7165]=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[7210]=a;a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[7211]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7212]=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=28752;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[7190]|0)){f[g>>2]=29008;Mc(18,g)|0}d=(f[c>>2]|0)+(4-1)&~(4-1);a=f[d>>2]|0;f[c>>2]=d+4;c=28752;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[7168]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7169]=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[7223]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7224]=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[7163]=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[7164]=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[7206]=0;f[7207]=0;f[7208]=0;f[7209]=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[7215]=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[7170]=a;a=0;break}default:a=1}while(0);b=a;t=h;return b|0}function Nc(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[13892]|0;if((z|0)!=(Et()|0)?(z=Et()|0,f[13892]=z,(Kc()|0)==0):0)b[56247]=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=wd(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[13893]|0)!=0?(ib[f[5108>>2]&255](c,H)|0)==0:0)?(i=f[13893]|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(Kc()|0){e=7;t=I;return e|0}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](12)|0;if(!i)i=7;else{m=-1;break}t=I;return i|0}i=hb[f[28700>>2]&127](12)|0;if((f[14058]|0)>>>0<12)f[14058]=12;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){v=f[14051]|0;u=Ou(m|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&u>>>0<=v>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){e=7;t=I;return e|0}m=hb[f[28696>>2]&127](i)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=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+(((zt(v)|0)&1073741823)+1)|0,(b[l>>0]|0)!=0):0){while(1){s=wt(l,31728)|0;l=l+(((zt(l)|0)&1073741823)+1)|0;if(!s)break;l=l+(((zt(l)|0)&1073741823)+1)|0;if(!(b[l>>0]|0)){p=0;n=0;m=0;break e}}if(!(ib[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=((zt(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);$u(D|0,v|0,l|0)|0;b[D+l>>0]=0;if(!(ib[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=Ed(v,q,m)|0;do if((l|0)<0){if((B?(s=pt()|0,(f[s>>2]|0)==13):0)?(ib[f[5084>>2]&255](v,0)|0)!=0:0)i=1544;else{s=pt()|0;if(u&(f[s>>2]|0)!=21?(y=Ed(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]=31620;f[w+4>>2]=38389;f[w+8>>2]=31184;yc(14,31132,w);H=pt()|0;H=f[H>>2]|0;j=Gt(H)|0;f[x>>2]=38389;f[x+4>>2]=H;f[x+8>>2]=31360;f[x+12>>2]=(v|0)==0?56244:v;f[x+16>>2]=j;yc(14,31323,x);j=(i|0)==0?14:i;i=e+28|0;break d}else m=g;while(0);if((i|0)!=0?(gb[f[5312>>2]&127]()|0)==0:0){jb[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)hb[f[5252>>2]&127](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+(((zt(c)|0)&1073741823)+1)|0,(b[j>>0]|0)!=0):0){while(1){B=wt(j,31735)|0;j=j+(((zt(j)|0)&1073741823)+1)|0;if(!B)break;j=j+(((zt(j)|0)&1073741823)+1)|0;if(!(b[j>>0]|0)){C=82;break h}}if((Fd(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(!(wt(f[a+16>>2]|0,31313)|0))d[k>>1]=d[k>>1]|1;i:do if(!(l&128)){i=ib[f[f[a+20>>2]>>2]&255](c,e)|0;if((i|0)!=29224){if((i|0)!=29072)break;i=(zt(c)|0)+6|0;j=vd(i,((i|0)<0)<<31>>31)|0;if(j|0){f[E>>2]=c;td(i,j,31740,E)|0;f[e+24>>2]=j;i=29072;break}f[e+24>>2]=0;f[e+20>>2]=0;if((o|0)<=-1){j=7;i=p;break g}if(!(hb[f[5072>>2]&127](o)|0)){j=7;i=p;break g}i=f[n>>2]|0;e=pt()|0;e=f[e>>2]|0;j=Gt(e)|0;f[F>>2]=37976;f[F+4>>2]=e;f[F+8>>2]=31354;f[F+12>>2]=(i|0)==0?56244:i;f[F+16>>2]=j;yc(4106,31323,F);j=7;i=p;break g}l=e+8|0;j:do if(!(ib[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[13893]|0;k:do if(!i)C=93;else{while(1){if(!(Kt(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(Kc()|0){j=7;break}do if(!(f[7160]|0)){i=hb[f[28684>>2]&127](56)|0;if(!i){j=7;break j}}else{i=hb[f[28700>>2]&127](56)|0;if((f[14058]|0)>>>0<56)f[14058]=56;k=55352;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){F=f[14051]|0;E=Ou(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&E>>>0<=F>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){j=7;break j}j=hb[f[28696>>2]&127](i)|0;j=(f[14051]|0)+j|0;f[14051]=j;if(j>>>0>(f[14055]|0)>>>0)f[14055]=j;j=(f[14054]|0)+1|0;f[14054]=j;if(j>>>0<=(f[14060]|0)>>>0)break;f[14060]=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[7161]|0)f[j>>2]=8;f[i+36>>2]=1;j=f[13893]|0;f[i+44>>2]=j;f[i+48>>2]=0;if(j|0)f[j+48>>2]=i;f[13893]=i}f[l>>2]=i;i=29224;break i}else{j=pt()|0;j=f[j>>2]|0;f[e+20>>2]=j;j=(j|0)==75?22:10}while(0);if(hb[f[5072>>2]&127](o)|0){if(!e)i=0;else i=f[n>>2]|0;F=pt()|0;F=f[F>>2]|0;H=Gt(F)|0;f[G>>2]=37891;f[G+4>>2]=F;f[G+8>>2]=31354;f[G+12>>2]=(i|0)==0?56244:i;f[G+16>>2]=H;yc(4106,31323,G)}f[e+20>>2]=0;i=p;break g}else i=29148;while(0);f[e+20>>2]=0;f[e>>2]=i;Gd(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[7160]|0)){nb[f[28688>>2]&127](i);e=j;t=I;return e|0}else{e=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);e=j;t=I;return e|0}return 0}function Oc(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((hb[f[5252>>2]&127](b)|0)==-1){g=pt()|0;if((f[g>>2]|0)==2){g=5898;t=h;return g|0}e=pt()|0;e=f[e>>2]|0;g=Gt(e)|0;f[a>>2]=38519;f[a+4>>2]=e;f[a+8>>2]=31464;f[a+12>>2]=(b|0)==0?56244:b;f[a+16>>2]=g;yc(2570,31323,a);g=2570;t=h;return g|0}if(!(c&1)){g=0;t=h;return g|0}if(!(ib[f[5264>>2]&255](b,e)|0)){if(!(uu(f[e>>2]|0)|0))a=0;else{c=pt()|0;c=f[c>>2]|0;a=Gt(c)|0;f[d>>2]=38529;f[d+4>>2]=c;f[d+8>>2]=31722;f[d+12>>2]=(b|0)==0?56244:b;f[d+16>>2]=a;yc(1290,31323,d);a=1290}if(hb[f[5072>>2]&127](f[e>>2]|0)|0){c=pt()|0;c=f[c>>2]|0;e=Gt(c)|0;f[g>>2]=38531;f[g+4>>2]=c;f[g+8>>2]=31354;f[g+12>>2]=56244;f[g+16>>2]=e;yc(4106,31323,g)}}else a=0;g=a;t=h;return g|0}function Pc(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=(ib[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=(ib[f[5084>>2]&255](b,6)|0)==0&1;f[d>>2]=c;t=e;return 0}return 0}function Qc(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(!(ib[f[5384>>2]&255](c,l)|0))if((f[m>>2]&61440|0)==40960){if(!a){a=Dd(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=jb[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=(zt(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)){av(a+h|0,a|0,g+1|0)|0;$u(a|0,c|0,h|0)|0;g=i;c=0;break}else{f[v>>2]=31620;f[v+4>>2]=38666;f[v+8>>2]=31184;yc(14,31132,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=pt()|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=(zt(k)|0)&1073741823;if((b[k>>0]|0)==47)c=0;else{if(!(ib[f[5096>>2]&255](e,o)|0)){D=27;break}if(p)c=0;else c=(zt(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;td(d-c|0,e+c|0,31564,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]=31620;f[q+4>>2]=38643;f[q+8>>2]=31184;yc(14,31132,q);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[w>>2]=38643;f[w+4>>2]=e;f[w+8>>2]=31552;f[w+12>>2]=(c|0)==0?56244:c;f[w+16>>2]=B;yc(14,31323,w);c=14;D=36}else if((D|0)==9){f[r>>2]=31620;f[r+4>>2]=38654;f[r+8>>2]=31184;yc(14,31132,r);c=14;D=34}else if((D|0)==11){f[s>>2]=31620;f[s+4>>2]=38660;f[s+8>>2]=31184;yc(14,31132,s);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[u>>2]=38660;f[u+4>>2]=e;f[u+8>>2]=31543;f[u+12>>2]=(c|0)==0?56244:c;f[u+16>>2]=B;yc(14,31323,u);c=14;D=34}else if((D|0)==27){f[x>>2]=31620;f[x+4>>2]=38586;f[x+8>>2]=31184;yc(14,31132,x);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[y>>2]=38586;f[y+4>>2]=e;f[y+8>>2]=31372;f[y+12>>2]=c?56244:k;f[y+16>>2]=B;yc(14,31323,y);c=14;D=34}else if((D|0)==32){b[e+c>>0]=0;f[z>>2]=31620;f[z+4>>2]=38595;f[z+8>>2]=31184;yc(14,31132,z);c=14;D=34}if(!a){t=C;return c|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);t=C;return c|0}else{D=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);t=C;return c|0}return 0}function Rc(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;bv(d|0,0,c|0)|0;e=Et()|0;f[13892]=e;while(1){e=jb[f[5060>>2]&127](31709,524288,420)|0;if((e|0)<0){e=pt()|0;if((f[e>>2]|0)!=4){j=8;break}}else{if((e|0)>2)break;hb[f[5072>>2]&127](e)|0;f[g>>2]=31709;f[g+4>>2]=e;yc(28,31567,g);if((jb[f[5060>>2]&127](31610,0,0)|0)<0){j=8;break}}}if((j|0)==8){ab(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[13892]|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((jb[f[5156>>2]&127](e,d,c)|0)>=0)break;j=pt()|0}while((f[j>>2]|0)==4);if(!(hb[f[5072>>2]&127](e)|0)){j=c;t=i;return j|0}d=pt()|0;d=f[d>>2]|0;j=Gt(d)|0;f[h>>2]=38790;f[h+4>>2]=d;f[h+8>>2]=31354;f[h+12>>2]=56244;f[h+16>>2]=j;yc(4106,31323,h);j=c;t=i;return j|0}function Sc(a,b){a=a|0;b=b|0;b=(b+999999|0)/1e6|0;vu(b)|0;return b*1e6|0}function Tc(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;Ua(d|0,0)|0;g=f[d>>2]|0;g=Tu(g|0,((g|0)<0)<<31>>31|0,1e3,0)|0;g=Nu(g|0,ba()|0,1045635584,49096)|0;e=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=Nu(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 Uc(a,b,c){a=a|0;b=b|0;c=c|0;c=pt()|0;return f[c>>2]|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a=t;t=t+16|0;d=a;Ua(d|0,0)|0;e=f[d>>2]|0;e=Tu(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;e=Nu(e|0,ba()|0,1045635584,49096)|0;c=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=Nu(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 Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b|0){do if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(!(wt(b,f[1312]|0)|0))d=16;else{if(!(wt(b,f[1315]|0)|0)){d=17;break}if(!(wt(b,f[1318]|0)|0)){d=18;break}if(!(wt(b,f[1321]|0)|0)){d=19;break}if(!(wt(b,f[1324]|0)|0)){d=20;break}if(!(wt(b,f[1327]|0)|0)){d=21;break}if(!(wt(b,f[1330]|0)|0)){d=22;break}if(!(wt(b,f[1333]|0)|0)){d=23;break}if(!(wt(b,f[1336]|0)|0)){d=24;break}if(!(wt(b,f[1339]|0)|0)){d=25;break}if(!(wt(b,f[1342]|0)|0)){d=26;break}if(!(wt(b,f[1345]|0)|0)){d=27;break}if(!(wt(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 Xc(a,b){a=a|0;b=b|0;do if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(wt(b,f[1312]|0)|0)if(wt(b,f[1315]|0)|0)if(!(wt(b,f[1318]|0)|0))a=18;else{if(!(wt(b,f[1321]|0)|0)){a=19;break}if(!(wt(b,f[1324]|0)|0)){a=20;break}if(!(wt(b,f[1327]|0)|0)){a=21;break}if(!(wt(b,f[1330]|0)|0)){a=22;break}if(!(wt(b,f[1333]|0)|0)){a=23;break}if(!(wt(b,f[1336]|0)|0)){a=24;break}if(!(wt(b,f[1339]|0)|0)){a=25;break}if(!(wt(b,f[1342]|0)|0)){a=26;break}if(!(wt(b,f[1345]|0)|0)){a=27;break}if(!(wt(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 Yc(a,b){a=a|0;b=b|0;var c=0;do if(b)if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(wt(b,f[1312]|0)|0)if(!(wt(b,f[1315]|0)|0))a=17;else{if(!(wt(b,f[1318]|0)|0)){a=18;break}if(!(wt(b,f[1321]|0)|0)){a=19;break}if(!(wt(b,f[1324]|0)|0)){a=20;break}if(!(wt(b,f[1327]|0)|0)){a=21;break}if(!(wt(b,f[1330]|0)|0)){a=22;break}if(!(wt(b,f[1333]|0)|0)){a=23;break}if(!(wt(b,f[1336]|0)|0)){a=24;break}if(!(wt(b,f[1339]|0)|0)){a=25;break}if(!(wt(b,f[1342]|0)|0)){a=26;break}if(!(wt(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 Zc(a,b){a=a|0;b=b|0;return 29072}function _c(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((hb[f[5288>>2]&127](f[d>>2]|0)|0)>=0){b[c>>0]=0;break}c=pt()|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[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+12|0;d=f[c>>2]|0;if((d|0)>-1){if(hb[f[5072>>2]&127](d)|0){h=f[a+32>>2]|0;i=pt()|0;i=f[i>>2]|0;d=Gt(i)|0;f[e>>2]=34408;f[e+4>>2]=i;f[e+8>>2]=31354;f[e+12>>2]=(h|0)==0?56244:h;f[e+16>>2]=d;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 $c(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((su(f[l>>2]|0,d,0)|0)<0){e=3;break}j=jb[f[5156>>2]&127](f[l>>2]|0,i,h)|0;if((h|0)==(j|0)){e=10;break}if((j|0)<0){k=pt()|0;if((f[k>>2]|0)==4)k=1;else{e=7;break}}else{d=Nu(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=pt()|0;f[a+20>>2]=f[g>>2];g=-1}else if((e|0)==7){h=pt()|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;bv(b+g|0,0,c-g|0)|0;c=522;return c|0}function ad(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((su(c,d,0)|0)<0){e=-1;b=6;break a}e=jb[f[5192>>2]&127](c,b,g)|0;if((e|0)>=0)break;k=pt()|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=Nu(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=pt()|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 bd(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=Nu(b|0,c|0,-1,-1)|0;c=Nu(c|0,ba()|0,e|0,g|0)|0;d=ba()|0;if((e|0)>0){b=Uu(c|0,d|0,e|0,g|0)|0;b=Ou(c|0,d|0,b|0,ba()|0)|0;ba()|0}c=f[a+12>>2]|0;do{d=ib[f[5132>>2]&255](c,b)|0;if((d|0)>=0){i=6;break}g=pt()|0}while((f[g>>2]|0)==4);if((i|0)==6?(d|0)==0:0){i=0;t=j;return i|0}g=pt()|0;f[a+20>>2]=f[g>>2];a=f[a+32>>2]|0;g=pt()|0;g=f[g>>2]|0;i=Gt(g)|0;f[h>>2]=36097;f[h+4>>2]=g;f[h+8>>2]=31390;f[h+12>>2]=(a|0)==0?56244:a;f[h+16>>2]=i;yc(1546,31323,h);i=1546;t=j;return i|0}function cd(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(uu(f[a+12>>2]|0)|0){e=pt()|0;f[a+20>>2]=f[e>>2];e=f[a+32>>2]|0;a=pt()|0;a=f[a>>2]|0;g=Gt(a)|0;f[b>>2]=36052;f[b+4>>2]=a;f[b+8>>2]=31698;f[b+12>>2]=(e|0)==0?56244:e;f[b+16>>2]=g;yc(1034,31323,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((ib[f[5264>>2]&255](f[b>>2]|0,e)|0)==0?(uu(f[e>>2]|0)|0,hb[f[5072>>2]&127](f[e>>2]|0)|0):0){a=f[b>>2]|0;b=pt()|0;b=f[b>>2]|0;e=Gt(b)|0;f[g>>2]=36066;f[g+4>>2]=b;f[g+8>>2]=31354;f[g+12>>2]=(a|0)==0?56244:a;f[g+16>>2]=e;yc(4106,31323,g)}d[c>>1]=d[c>>1]&-9;g=0;t=h;return g|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=t;t=t+80|0;c=d;if(!(ib[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=pt()|0;f[a+20>>2]=f[e>>2];e=1802;t=d;return e|0}return 0}function ed(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;db(d|0,0)|0;a=0;return a|0}d=ib[f[5276>>2]&255](d,511)|0;if((d|0)>=0){b[e>>0]=c;a=d;return a|0}c=pt()|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 fd(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((hb[f[5288>>2]&127](d)|0)>=0){b[e>>0]=0;a=0;return a|0}c=pt()|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 gd(a,b){a=a|0;b=b|0;a=(ib[f[5084>>2]&255](f[a+24>>2]|0,0)|0)==0&1;f[b>>2]=a;return 0}function hd(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(!(ib[f[5120>>2]&255](f[o>>2]|0,m)|0)){c=f[g>>2]|0;i=((c|0)<0)<<31>>31;b=Nu(b|0,e|0,-1,-1)|0;b=Nu(b|0,ba()|0,c|0,i|0)|0;k=ba()|0;i=Uu(b|0,k|0,c|0,i|0)|0;i=Ou(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=Nu(i|0,k|0,-1,-1)|0,s=ba()|0,u=Nu(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((su(e,g,0)|0)<0)break c;c=jb[f[5192>>2]&127](e,56244,1)|0;if((c|0)>=0)break;n=pt()|0;if((f[n>>2]|0)!=4)break c}b=Nu(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=pt()|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=ud(31564,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=vd(e,((e|0)<0)<<31>>31)|0;if(!e){a=0;t=w;return a|0}wd(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(!(ib[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 id(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 jd(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 kd(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,(jb[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,(jb[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,(jb[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 ld(a){a=a|0;return}function md(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[7160]|0))nb[f[28688>>2]&127](e);else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[5252>>2]&127](f[g+8>>2]|0)|0;pd(a);return 0}function nd(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 od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function pd(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=gb[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[7160]|0)){nb[f[28688>>2]&127](k);break}else{o=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else ib[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[7160]|0)){nb[f[28688>>2]&127](b);break}else{o=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);c=l+12|0;b=f[c>>2]|0;if((b|0)>-1){if(hb[f[5072>>2]&127](b)|0){if(!a)b=0;else b=f[a+32>>2]|0;a=pt()|0;a=f[a>>2]|0;o=Gt(a)|0;f[m>>2]=36721;f[m+4>>2]=a;f[m+8>>2]=31354;f[m+12>>2]=(b|0)==0?56244:b;f[m+16>>2]=o;yc(4106,31323,m)}f[c>>2]=-1}f[(f[l>>2]|0)+40>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);t=n;return}else{o=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);t=n;return}}function qd(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=Lt(a,b,e)|0;t=d;return c|0}function rd(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;td(512,e,31564,k)|0;a=zt(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=jb[f[5060>>2]&127](e,524288,420)|0;if((a|0)<0){k=pt()|0;if((f[k>>2]|0)!=4){i=14;break}}else{if((a|0)>2){i=13;break}hb[f[5072>>2]&127](a)|0;f[d>>2]=e;f[d+4>>2]=a;yc(28,31567,d);if((jb[f[5060>>2]&127](31610,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]=31620;f[h+4>>2]=36011;f[h+8>>2]=31184;yc(14,31132,h);i=pt()|0;i=f[i>>2]|0;k=Gt(i)|0;f[g>>2]=36011;f[g+4>>2]=i;f[g+8>>2]=31471;f[g+12>>2]=e;f[g+16>>2]=k;yc(14,31323,g);k=14;t=j;return k|0}return 0}function sd(){return $a(30)|0}function td(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;zc(h,e,i);b[c+(f[h+16>>2]|0)>>0]=0;t=j;return c|0}function ud(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(Kc()|0){j=0;t=k;return j|0}f[h>>2]=c;do if(!(Kc()|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;zc(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=Ac(j)|0;break}c=f[i>>2]|0}else c=0;while(0);j=c;t=k;return j|0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0;c=(Kc()|0)!=0;b=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](a)|0;return d|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;a=55352;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[14051]|0;a=Ou(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=hb[f[28684>>2]&127](c)|0;if(!a){d=0;return d|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0<=(f[14060]|0)>>>0){d=a;return d|0}f[14060]=b;d=a;return d|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,l=0,m=0;k=t;t=t+112|0;j=k+80|0;i=k;b[c>>0]=0;d=f[13842]|0;if(!(f[1352]|0)){g=Ta(31637)|0;f[1352]=g}if(!(f[1353]|0)){g=Ta(31651)|0;f[1353]=g}e=i+12|0;g=d;d=0;while(1){if(((g|0?(ib[f[5108>>2]&255](g,i)|0)==0:0)?(f[e>>2]&61440|0)==16384:0)?(ib[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){xd(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;td(a,c,31658,j)|0;if(d>>>0>10|(b[e>>0]|0)!=0){d=1;h=16;break}if(!(ib[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 xd(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(Kc()|0){t=i;return}if((a|0)<1|(c|0)==0){b[56247]=0;t=i;return}if(!(b[56247]|0)){b[56249]=0;b[56248]=0;d=(Kc()|0)==0;d=d?f[13866]|0:0;jb[f[d+56>>2]&127](d,256,g)|0;d=0;do{b[56250+d>>0]=d;d=d+1|0}while((d|0)!=256);d=0;e=b[56249]|0;do{j=56250+d|0;m=b[j>>0]|0;l=(h[g+d>>0]|0)+(m&255)+(e&255)|0;e=l&255;l=56250+(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[56249]=e;b[56247]=1}while(1){l=(b[56248]|0)+1<<24>>24;b[56248]=l;l=56250+(l&255)|0;j=b[l>>0]|0;m=j&255;k=(h[56249]|0)+m|0;b[56249]=k;k=56250+(k&255)|0;b[l>>0]=b[k>>0]|0;b[k>>0]=j;b[c>>0]=b[56250+((h[l>>0]|0)+m&255)>>0]|0;a=a+-1|0;if(!a)break;else c=c+1|0}t=i;return}function yd(a,b){a=a|0;b=b|0;return 29148}function zd(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(hb[f[5072>>2]&127](c)|0){g=f[a+32>>2]|0;h=pt()|0;h=f[h>>2]|0;c=Gt(h)|0;f[d>>2]=34408;f[d+4>>2]=h;f[d+8>>2]=31354;f[d+12>>2]=(g|0)==0?56244:g;f[d+16>>2]=c;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ad(a,b){a=a|0;b=b|0;return 0}function Bd(a,b){a=a|0;b=b|0;return 0}function Cd(a,b){a=a|0;b=b|0;f[b>>2]=0;return 0}function Dd(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1|(Kc()|0)!=0){c=0;return c|0}c=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](a)|0;return c|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;b=55352;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){d=f[14051]|0;b=Ou(a|0,b|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&b>>>0<=d>>>0)&1}b=hb[f[28684>>2]&127](c)|0;if(!b){d=0;return d|0}a=hb[f[28696>>2]&127](b)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0<=(f[14060]|0)>>>0){d=b;return d|0}f[14060]=a;d=b;return d|0}function Ed(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=jb[f[5060>>2]&127](a,g,e)|0;if((d|0)<0){l=pt()|0;if((f[l>>2]|0)!=4){a=13;break}}else{if((d|0)>2){a=7;break}hb[f[5072>>2]&127](d)|0;f[h>>2]=a;f[h+4>>2]=d;yc(28,31567,h);if((jb[f[5060>>2]&127](31610,b,c)|0)<0){d=-1;a=13;break}}}if((a|0)==7){if(!j){l=d;t=k;return l|0}if(((ib[f[5120>>2]&255](d,i)|0)==0?(f[i+36>>2]|0)==0:0)?(f[i+12>>2]&511|0)!=(c|0):0)ib[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 Fd(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;Nd(a,e)|0;d=f[e>>2]&255}else{g=zt(a)|0;e=(g&1073741823|0)==2;b:do if(!c){if(e){if(!(Od(5440,a,2)|0)){d=0;break}if(!(Od(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Od(5442,a,3)|0)){d=2;break b}if(!(Od(5449,a,3)|0)){d=4;break b}else break a}case 5:{if(!(Od(5444,a,5)|0)){d=3;break b}if(!(Od(5455,a,5)|0)){d=6;break b}else break a}case 4:{if(!(Od(5452,a,4)|0)){d=5;break b}if(!(Od(5460,a,4)|0)){d=7;break b}else break a}default:break a}}else{if(e){if(!(Od(5440,a,2)|0)){d=0;break}if(!(Od(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Od(5442,a,3)|0)){d=2;break b}if(!(Od(5449,a,3)|0)){d=4;break b}else break a}case 5:if(!(Od(5444,a,5)|0)){d=3;break b}else break a;case 4:if(!(Od(5452,a,4)|0)){d=5;break b}else break a;default:break a}}while(0);d=b[31876+d>>0]|0}while(0);t=i;return d|0}function Gd(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(ib[f[5120>>2]&255](f[a+12>>2]|0,b)|0){f[c>>2]=f[a+32>>2];yc(28,31748,c);t=j;return}switch(f[b+16>>2]|0){case 0:{f[e>>2]=f[a+32>>2];yc(28,31772,e);t=j;return}case 1:{c=a+8|0;if(!(f[c>>2]|0)){t=j;return}b=a+32|0;if(!(ib[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];yc(28,31828,i);t=j;return}default:{f[g>>2]=f[a+32>>2];yc(28,31801,g);t=j;return}}}function Hd(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;Gd(a);Jd(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(hb[f[5072>>2]&127](f[c>>2]|0)|0){l=f[e>>2]|0;m=pt()|0;m=f[m>>2]|0;k=Gt(m)|0;f[g>>2]=33628;f[g+4>>2]=m;f[g+8>>2]=31354;f[g+12>>2]=(l|0)==0?56244:l;f[g+16>>2]=k;yc(4106,31323,g)}if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13893]=b;else{f[d+44>>2]=b;b=f[c>>2]|0}if(b|0)f[b+48>>2]=d;if(!(f[7160]|0)){nb[f[28688>>2]&127](h);break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(hb[f[5072>>2]&127](c)|0){l=f[a+32>>2]|0;k=pt()|0;k=f[k>>2]|0;m=Gt(k)|0;f[i>>2]=34408;f[i+4>>2]=k;f[i+8>>2]=31354;f[i+12>>2]=(l|0)==0?56244:l;f[i+16>>2]=m;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Id(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=jb[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=jb[A&127](i,13,h)|0;A=16}while(0);if((A|0)==16?i|0:0)A=17;if((A|0)==17){g=pt()|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=jb[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=jb[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=pt()|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=jb[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=jb[A&127](h,13,q)|0;A=37}while(0);if((A|0)==37)if((g|0)==0&(h|0)!=0){e=pt()|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=jb[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=jb[A&127](v,13,r)|0;A=54}while(0);if((A|0)==54?(v|0)==0:0){A=58;break}g=pt()|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 Jd(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=jb[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=jb[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=pt()|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=jb[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=jb[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=pt()|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=jb[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=jb[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=pt()|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(hb[f[5072>>2]&127](f[g>>2]|0)|0){a=f[h>>2]|0;x=pt()|0;x=f[x>>2]|0;B=Gt(x)|0;f[z>>2]=33628;f[z+4>>2]=x;f[z+8>>2]=31354;f[z+12>>2]=(a|0)==0?56244:a;f[z+16>>2]=B;yc(4106,31323,z)}if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{B=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Kd(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(!(jb[k&127](e,12,g)|0)){e=0;a=(d[i>>1]|0)!=2&1}else{e=pt()|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 Ld(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=gb[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(Kc()|0){h=7;t=E;return h|0}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](16)|0;if(!i){h=7;t=E;return h|0}else u=i}else{i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){u=f[14051]|0;q=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=u>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){h=7;t=E;return h|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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(!(ib[f[5120>>2]&255](f[a+12>>2]|0,y)|0)){m=zt(l)|0;i=m+42|0;k=vd(i,0)|0;if(!k)i=7;else{bv(k|0,0,i|0)|0;q=k+36|0;f[k+8>>2]=q;f[r>>2]=l;td(m+6|0,q,31856,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[7161]|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+(((zt(i)|0)&1073741823)+1)|0,(b[s>>0]|0)!=0):0){i=s;while(1){s=wt(i,31863)|0;i=i+(((zt(i)|0)&1073741823)+1)|0;if(!s)break;i=i+(((zt(i)|0)&1073741823)+1)|0;if(!(b[i>>0]|0)){B=26;break c}}if((Fd(i,1,0)|0)<<24>>24)m=f[l>>2]|0;else B=26}else B=26;while(0);if((B|0)==26){m=Ed(q,66,f[y+12>>2]&511)|0;f[l>>2]=m}do if((m|0)<0){m=Ed(q,0,f[y+12>>2]&511)|0;f[l>>2]=m;if((m|0)<0){f[v>>2]=31620;f[v+4>>2]=36901;f[v+8>>2]=31184;yc(14,31132,v);h=pt()|0;h=f[h>>2]|0;i=Gt(h)|0;f[w>>2]=36901;f[w+4>>2]=h;f[w+8>>2]=31360;f[w+12>>2]=q;f[w+16>>2]=i;yc(14,31323,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(!(gb[f[5312>>2]&127]()|0))jb[f[5300>>2]&127](m,i,l)|0;i=Md(a,k)|0;switch(i|0){case 0:case 1288:break;default:break b}}else i=0;break a}}else i=1802;while(0);pd(a);if(!(f[7160]|0)){nb[f[28688>>2]&127](u);h=i;t=E;return h|0}else{h=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Md(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(!(ib[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((su(k,l,0)|0)<0){B=56;break e}m=jb[f[5192>>2]&127](k,56244,1)|0;if((m|0)>=0)break;g=pt()|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=pt()|0;e=f[e>>2]|0;i=Gt(e)|0;f[z>>2]=37045;f[z+4>>2]=e;f[z+8>>2]=31425;f[z+12>>2]=(D|0)==0?56244:D;f[z+16>>2]=i;yc(4874,31323,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((Kc()|0)==0?(A=Lc(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=mb[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=vd(n,p)|0;if(!i){i=7;break f}bv(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((mb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,B)|0)==(-1|0))break g}else{i=vd(n,p)|0;if(!i){i=7;break f}bv(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=pt()|0;C=f[C>>2]|0;i=Gt(C)|0;f[D>>2]=37072;f[D+4>>2]=C;f[D+8>>2]=31512;f[D+12>>2]=(e|0)==0?56244:e;f[D+16>>2]=i;yc(5386,31323,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 Md(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(jb[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,(jb[o&127](e,13,h)|0)==-1):0){o=5;t=m;return o|0}e=f[g>>2]|0;do{g=ib[f[5132>>2]&255](e,3)|0;if((g|0)>=0){j=12;break}o=pt()|0}while((f[o>>2]|0)==4);if((j|0)==12?(g|0)==0:0)break a;n=f[c+8>>2]|0;l=pt()|0;l=f[l>>2]|0;o=Gt(l)|0;f[i>>2]=36778;f[i+4>>2]=l;f[i+8>>2]=31390;f[i+12>>2]=(n|0)==0?56244:n;f[i+16>>2]=o;yc(4618,31323,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=(jb[o&127](a,13,l)|0)==-1;a=a?5:0}else a=0;o=a;t=m;return o|0}function Nd(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Ou(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 Od(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 Pd(a,b){a=a|0;b=b|0;return 29224}function Qd(a){a=a|0;var b=0;a=55468;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=(f[7210]|0)==0;f[13881]=a&1;b=f[7212]|0;f[13882]=a&(b|0)!=0?b:0;f[13870]=10;f[13880]=1;return 0}function Rd(a){a=a|0;var b=0;a=55468;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Sd(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[13881]|0)*52|0)+64|0;h=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](i)|0;if(!e){d=0;return d|0}else g=e}else{e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){j=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=j>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){j=0;return j|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}bv(g|0,0,i|0)|0;if(!(f[13881]|0))e=55468;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;de(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=55576;f[g+4>>2]=e;if(f[g+48>>2]|0){j=g;return j|0}Zd(g);j=0;return j|0}function Td(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;$d(a);return}function Ud(a){a=a|0;return f[a+44>>2]|0}function Vd(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=ce(a,b,c)|0;return c|0}function Wd(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;be(b);return}function Xd(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 Yd(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){be(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;be(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 Zd(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)be(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;be(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;$d(a);b=f[a+60>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{n=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{n=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{n=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function _d(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;$d(a);f[b>>2]=c;return}function $d(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;ae(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[7160]|0))nb[f[28688>>2]&127](d);else{j=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}f[a+56>>2]=0;f[c>>2]=0;return}function ae(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;be(a);return}function be(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[13886]|0)>>>0<=a>>>0)if((f[13887]|0)>>>0>a>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;c=(f[13890]|0)+1|0;f[13890]=c;f[13891]=(c|0)<(f[13885]|0)&1;break a}else{a=hb[f[28696>>2]&127](c)|0;break}else a=hb[f[28696>>2]&127](c)|0;while(0);f[14053]=(f[14053]|0)-a;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 ce(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[13884]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[13883]|0):0)d=55564;else d=55360;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)de(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[13884]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[13883]|0):0)d=55564;else d=55360;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{be(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[13882]|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=Tu(d|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;i=ba()|0}else{h=Tu(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=Tu(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=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](d)|0;break}h=hb[f[28700>>2]&127](d)|0;if((f[14058]|0)>>>0>>0)f[14058]=d;g=55352;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[14051]|0;o=Ou(d|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(g){d=hb[f[28696>>2]&127](g)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}else g=0}else g=0;while(0);f[a+60>>2]=g;if(!g)d=f[m>>2]|0;else{d=hb[f[28696>>2]&127](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[13883]|0)>=(h|0)?(e=f[13889]|0,(e|0)!=0):0){f[13889]=f[e>>2];s=f[13890]|0;f[13890]=s+-1;f[13891]=(s|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=h;d=(f[14052]|0)+1|0;f[14052]=d;if(d>>>0>(f[14056]|0)>>>0)f[14056]=d}else r=54;do if((r|0)==54){s=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](h)|0;if(!e){e=0;break}}else{e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[14051]|0;o=Ou(d|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break}d=hb[f[28696>>2]&127](e)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}d=hb[f[28696>>2]&127](e)|0;if((f[14059]|0)>>>0>>0)f[14059]=h;d=(f[14053]|0)+d|0;f[14053]=d;if(d>>>0>(f[14057]|0)>>>0)f[14057]=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 de(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=ee(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)}fe(f[c>>2]|0);f[c>>2]=e;f[d>>2]=h;return}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=Nu(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[7160]|0)){b=hb[f[28684>>2]&127](a)|0;if(!b){d=0;return d|0}}else{b=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){e=f[14051]|0;d=Ou(c|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=e>>>0)&1}b=hb[f[28684>>2]&127](b)|0;if(!b){e=0;return e|0}c=hb[f[28696>>2]&127](b)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}bv(b|0,0,a|0)|0;e=b;return e|0}function fe(a){a=a|0;var b=0;if(!a)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function ge(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=Gc(c,1)|0;break}else return;while(0);if(!c)return;h=pf(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{$e(c,h,e);return}}function he(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=Dc(+p[c>>3])|0;ba()|0;d=7;break}if(!(d&18)){c=5872;d=8}else{c=Ec(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<6){c=5872+(c<<2)|0;d=8}else c=0;if((d|0)==8)c=f[c>>2]|0;if((Ze(f[a>>2]|0,c,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ie(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(f[a>>2]|0,31125,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function je(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=Gc(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=Ye(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=Gc(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=Tu(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;Ze(k,32336,-1,1,0)|0;return}o=Nu(c|0,j|0,-1,-1)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[7160]|0)){j=hb[f[28684>>2]&127](c)|0;if(!j)break}else{e=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;k=55352;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){o=f[14051]|0;n=Ou(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}j=hb[f[28684>>2]&127](e)|0;if(!j)break;k=hb[f[28696>>2]&127](j)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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{af(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=29300;m=32444;c=1;n=29300;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)?(Kt(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,(Kt(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{r=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if((Ze(f[a>>2]|0,i,g,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ke(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=((lf(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);kf(a,e);return}function le(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=ff(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(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=lf(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)af(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(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)af(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}function me(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;if(!((d[c>>1]|0)!=0?(kf(a,b),(d[c>>1]&9216)!=0):0))e=7;if((e|0)==7?(f[b+24>>2]|0)==0:0)return;df(b);return}function ne(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;if(!(d[b+8>>1]|0))return;kf(a,b);return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function pe(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=Ye(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{$e(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=Gc(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{$e(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{af(c);return}}}}function qe(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=Ye(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=Ye(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=Gc(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=Gc(i,1)|0;break}else return}else{g=jf(g)|0;c=0;j=jf(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(!(Kt(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(!(Kt(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{$e(g,c,i);return}}function re(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=Gc(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;of(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=Ac(m)|0;else g=f[i>>2]|0;if((Ze(f[a>>2]|0,g,h,1,108)|0)!=18){t=n;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=n;return}function se(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=Gc(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{$e(e,c,g);return}}function te(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=vd(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{af(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=Dc(+p[h>>3])|0;h=ba()|0;o=18;break}if(!(i&18)){m=g;l=1;h=0}else{i=Ec(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((Ze(f[a>>2]|0,q,g,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}do if(94!=-1)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{o=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);if(!a)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ue(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=Dc(+p[e>>3])|0;e=ba()|0;j=8;break}if(!(c&18)){c=0;i=0}else{c=Ec(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=Ou(0,0,c|0,e|0)|0;i=ba()|0;break}f[a+20>>2]=1;Ze(f[a>>2]|0,32380,-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{$e(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{af(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=+Fc(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 af(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 ve(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=Dc(+p[g>>3])|0;ba()|0;break}if(!(c&18)){c=0;break a}c=Ec(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=+Fc(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=ud(32411,i)|0;if(c|0){gf(c,j,(zt(c)|0)&1073741823,1)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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 af(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 we(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=Gc(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=Ye(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=Nu(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;Ze(c,32336,-1,1,0)|0;return}do if(i>>>0<=2147483390){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;if(!c)break}else{e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){h=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=h>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,i,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 xe(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=Gc(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=Ye(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=Nu(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;Ze(c,32336,-1,1,0)|0;return}do if(j>>>0<=2147483390){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;if(!c)break}else{e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){i=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=i>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,j,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 ko(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{ko(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))}ko(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{ko(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))}ko(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}function lo(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=Mo(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=Mo(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=Mo(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=Mo(a,f[d>>2]|0)|0;f[d>>2]=e;d=c+36|0;e=Mo(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){lo(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=Mo(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 mo(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{rl(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 rl(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}Ho(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;og(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=55600;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=Xk(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{rl(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{rl(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){sl(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{rl(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;og(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:Io(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{rl(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 rl(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=rl(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{rl(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 rl(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=rl(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=rl(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 rl(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 rl(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 Po(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){Po(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=rl(P,102,M,H,s)|0;n=f[P>>2]|0;do if(b[n+81>>0]|0){if((H|0)!=-12)og(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}sl(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=rl(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{rl(P,70,1,N,0)|0;F=237;break c}}case 10:{if(G){Po(a,O,c,M,y,H,D);t=Q;return}break}case 9:case 13:{if(G){Po(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{rl(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{rl(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=rl(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 rl(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 rl(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 rl(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 rl(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 rl(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=rl(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=55600;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{rl(P,49,g,m,0)|0;t=Q;return}}function no(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){li(a,48434,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=mb[h&127](f[g+316>>2]|0,33,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,i);f[a+12>>2]=23;t=J;return}if((g|2|0)==2){if(!g)break;t=J;return}else{li(a,40505,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=Jc(m,g,l,0)|0;if(!h){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(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{rl(I,113,o,p,0)|0;break}}else{l=No(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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;Im(a,1,48483,q);q=Il(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=rl(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 rl(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{rl(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{rl(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 rl(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=Jc(m,g,l,0)|0;if(h|0){g=h;break}if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{q=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(I,47,u,g,1)|0;break}}while(0);mo(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{rl(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;Im(a,1,48531,H);Il(a,c,F)|0;f[D>>2]=E}else li(a,48489,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 rl(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)hg(f[a>>2]|0,g);f[z>>2]=A;f[x>>2]=y;t=J;return}function oo(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=Jc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{V=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{V=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bk(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=kl(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=Bc(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=No(a,c)|0;J=0;I=i}f[s>>2]=m;G=Gk(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 rl(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=Bc(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;bv(l+24|0,0,m+-4|0)|0;k=l}if((o|0)>0){i=l+16|0;g=0;do{G=qo(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]=39800;li(a,40188,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;Lk(a,m,i+-1|0,f[l>>2]|0,39800,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]=39800;f[w+8>>2]=k;li(a,40066,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]=39800;li(a,40188,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;Lk(a,m,i+-1|0,f[l>>2]|0,39800,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]=39800;f[C+8>>2]=k;li(a,40066,C)}}while(0);po(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 rl(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{rl(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)gg(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[F>>2]=g;Im(a,1,48412,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=rl(X,13,x,0,i)|0;f[V+12>>2]=m;Im(a,1,48423,H);Il(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 rl(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=55600;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=rl(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;Im(a,1,48428,L);Il(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 rl(X,67,y,0,0)|0;q=f[W>>2]|0;b[q+19>>0]=0;f[q+28>>2]=0;q=Oo(a,c,N,e,v,p,A,P)|0;s=(E+-123&255)<2;if(s)r=Oo(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{O=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-O;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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[22944+(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[22944+(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=rl(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 rl(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{rl(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=rl(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 rl(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 rl(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=rl(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{rl(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{rl(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 rl(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 rl(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=55600;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 rl(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 rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](K);break}else{T=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Q);break}else{T=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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)kg(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=55600;g=f[g+8>>2]|0}f[k>>2]=g;a=(f[a+36>>2]|0)!=0&1;t=$;return a|0}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;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=ql(a)|0}else v=g;g=q+12|0;do if(!(yk(f[g>>2]|0,h)|0)){g=f[g>>2]|0;do if(g){if((b[g>>0]|0)!=-92){m=vl(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{rl(k,78,g,w,0)|0;break}}else{m=vl(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{rl(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 rl(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{rl(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 rl(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{rl(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=Zu(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=Yu(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=Yu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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{rl(k,78,g,m,0)|0;break}}else{i=vl(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{rl(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 rl(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{rl(v,153,w,l,m)|0;t=x;return}}function qo(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=qo(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=Xk(a,f[b+4+(c*20|0)>>2]|0)|0;return c|0}function ro(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:{ro(a,f[c+16>>2]|0);ro(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]=132;f[o+8>>2]=133;f[o+24>>2]=0;if(c){mi(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=Xk(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=Xk(h,m)|0,n|0):0){l=n;v=14}if((v|0)==14){if((f[l+12>>2]|0)!=77)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=Bc(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=Jc(l,r,k,0)|0;if(!g){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);v=48;break}else{v=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=132;f[o+8>>2]=133;f[o+24>>2]=0;l=(e|0)==0;if(!l){mi(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=Xk(i,e)|0;v=66;break}h=Xk(i,c)|0;if(!h){p=Xk(i,e)|0;v=66}else{q=h;v=67}}else{p=Xk(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)!=77){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=Bc(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=Jc(m,w,l,0)|0;if(!h){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);v=101;break}else{v=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 so(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=zk(f[f[m>>2]>>2]|0,a,0,0)|0;f[c+12>>2]=a;o=1;return o|0}function to(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 uo(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=(uo(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]=132;f[n+8>>2]=133;f[n+24>>2]=g;mi(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=zk(f[a>>2]|0,e,0,0)|0;ko(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=Mo(n,r)|0;q=(f[j+8>>2]&8|0)==0;p=j+36|0;c=j+44|0;r=il(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 vo(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=ql(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{E=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{D=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;wo(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=rl(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 rl(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 rl(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 rl(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{rl(m,78,i,z,0)|0;break}}else{i=vl(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{rl(u,79,i,z,0)|0;break}}}while(0);Lo(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{rl(m,78,i,p,0)|0;break}}else{l=vl(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{rl(w,79,l,p,0)|0;break}}}while(0);Lo(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 rl(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 rl(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{rl(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 rl(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 rl(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{rl(K,78,k,p,0)|0;break}}while(0);u=xo(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 rl(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 rl(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 rl(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=rl(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 rl(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=rl(K,11,0,0,0)|0;yo(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 rl(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=55600;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=55600;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=55600;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=rl(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=rl(K,47,z,0,1)|0;break}}else m=0;while(0);Ao(a,H,0);Ko(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 rl(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 rl(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=55600;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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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{rl(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{rl(K,5,F,i,0)|0;break}}while(0);yo(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=55600;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 rl(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 rl(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 rl(K,66,J,0,0)|0;i=f[D>>2]|0;if(b[(f[K>>2]|0)+81>>0]|0){K=55600;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 wo(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=ql(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 rl(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 rl(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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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{rl(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 rl(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 rl(z,122,k,v,w)|0;rn(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{rl(z,12,g,h,0)|0;return}}function xo(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=ql(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 rl(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)==33002|(i|0)==33012){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 rl(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{rl(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 rl(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{rl(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 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 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=ql(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 rl(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{rl(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=rl(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 rl(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 rl(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 rl(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{rl(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=rl(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 rl(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=55600;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=55600;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{rl(j,83,k,1,0)|0;break}}H=f[l+32>>2]|0;if(!((H|0)==33024|(H|0)==33029)){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{rl(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=rl(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=Xk(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=rl(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){sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=55600;f[k+8>>2]=l}}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function zo(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=ql(a)|0}else o=k;Ao(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=rl(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 rl(o,11,0,0,0)|0;Ko(a,c,g,h);k=c+36|0;if(i|0)yo(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 rl(o,5,k,e,0)|0;k=f[m>>2]|0;if(b[(f[o>>2]|0)+81>>0]|0){p=55600;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 Ao(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=ql(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 rl(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 rl(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 rl(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=55600;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{rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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{rl(g,73,0,a,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Bo(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=Bc(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=Jc(i,a,k,l)|0;r=31;break}e=Jc(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(!(Ak(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=Bc(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=Jc(k,a,l,m)|0;r=71;break}e=Jc(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=Pk(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 Co(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+1;return 0}function Do(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+-1;return}function Eo(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]=147;f[l+8>>2]=0;f[l+24>>2]=i;f[l>>2]=j;mi(l,c)|0;if(!(b[k>>0]|0)){l=1;t=m;return l|0}j=f[f[a>>2]>>2]|0;k=Bk(j,143,10008,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=il(j,e,k)|0;f[d>>2]=l;b[a+20>>0]=1;l=1;t=m;return l|0}function Fo(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);Ho(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=Jc(o,k,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);i=0;break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Io(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=Xk(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=rl(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){sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=vl(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{rl(l,78,g,p,0)|0;break}}else{J=vl(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{rl(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=55600;f[g+8>>2]=h;return}function Go(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 rl(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=Bc(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=Xk(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}li(a,48201,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 Ho(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{rl(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]=132;f[v>>2]=133;f[w>>2]=0;if(g){mi(B,g)|0;if(!(b[s>>0]|0))break}Nm(a,g,h+e|0)|0;break a}while(0);j=h+e|0;c=vl(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=55600;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{rl(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 Io(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=rl(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 rl(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=rl(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 Jo(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((Ak(0,c,d,-1)|0)<2){e=f[a>>2]|0;d=Xk(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)==77?(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=hm(a,c)|0;return c|0}else{b[a+20>>0]=0;c=2;return c|0}return 0}function Ko(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=ql(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)==33002|(k|0)==33012){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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{u=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(D,73,0,k,0)|0;do if((f[v>>2]|0)!=33002){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{rl(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 rl(D,90,k,l,p)|0;Lo(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 rl(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 rl(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 rl(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 rl(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)==33024|(k|0)==33029){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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{p=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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 rl(D,129,s,p,0)|0;k=(f[v>>2]|0)==33024;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{rl(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 rl(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 rl(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 rl(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 rl(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{rl(D,12,e,g,0)|0;return}}function Lo(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=ql(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 rl(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 rl(g,15,c,i,0)|0;i=f[29712+(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 rl(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 rl(g,69,1,2,0)|0;if(!(b[(f[g>>2]|0)+81>>0]|0)){c=f[29724+(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 Mo(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)){li(g,40340,j);break}else{f[i>>2]=f[f[f[l+20>>2]>>2]>>2];f[i+4>>2]=1;li(g,45521,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=zk(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}gg(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=Mo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+16|0;m=Mo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+20|0;if(f[n>>2]&2048|0){lo(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=Mo(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 No(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=Bc(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;bv(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=qo(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=(zt(i)|0)&1073741823;f[n>>2]=p;if((p|0)!=0?(u=Bk(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=Xk(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 Oo(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=Jc(r,m,q,0)|0;if(!n){if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{v=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=rl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{r=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=55600;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 rl(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{rl(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{rl(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 rl(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 rl(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 rl(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=rl(G,102,n,p,t)|0;n=f[G>>2]|0;do if(b[n+81>>0]|0){if((p|0)!=-12)og(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}sl(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=rl(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{rl(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 rl(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{rl(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{rl(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{rl(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{rl(G,66,h,0,0)|0;G=F;return G|0}return 0}function Po(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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{y=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Ho(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{rl(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{rl(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)Ho(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 rl(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=rl(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=rl(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 rl(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=55600;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;bv(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{t=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;bv(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=Xk(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 rl(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=Jc(q,k,o,0)|0;if(l|0){k=l;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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{rl(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=55600;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 rl(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=55600;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 rl(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 rl(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=rl(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{rl(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)Ho(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{rl(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=rl(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=55600;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=55600;f[k+8>>2]=l;return}function Qo(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=ql(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=aj(f[s>>2]|0,0,s,l,0,542)|0;if(i|0){li(q,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[j>>2]=f[13889];f[13889]=j;o=(f[13890]|0)+1|0;f[13890]=o;f[13891]=(o|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](j)|0;x=21;break}else{i=hb[f[28696>>2]&127](j)|0;x=21}while(0);do if((x|0)==21){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](j);break}else{o=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[r>>2]=0}r=gh(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{rl(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{Zl(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;Rl(a,48652,w);p=c}x=f[p>>2]|0;f[y>>2]=f[i>>2];f[y+4>>2]=34444;f[y+8>>2]=x;Rl(a,48697,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}Sl(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=rl(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;sl(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=rl(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;sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[j+4>>2]|0;if(l|0)gg(B,l);l=f[j+8>>2]|0;d:do if(l|0){if(f[p>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{a=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ro(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=Yu(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=Yu(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=Zu(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[7920+((b&7)<<1)>>1]|0)&65535;a=a+48|0;d[a>>1]=k;return}function So(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{rl(w,70,k,g,0)|0;t=x;return}}q=f[c+8>>2]|0;c=Um(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=Ou(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=Bc(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=rl(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{sl(w,l+(c*20|0)|0,k,-14);break}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{n=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=50074;u=9}else{c=k&255;if(k<<24>>24==48){c=b[q+1>>0]|0;if(!(c<<24>>24)){c=50075;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){gf(q,v,(zt(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=Bc(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=rl(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{sl(w,i+(c*20|0)|0,l,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{w=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(w,i+(c*20|0)|0,0,-13)}}break}f[s>>2]=r?33713:56244;f[s+4>>2]=q;li(a,50077,s)}while(0);t=x;return}function To(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(!(lb[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=((zt(e)|0)&1073741823)+41|0;a:do if(!a){if(!(f[7160]|0)){e=hb[f[28684>>2]&127](h)|0;i=34;break}e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;d=55352;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){a=f[14051]|0;d=Ou(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&d>>>0<=a>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){m=c;t=n;return m|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,h,0)|0;i=34}while(0);if((i|0)==34)if(!e){m=c;t=n;return m|0}else a=e;bv(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=((zt(g)|0)&1073741823)+1|0;$u(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 Uo(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 Vo(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 Wo(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)mi(a,c)|0;b=f[b+28>>2]|0;if(!b)return;do{wk(a,f[b+8>>2]|0)|0;c=f[b+16>>2]|0;if(c|0)mi(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?mi(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?mi(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?mi(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)mi(a,c)|0;c=f[g+4>>2]|0;if(c|0)mi(a,c)|0}b=f[b+36>>2]|0}while((b|0)!=0);return} -function Ul(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(Ul(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(Gl(a,f[e>>2]|0)|0){c=1;e=17;break}if(Ul(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];li(d,46069,h);h=1;t=i;return h|0}else if((e|0)==17){t=i;return c|0}return 0}function Vl(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=rl(a,143,c,0,0)|0;Mm(a,g,e,-7);if((f[(f[a>>2]|0)+20>>2]|0)<=0)return;g=0;do{Sm(a,g);g=g+1|0}while((g|0)<(f[(f[a>>2]|0)+20>>2]|0));return}function Wl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[i>>2]=0;f[l>>2]=f[p>>2]}if(Gl(a,f[l+20>>2]|0)|0){d=1;e=30;break}if(Ul(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(Ul(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;li(g,46023,q);s=1;t=r;return s|0}else if((e|0)==30){t=r;return d|0}return 0}function Xl(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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;li(a,45981,j);l=1;t=k;return l|0}function Yl(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](m)|0;q=25;break}i=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;n=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&n>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){d=0;return d|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(p,m,0)|0;q=25}while(0);if((q|0)==25)if(!i){d=0;return d|0}else r=i;bv(r|0,0,m|0)|0;n=r+44|0;$u(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=Nu(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=Bc(p,m,n)|0;if(i){$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;q=82;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){p=f[14051]|0;g=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=p>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){d=r;return d|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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 Zl(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=55580;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=55580;break}}}while(0);n=e+16|0;l=f[(f[n>>2]|0)+(v<<4)>>2]|0;k=(v|0)==1;m=k?39516:34444;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=mb[i&127](f[e+316>>2]|0,k,j,g,l,f[a+236>>2]|0)|0;if((e|0)==1){li(a,40490,o);f[a+12>>2]=23;t=w;return}if((e|2|0)!=2){li(a,40505,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=mb[g&127](f[e+316>>2]|0,9,m,0,l,f[a+236>>2]|0)|0;if((e|0)==1){li(a,40490,r);f[a+12>>2]=23;t=w;return}if((e|2|0)==2){if(!e)break;t=w;return}else{li(a,40505,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=ql(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]=34444;f[u+8>>2]=j;Rl(a,45930,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 rl(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=rl(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;sl(k,(f[k+88>>2]|0)+(e*20|0)|0,i,0);t=w;return}function _l(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]=123;f[r+8>>2]=124;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)){mi(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;li(a,33384,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]=123;f[r+8>>2]=124;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)){mi(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;li(l,33384,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]=123;f[r+8>>2]=124;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)){mi(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;li(l,33384,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=mb[v&127](f[m+316>>2]|0,c,l,0,0,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,w);f[a+12>>2]=23;F=112;break a}if((l|2|0)==2)if(!l)break;else{F=112;break a}else{li(a,40505,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=ql(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=vl(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{rl(l,78,m,q,0)|0;break}}else{C=vl(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{rl(B,79,C,q,0)|0;break}}while(0);p=q+1|0;do if(!A){if((b[j>>0]|0)!=-92){E=vl(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{rl(l,78,m,p,0)|0;break}}else{E=vl(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{rl(D,79,E,p,0)|0;break}}while(0);p=q+2|0;do if(!y){if((b[k>>0]|0)!=-92){H=vl(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{rl(l,78,m,p,0)|0;break}}else{H=vl(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{rl(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=rl(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{sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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)gg(I,i);if(j|0)gg(I,j);if(!k){t=J;return}gg(I,k);t=J;return}function $l(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=mb[l&127](f[k+316>>2]|0,27,h,0,g,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,m);f[a+12>>2]=23;t=C;return}if((g|2|0)==2){if(!g)break;t=C;return}else{li(a,40505,n);f[a+12>>2]=1;t=C;return}}while(0);lm(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=ql(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=mm(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{o=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);tl(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=rl(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;vm(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 rl(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 rl(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=55600;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{rl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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=rl(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}wm(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=55600;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 rl(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 rl(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 rl(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 rl(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=55600;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 rl(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 rl(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{rl(y,117,z,0,0)|0;t=C;return}}function am(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)rm(l)|0;e=l+80|0;f[e>>2]=f[e>>2]|k;$l(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)rm(l)|0;q=l+80|0;f[q>>2]=f[q>>2]|k;$l(a,g,-1)}while(0);g=f[g+20>>2]|0}while((g|0)!=0);return}function bm(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=oi(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=oi(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;jm(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{km(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=ql(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{rl(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=Fl(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){li(a,41825,q);break c}g=Fl(g,c)|0;if((g|0)>=0){c=e;break}f[r>>2]=c;li(a,41842,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=aj(f[y>>2]|0,0,y,F,0,542)|0;if(g|0){li(n,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=49;break}else{g=hb[f[28696>>2]&127](c)|0;G=49}while(0);do if((G|0)==49){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[x>>2]=0}G=gh(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;jm(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{km(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=ql(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{rl(g,144,w,0,0)|0;break c}}else{g=f[a>>2]|0;if(b[g+165>>0]|0){li(a,41825,o);break c}g=Fl(g,c)|0;if((g|0)<0){f[p>>2]=c;li(a,41842,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=nl(H,c)|0;if(s|0){e=Oj(H,s,g)|0;do if(!e){q=ni(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=aj(f[E>>2]|0,0,E,F,0,542)|0;if(g|0){li(o,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=143;break}else{g=hb[f[28696>>2]&127](c)|0;G=143}while(0);do if((G|0)==143){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=gh(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;jm(a,r,G,f[q>>2]|0,38499);km(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=ql(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{rl(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=aj(f[D>>2]|0,0,D,F,0,542)|0;if(g|0){li(o,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=104;break}else{g=hb[f[28696>>2]&127](c)|0;G=104}while(0);do if((G|0)==104){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=gh(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;jm(a,r,G,f[e>>2]|0,38503);km(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=ql(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{rl(g,144,r,0,0)|0;break}}while(0);if(H|0){if(f[H+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{G=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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{rl(g,159,0,0,0)|0;t=I;return}}function cm(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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;li(a,45239,j);l=1;t=k;return l|0}function dm(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=Nu(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=Bc(x,i,k)|0;o=15}if((o|0)==15)if(!e)m=0;else{$u(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=Bc(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=Jc(x,i,k,l)|0;o=34;break}h=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{p=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(ng((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=Gg(x,45100,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]=34444;f[u+8>>2]=r;f[u+12>>2]=r;f[u+16>>2]=i;f[u+20>>2]=s;Rl(a,45124,u);do if(i|0){if(f[x+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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 rl(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 rl(l,159,0,0,0)|0;f[v>>2]=f[w>>2];Vl(l,m,Gg(x,45212,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=rl(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;sl(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{rl(l,162,m,h,0)|0;t=y;return}}function em(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=nl(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;li(a,45070,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=Jc(r,c,d,i)|0;break}d=Jc(r,c,d,i)|0}else{b:do if(!r){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](24)|0;p=39;break}k=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;i=55352;d=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&d>>>0>0){u=f[14051]|0;o=Ou(d|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&o>>>0<=u>>>0)&1}d=hb[f[28684>>2]&127](k)|0;if(!d){d=0;break a}i=hb[f[28696>>2]&127](d)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)hg(r,e);if(g|0)kg(r,g,1);if(!q){u=c;t=s;return u|0}if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);u=c;t=s;return u|0}else{u=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);u=c;t=s;return u|0}return 0}function fm(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)li(a,44988,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=gm(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]=132;f[l+8>>2]=133;f[l+24>>2]=0;if(h){mi(l,h)|0;if(!(b[i>>0]|0)){gg(f[a>>2]|0,h);h=Bk(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]=132;f[l+8>>2]=133;f[l+24>>2]=0;if(e){mi(l,e)|0;if(!(b[h>>0]|0)){gg(f[a>>2]|0,e);e=Bk(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);li(a,45033,j)}while(0);if(h|0)gg(f[a>>2]|0,h);if(!e){l=0;t=m;return l|0}gg(f[a>>2]|0,e);l=0;t=m;return l|0}function gm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a:do if(!a)e=yg(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=Bc(a,c,d)|0}while(0);if(!e){c=0;return c|0}bv(e|0,0,c|0)|0;c=e;return c|0}function hm(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=40358;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=40363;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 im(a,c){a=a|0;c=c|0;b[a+20>>0]=0;return 2}function jm(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=ql(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=hi(s,36628,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;lm(a,c,j,1,36628);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{rl(x,138,j,c,0)|0;k=0;break}}else{f[m>>2]=i;f[m+4>>2]=36628;f[m+8>>2]=45344;Rl(a,45321,m);j=f[l>>2]|0;f[u>>2]=j;b[v>>0]=16;k=16}while(0);i=hi(s,45357,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;lm(a,c,i,1,45357);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{rl(x,138,i,c,0)|0;break}}while(0);i=hi(s,45370,f[r>>2]|0)|0;if(i){l=f[i+28>>2]|0;f[u+8>>2]=l;b[v+2>>0]=0;lm(a,c,l,1,45370);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{rl(x,138,l,c,0)|0;break}}}else{if(k){f[n>>2]=i;f[n+4>>2]=36628;f[n+8>>2]=45344;Rl(a,45321,n);k=16;j=f[l>>2]|0}else{j=f[j+28>>2]|0;lm(a,c,j,1,36628);f[o>>2]=f[r>>2];f[o+4>>2]=36628;f[o+8>>2]=h;f[o+12>>2]=g;Rl(a,42342,o);k=0}f[u>>2]=j;b[v>>0]=k;i=f[r>>2]|0;l=hi(s,45357,i)|0;if(l){i=f[l+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;lm(a,c,i,1,45357);f[p>>2]=f[r>>2];f[p+4>>2]=45357;f[p+8>>2]=h;f[p+12>>2]=g;Rl(a,42342,p);i=f[r>>2]|0}i=hi(s,45370,i)|0;if(i){s=f[i+28>>2]|0;f[u+8>>2]=s;b[v+2>>0]=0;lm(a,c,s,1,45370);f[q>>2]=f[r>>2];f[q+4>>2]=45370;f[q+8>>2]=h;f[q+12>>2]=g;Rl(a,42342,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=rl(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 km(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=ql(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(!(_e(45267,l,32240,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=mb[r&127](f[p+316>>2]|0,28,l,0,o,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,s);f[a+12>>2]=23;t=ea;return}if((l|2|0)!=2){li(a,40505,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);lm(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;tl(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=rl(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;sl(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=rl(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;sl(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 rl(ca,109,R,o,n)|0;o=f[X>>2]|0;r=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{A=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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=rl(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]=29580;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29580,-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=rl(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 rl(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=Jc(u,o,s,0)|0;if(p|0){o=p;break}if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{y=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bc(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 rl(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{rl(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=Yk(q,p,o,u&255)|0;do if(!(u<<24>>24)){if(!q){q=Zk(a,p,0,o)|0;break}if(f[q+12>>2]|0)break;q=Zk(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 rl(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 rl(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=rl(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){sl(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 rl(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 rl(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=55600;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=55600;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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);break}else{B=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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]=29620;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29620,-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 rl(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=rl(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]=29660;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29660,-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=rl(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;sl(ca,(f[D>>2]|0)+(o*20|0)|0,45277,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 rl(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 rl(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=55600;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 rl(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=rl(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 rl(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=rl(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;sl(ca,(f[ca+88>>2]|0)+(l*20|0)|0,45277,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 rl(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 rl(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=55600;f[l+8>>2]=m;t=ea;return}function lm(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=Bc(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=Jc(n,o,i,m)|0;if(i|0){f[h>>2]=i;a=i;q=37;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);q=39;break}else{q=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 mm(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=Bc(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;bv(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=Bc(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;bv(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)!=33704){e=f[a>>2]|0;i=b[e+78>>0]|0;c=b[e+165>>0]|0;e=Yk(e,i,g,c&255)|0;if(!(c<<24>>24)){if(!e){e=Zk(a,i,0,g)|0;break}if(!(f[e+12>>2]|0))e=Zk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);t=0;return t|0}else{t=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);t=0;return t|0}return 0}function nm(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=jf(f[e>>2]|0)|0;k=j+12|0;h=((f[k>>2]|0)*25|0)+25|0;g=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c)break}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break;e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}bv(c|0,0,h|0)|0;n=i;f[n>>2]=f[j>>2];f[n+4>>2]=0;td(24,c,45290,i)|0;if((f[k>>2]|0)>0){i=j+24|0;g=0;h=c+((zt(c)|0)&1073741823)|0;while(1){o=(f[(f[i>>2]|0)+(g<<2)>>2]|0)+1|0;e=f[j>>2]|0;n=Nu(o|0,0,-1,-1)|0;e=Nu(n|0,ba()|0,e|0,0)|0;o=Vu(e|0,ba()|0,o|0,0)|0;e=ba()|0;n=l;f[n>>2]=o;f[n+4>>2]=e;td(24,h,45295,l)|0;if(!h)e=0;else e=(zt(h)|0)&1073741823;g=g+1|0;if((g|0)>=(f[k>>2]|0))break;else h=h+e|0}}if((Ze(f[a>>2]|0,c,-1,1,94)|0)!=18){t=m;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 om(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=jf(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=Dc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Ec(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 pm(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))n=0;else{n=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Ec(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=Nu(l|0,e|0,-1,-1)|0;g=ba()|0;if(!(g>>>0>0|(g|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){h=hb[f[28684>>2]&127](l)|0;i=37;break}e=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){q=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=q>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c|0){g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,l,e)|0;i=37}while(0);if((i|0)==37?h|0:0){c=h;i=46}if((i|0)==46){bv(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((Ze(f[a>>2]|0,c,60,0,98)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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 qm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function rm(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=aj(f[e>>2]|0,0,e,c,0,542)|0;if(d|0){li(a,42209,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((sm(d,f[e+92>>2]|0,-1,0)|0)==7){tm(e);g=1;t=h;return g|0}else{g=0;t=h;return g|0}return 0}function sm(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;um(h)}b=h+32|0;a=gh(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 tm(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 um(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[13886]|0)>>>0<=a>>>0)if((f[13887]|0)>>>0>a>>>0){f[14052]=(f[14052]|0)+-1;f[b>>2]=f[13889];f[13889]=b;b=(f[13890]|0)+1|0;f[13890]=b;f[13891]=(b|0)<(f[13885]|0)&1;break}else{a=hb[f[28696>>2]&127](b)|0;d=7;break}else{a=hb[f[28696>>2]&127](b)|0;d=7}while(0);do if((d|0)==7){f[14053]=(f[14053]|0)-a;if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}}while(0);f[c>>2]=0;return}function vm(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=Jc(s,n,r,0)|0;if(!o){if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{C=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=zk(q,o,0,0)|0;if(!(b[q+81>>0]|0))xm(a,o,p,16);if(o)gg(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=zk(s,n,0,0)|0;b:do if(!(b[s+81>>0]|0)){do if(r){if((b[r>>0]|0)!=-92){p=vl(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{rl(n,78,o,t,0)|0;D=76;break b}}else p=vl(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{rl(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;gg(s,r)}f[i>>2]=0}else ym(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;og(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 rl(L,102,A,C,g)|0;if(f[(f[c+12>>2]|0)+12>>2]|0?(K=zm(f[a>>2]|0,c)|0,(b[(f[L>>2]|0)+81>>0]|0)==0):0)sl(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 wm(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{Cc(w,45394,2);break}}while(0);i=f[r>>2]|0;if(!i)g=0;else g=(zt(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;$u((f[x>>2]|0)+k|0,i|0,g|0)|0}}else Cc(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 Cc(w,31279,1);if(!q)g=0;else g=(zt(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;$u((f[x>>2]|0)+i|0,q|0,g|0)|0}}else Cc(w,q,g);m=m+1|0}while(m>>>0<(j[n>>1]|0)>>>0)}}else{f[g>>2]=f[e>>2];of(w,45383,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=Ac(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=ql(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{c=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 xm(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:{xm(a,f[c+12>>2]|0,e,g);xm(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Am(a,f[c+12>>2]|0,~q,g^16);xm(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:{Am(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){xm(a,h,e,g);break a}else{Am(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=Bm(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{rl(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=Dm(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;xm(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){Em(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=Jc(m,h,l,0)|0;if(!g){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Em(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?(yk(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?(yk(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95;break}u=Bm(a,l,x)|0;c=c+16|0;w=Bm(a,f[c>>2]|0,y)|0;Cm(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{rl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(yk(c,u)|0)!=0:0){if(f[u>>2]|0)break}else v=101;k=Bm(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{rl(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 ym(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{rl(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{rl(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{rl(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?(Ck(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{og(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{rl(a,84,i,0,0)|0;t=r;return}}function zm(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;f[m>>2]=e;if(!e)i=15}else{h=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0<=g>>>0)f[14058]=e;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;g=Ou(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](h)|0;if(!e){f[m>>2]=0;i=15;break}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Wk(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 Am(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,f[c+12>>2]|0,~q,g^16);Am(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:{Am(a,f[c+12>>2]|0,e,g);Am(a,f[c+16>>2]|0,e,g);break}case 19:{xm(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){Am(a,h,e,g);break a}else{xm(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=Bm(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{rl(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=Dm(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;Am(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Em(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 rl(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?(yk(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?(yk(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96;break}u=Bm(a,l,x)|0;c=c+16|0;w=Bm(a,f[c>>2]|0,y)|0;Cm(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{rl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(yk(c,u)|0)!=0:0){if(!(f[u>>2]|0))break}else v=102;k=Bm(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{rl(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 Bm(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]=132,f[g+8>>2]=133,f[g+24>>2]=0,mi(g,e)|0,b[c>>0]|0):0){f[d>>2]=0;d=Nm(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=vl(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 Cm(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=Xk(a,e)|0;break}l=Xk(a,c)|0;if(!l)n=Xk(a,e)|0;else n=l}else n=Xk(a,c)|0;while(0);e=Wk(e)|0;l=Wk(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=rl(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){sl(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 Dm(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=Km(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=vl(a,0,r)|0;x=24}else x=18;else{b[m>>0]=2;f[n>>2]=132;f[o>>2]=133;f[p>>2]=0;if(h){mi(u,h)|0;if(!(b[m>>0]|0)){x=18;break}}Nm(a,h,r)|0}while(0);do if((x|0)==18){x=0;if((b[h>>0]|0)!=-92){w=vl(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{rl(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{rl(v,79,w,r,0)|0;break}}while(0);j=j+1|0}while((j|0)!=(s|0));t=y;return g|0}x=Bm(a,c,e)|0;t=y;return x|0}function Em(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(Fm(a,c)|0){t=O;return}N=Gm(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=Nu(l|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[7160]|0)){h=hb[f[28684>>2]&127](l)|0;E=32;break}h=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){K=f[14051]|0;J=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;I=ba()|0;f[13840]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(h){i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(k,l,0)|0;E=32}while(0);if((E|0)==32)if(!h)K=0;else E=33;if((E|0)==33){bv(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=Hm(a,c,3,v?0:x,K)|0;J=Dm(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 rl(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=Xk(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{G=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=Bm(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{rl(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=rl(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){sl(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=rl(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){sl(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 rl(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{rl(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{C=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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 rl(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=rl(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=rl(I,91,H,F,0)|0;i=f[I>>2]|0;do if(b[i+81>>0]|0){if((F|0)!=-12)og(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}sl(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=rl(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=rl(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{rl(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{rl(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=rl(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=Jc(p,i,o,0)|0;if(l|0){i=l;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Xk(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 rl(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=rl(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){sl(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 rl(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 rl(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{rl(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=55600;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](K);break}else{M=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](N);t=O;return}else{a=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);t=O;return}}function Fm(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;li(a,45521,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)){li(a,40340,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;li(a,45521,h);k=1;t=l;return k|0}return 0}function Gm(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=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](g)|0;l=33;break}a=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}d=hb[f[28684>>2]&127](a)|0;if(!d){n=0;return n|0}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Wk(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=Wk(c)|0;a=Wk(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 Hm(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=ql(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=aj(f[u>>2]|0,0,u,M,0,542)|0;if(k|0){li(o,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;G=(f[13890]|0)+1|0;f[13890]=G;f[13891]=(G|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Q=54;break}else{k=hb[f[28696>>2]&127](l)|0;Q=54}while(0);do if((Q|0)==54){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);G=gh(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);lm(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=rl(R,17,0,0,0)|0;tl(a,S,K,w,109);f[v>>2]=f[w>>2];Im(a,0,45397,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=55600;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=Wk(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=Wk(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=Zu(1,0,I|0)|0;w=Nu(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=Xk(a,n)|0;Q=132;break k}while(0);m=Xk(a,m)|0;if(!m){m=Xk(a,n)|0;Q=132;break}else{r=f[u>>2]|0;q=d[n+32>>1]|0;Q=136;break}}else{m=Xk(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=Zu(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=rl(R,17,0,0,0)|0;f[O>>2]=f[B>>2];Im(a,0,45444,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 rl(R,109,S,k,K)|0;l=f[P>>2]|0;m=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{U=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Jm(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=55600;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]=132;f[M+8>>2]=133;f[M+24>>2]=0;mi(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}Km(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 Im(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=xg(f[a>>2]|0,d,g)|0;i=f[a+8>>2]|0;g=f[i+136>>2]|0;d=a+208|0;Lm(i,172,g,f[d>>2]|0,0,e,-7)|0;if(c<<24>>24)f[d>>2]=g;t=h;return}function Jm(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 rl(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=rl(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 rl(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=55600;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 Km(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=ql(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=rl(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=rl(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=Bc(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;bv(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=Wk(v)|0;b[D>>0]=w<<24>>24==0?65:w;if(B|0){w=Xk(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=rl(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]=56244;b[m>>0]=-1;break}else{sl(J,l+(k*20|0)|0,56244,-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]=132;f[q>>2]=133;f[r>>2]=0;if(!m)break;mi(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;og(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(yk(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{rl(J,123,l,v,m)|0;break}}g=vl(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 rl(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{rl(J,122,l,v,g)|0;break}}else{g=vl(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=rl(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;sl(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=rl(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?56244:45475;Im(a,1,45487,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=Gm(a,c)|0;f[m>>2]=l;f[k+12>>2]=0;k=(Il(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{L=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);break}else{L=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Xk(a,l)|0;break f}while(0);k=Xk(a,k)|0;if(!k)k=Xk(a,l)|0}else k=Xk(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);i=0;break}else{i=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?56244:45475;Im(a,1,45503,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{rl(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{rl(J,70,0,n,0)|0;break}}while(0);g=Bk(f[a>>2]|0,143,10008,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=Bc(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}hl(i);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[q>>2]=k;li(a,33384,q)}}else A=186;if((A|0)==186)if(!g)i=0;else{gg(f[a>>2]|0,g);i=0}f[n>>2]=i}else{i=i+12|0;k=f[i>>2]|0;if(k){gg(l,k);i=(f[n>>2]|0)+12|0}f[i>>2]=g}f[p+12>>2]=0;L=(Il(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)Jm(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=55600;f[h+8>>2]=f[J+136>>2];L=i;t=K;return L|0}function Lm(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;Mm(a,l,i,j);return l|0}else{l=rl(a,c,e,g,h)|0;Mm(a,l,i,j);return l|0}return 0}function Mm(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;og(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}sl(a,h,d,e);return}function Nm(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?(Ak(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=zk(f[a>>2]|0,c,0,0)|0;g=kl(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 Om(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=Gc(c,1)|0;else c=0}else c=0;while(0);w=f[(f[a>>2]|0)+32>>2]|0;n=(c|0)==0?56244: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;td(128,o,45600,q)|0;break}if((b[k+8>>0]|0)==0?(f[k+16>>2]|0)==0:0){$h(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{y=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[v>>2]=e;t=x;return}f[r>>2]=n;td(128,o,45626,r)|0}else s=15;while(0);if((s|0)==15){f[p>>2]=n;td(128,o,45579,p)|0}f[a+20>>2]=1;Ze(f[a>>2]|0,o,-1,1,-1)|0;t=x;return} -function ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=jf(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=Ye(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=Zu(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;Ze(g,32336,-1,1,0)|0;return}k=Nu(i|0,c|0,-1,-1)|0;j=ba()|0;do if(!(j>>>0>0|(j|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](i)|0;if(!c)break;else g=c}else{j=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){k=f[14051]|0;i=Ou(c|0,g|0,j|0,((j|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}g=hb[f[28684>>2]&127](j)|0;if(!g)break;c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,g,k,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 ze(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;xd(8,b);e=b;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)<0){g=Ou(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{$e(b,g,e);t=h;return}}function Ae(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=Dc(+p[c>>3])|0;ba()|0;g=7;break}if(!(e&18))h=1;else{c=Ec(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;Ze(c,32336,-1,1,0)|0;return}g=Nu(h|0,0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c)break}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break;e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}xd(h,c);if((Ze(f[a>>2]|0,c,h,0,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 Be(a,b,c){a=a|0;b=b|0;c=c|0;if(!(lf(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;kf(a,f[c>>2]|0);return}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(f[a>>2]|0,31164,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function De(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=Dc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Ec(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=Gc(a,1)|0;else a=0}else a=0;while(0);f[h>>2]=a;yc(g,31564,h);t=i;return}function Ee(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=+Fc(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;td(50,k,32397,l)|0;gf(k,j,20,1)|0;if(i!=+p[j>>3]){p[m>>3]=i;td(50,k,32404,m)|0}if((Ze(f[a>>2]|0,k,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=q;return}case 1:{kf(a,g);t=q;return}case 4:{l=jf(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=Ye(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=Zu(k|0,((k|0)<0)<<31>>31|0,1)|0;g=ba()|0;j=Nu(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;Ze(e,32336,-1,1,0)|0;t=q;return}o=Nu(c|0,g|0,3,0)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c)break}else{e=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){o=f[14051]|0;n=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=q;return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{af(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=Gc(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=Nu(c|0,g|0,1,0)|0;g=ba()|0;break}default:{}}e=e+1|0}c=Nu(c|0,g|0,e|0,0)|0;g=ba()|0;j=Nu(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;Ze(e,32336,-1,1,0)|0;t=q;return}n=Nu(c|0,g|0,2,0)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c)break}else{e=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){n=f[14051]|0;m=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,g,1,94)|0)!=18){t=q;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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((Ze(f[a>>2]|0,31267,4,1,0)|0)!=18){t=q;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=q;return}}}function Fe(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{$e(c,e,a);return}}function Ge(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{$e(b,c,e);return}}function He(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{$e(b,c,e);return}}function Ie(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=Gc(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=Ye(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=Gc(c,1)|0;break}else return;while(0);if(!y)return;if(!(b[y>>0]|0)){kf(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=Ye(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=Gc(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=Ye(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;Ze(c,32336,-1,1,0)|0;return}u=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](k)|0;if(!h)break a}else{c=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){u=f[14051]|0;t=Ou(g|0,h|0,c|0,((c|0)<0)<<31>>31|0)|0;s=ba()|0;f[13840]=((s|0)<0|(s|0)==0&t>>>0<=u>>>0)&1}h=hb[f[28684>>2]&127](c)|0;if(!h)break a;c=hb[f[28696>>2]&127](h)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=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(Kt(e,y,x)|0){B=85;break}$u(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(Kt(e,y,x)|0){B=76;break}j=Nu(k|0,j|0,r|0,s|0)|0;l=ba()|0;k=Nu(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(Kc()|0)break c;n=Xu(0,j|0,32)|0;e=ba()|0;m=Nu(j|0,l|0,p|0,q|0)|0;e=Nu(m|0,ba()|0,n|0,e|0)|0;e=Lc(h,e,ba()|0)|0;if(!e)break c;else h=e}$u(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;if(!h)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](h);return}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);return}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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[7160]|0)){nb[f[28688>>2]&127](h);return}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);return}}else{g=0;c=0}while(0);B=z-c|0;$u(h+g|0,A+c|0,B|0)|0;B=g+B|0;b[h+B>>0]=0;if((Ze(f[a>>2]|0,h,B,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 Je(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=Dc(+p[c>>3])|0;c=ba()|0;h=7;break}if(!(e&18)){c=0;g=0}else{e=Ec(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;Ze(e,32336,-1,1,0)|0;return}c=e+8|0;if(!((d[c>>1]&9216)==0?!(f[e+24>>2]|0):0))df(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 Ke(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=Dc(+p[i>>3])|0;ba()|0;break}if(!(c&18))r=0;else{r=Ec(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=Ye(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=jf(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;s=42;break}if(!(g&18)){g=0;c=0;h=0}else{c=Ec(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=Ou(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=Nu(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=0;i=0;g=ba()|0;break}else{h=Nu(r|0,q|0,-1,-1)|0;i=ba()|0;break}else{h=Nu(n|0,((n|0)<0)<<31>>31|0,r|0,q|0)|0;i=ba()|0;q=(i|0)<0;e=Nu(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=Ou(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=Nu(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=Ou(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}else{if((Ze(f[a>>2]|0,o+l|0,c,0,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Nu(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=Nu(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}else{if((Ze(f[a>>2]|0,l,c,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}function Le(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=ff(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(!(gf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(hf(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=Nu(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=+Fc(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=Dc(+p[c>>3])|0;m=ba()|0;break}if(!(a&18)){l=0;m=0}else{l=Ec(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=Ou(-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=Ou(1,-2147483648,a|0,i|0)|0,s=ba()|0,o=Nu(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=Nu(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 Me(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=ff(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;Ze(f[a>>2]|0,32380,-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{$e(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 af(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 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;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=ff(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(!(gf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(hf(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=Nu(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Ou(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=+Fc(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 Oe(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=ff(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 af(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 Pe(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=ff(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 af(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 Qe(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=ff(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=Nu(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 Re(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(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{$e(b,c,e);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=ff(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=Nu(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 Te(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=ff(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=Gc(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=Ye(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=32359}c=k+16|0;h=f[c>>2]|0;i=h+g|0;if(i>>>0>=(f[k+8>>2]|0)>>>0){Cc(k,a,g);break}if(g|0){f[c>>2]=i;$u((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=Gc(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=Ye(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){Cc(k,i,a);return}if(!a)return;f[g>>2]=h;$u((f[k+4>>2]|0)+c|0,i|0,a|0)|0;return}function Ue(a){a=a|0;var c=0,e=0,g=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=ff(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;Ze(f[a>>2]|0,32336,-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{af(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=Ac(c)|0;else c=f[e>>2]|0;if((Ze(f[a>>2]|0,c,-1,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}}function Ve(a){a=a|0;var c=0,e=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=ff(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;Ze(f[a>>2]|0,32336,-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{af(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((Ze(f[a>>2]|0,c,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}}function We(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=ff(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=Ye(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=Ye(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;av(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 Xe(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=Gc(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=Gc(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=Ye(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;Ze(f[a>>2]|0,32258,-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=Gc(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;Ze(f[a>>2]|0,32291,-1,1,-1)|0;return}else g=h[o+2>>0]|0;while(0);if(!((n|0)!=0&(m|0)!=0))return;i=(_e(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{$e(g,i,0);return}}function Ye(a,b){a=a|0;b=b|0;if(!(Gc(a,b)|0)){b=0;return b|0}b=f[a+12>>2]|0;return b|0}function Ze(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{af(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=(zt(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(!(bf(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);$u(i|0,c|0,k|0)|0}else{i=(h|0)==108;e=a+8|0;if(!((d[e>>1]&9216)==0?!(f[a+24>>2]|0):0))df(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=hb[f[28696>>2]&127](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(!(bf(a,(g|0)>1?g:1,1)|0)){bv((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(!(ef(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;av(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 _e(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=_e(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+(Hu(j,J)|0)|0;d:do if(b[f>>0]|0){while(1){f=f+1|0;c=_e(I,f,d,e)|0;if((c|0)!=1)break;f=f+(Hu(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=_e(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 $e(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 af(a);f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}function af(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;nb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}nb[f[a+36>>2]&127](f[a+16>>2]|0);d[j>>1]=1;t=k;return}function bf(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=Jc(e,h,l,0)|0;if(!(g|(c|0)!=0)){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);c=0;break}else{c=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);h=f[h>>2]|0;b:do if(!h){k=Nu(l|0,0,-1,-1)|0;i=ba()|0;if(!(i>>>0>0|(i|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](l)|0;break}h=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){l=f[14051]|0;k=Ou(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(g){c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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 af(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=hb[f[28696>>2]&127](c)|0;f[o>>2]=c;if(h|0?(n=f[a+16>>2]|0,n|0):0)$u(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;nb[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 cf(a){a=a|0;return hb[f[28696>>2]&127](a)|0}function df(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(d[a+8>>1]&9216)af(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{h=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);f[c>>2]=0;h=a+16|0;f[h>>2]=0;return}function ef(a){a=a|0;var c=0,e=0;c=a+12|0;if(bf(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 ff(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 af(h);f[h+16>>2]=0;h=0;return h|0}if((f[h+24>>2]|0)<(b|0)){bf(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}bv(g|0,0,b|0)|0;h=f[e>>2]|0;return h|0}function gf(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=Tu(a|0,l|0,10,0)|0;a=(d<<24>>24)+-48|0;a=Nu(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=Tu(a|0,l|0,10,0)|0;n=(d<<24>>24)+-48|0;n=Nu(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=Tu(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=Ru(a|0,l|0,10,0)|0;n=ba()|0;k=Tu(m|0,n|0,10,0)|0;k=Ou(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=Ou(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=Ou(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 hf(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=Tu(j|0,d|0,10,0)|0;j=a<<24>>24;d=Nu(d|0,ba()|0,-48,-1)|0;j=Nu(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=Ou(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[32361+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 jf(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=Gc(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(!(bf(a,(h|0)>1?h:1,1)|0)){bv((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 kf(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)af(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(!(bf(e,(c|0)>1?c:1,1)|0)){bv((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(!(ef(e)|0)){a=d[g>>1]|0;break}else return;while(0);d[g>>1]=a&-4097;return}function lf(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=mf(a,b,c,0)|0;return b|0}}b=nf(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 mf(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=lb[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=Gc(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=Gc(o,h)|0;h=17}else h=18;if((h|0)==17)if((c|0)==0|(a|0)==0)h=18;else a=lb[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))df(n);if(!((d[l>>1]&9216)==0&(f[m>>2]|0)==0))df(o);o=a;t=p;return o|0}function nf(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=Kt(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 of(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;zc(a,b,e);t=d;return}function pf(a){a=a|0;var c=0,d=0,e=0,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,t=0,u=0;if(!a){u=0;return u|0}c=b[a>>0]|0;do if(!(c<<24>>24)){c=32549;e=3}else{m=c&255;c=1232+m|0;if((m|32|0)==115){c=b[a+1>>0]|0;if(!(c<<24>>24)){c=32550;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==113){c=b[a+2>>0]|0;if(!(c<<24>>24)){c=32551;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==108){c=b[a+3>>0]|0;if(!(c<<24>>24)){c=32552;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==105){c=b[a+4>>0]|0;if(!(c<<24>>24)){c=32553;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==116){c=b[a+5>>0]|0;if(!(c<<24>>24)){c=32554;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==101){c=b[a+6>>0]|0;if(!(c<<24>>24)){c=32555;e=3;break}if(c<<24>>24==95){d=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)d=(d|0)==(c&255|0)?a+7|0:a;m=(zt(d)|0)&1073741823;if(!m){u=0;return u|0}e=d;g=32447;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=11;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=13;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=16;break}}if((e|0)==11){i=0;j=b[1232+(h[g>>0]|0)>>0]|0;e=15}else if((e|0)==13){i=c&255;j=f;e=15}if((e|0)==15?(i|0)==(j&255|0):0)e=16;if((e|0)==16?(b[5472+(h[32447+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32468;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=23;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=21;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=25;break}}if((e|0)==21){k=c&255;l=f;e=24}else if((e|0)==23){k=0;l=b[1232+(h[g>>0]|0)>>0]|0;e=24}if((e|0)==24?(k|0)==(l&255|0):0)e=25;if((e|0)==25?(b[5472+(h[32468+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32480;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=31;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=29;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=33;break}}if((e|0)==29){n=c&255;o=f;e=32}else if((e|0)==31){n=0;o=b[1232+(h[g>>0]|0)>>0]|0;e=32}if((e|0)==32?(n|0)==(o&255|0):0)e=33;if((e|0)==33?(b[5472+(h[32480+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32492;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=39;break}f=b[1232+(c&255)>>0]|0;c=b[1232+(h[g>>0]|0)>>0]|0;if(f<<24>>24!=c<<24>>24){e=37;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=41;break}}if((e|0)==37){p=f&255;q=c;e=40}else if((e|0)==39){p=0;q=b[1232+(h[g>>0]|0)>>0]|0;e=40}if((e|0)==40?(p|0)==(q&255|0):0)e=41;if((e|0)==41?(b[5472+(h[32492+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32516;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=47;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=45;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=49;break}}if((e|0)==45){r=c&255;s=f;e=48}else if((e|0)==47){r=0;s=b[1232+(h[g>>0]|0)>>0]|0;e=48}if((e|0)==48?(r|0)==(s&255|0):0)e=49;if((e|0)==49?(b[5472+(h[32516+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}f=32536;e=m;while(1){c=b[d>>0]|0;if(!(c<<24>>24)){e=55;break}c=b[1232+(c&255)>>0]|0;a=b[1232+(h[f>>0]|0)>>0]|0;if(c<<24>>24!=a<<24>>24){e=53;break}if((e|0)>1){d=d+1|0;f=f+1|0;e=e+-1|0}else{e=57;break}}if((e|0)==53){t=c&255;u=a;e=56}else if((e|0)==55){t=0;u=b[1232+(h[f>>0]|0)>>0]|0;e=56}if((e|0)==56?(t|0)==(u&255|0):0)e=57;if((e|0)==57?(b[5472+(h[32536+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}u=0;return u|0}function qf(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(yf(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=Nu(~~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=Nu(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=Ou(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 af(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 rf(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(yf(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=Nu(c|0,d|0,432e5,0)|0;d=Ru(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;td(100,i,32920,j)|0;if((Ze(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=k;return}function sf(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(yf(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=Nu(c|0,d|0,432e5,0)|0;i=Uu(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;td(100,m,32905,n)|0;if((Ze(f[a>>2]|0,m,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=o;return}function tf(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(yf(a,b,c,d)|0){t=h;return}zf(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;td(100,e,32875,g)|0;if((Ze(f[a>>2]|0,e,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=h;return}function uf(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=Gc(g,1)|0;break}else{t=$;return}while(0);if(!K){t=$;return}if(yf(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=Nu(e|0,c|0,1,0)|0;c=ba()|0;break b}case 102:{e=Nu(e|0,c|0,8,0)|0;c=ba()|0;break b}case 106:{e=Nu(e|0,c|0,3,0)|0;c=ba()|0;break b}case 89:{e=Nu(e|0,c|0,8,0)|0;c=ba()|0;break b}case 74:case 115:{e=Nu(e|0,c|0,50,0)|0;c=ba()|0;break b}default:{J=85;break a}}}default:{}}while(0);e=Nu(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;Ze(g,32336,-1,1,0)|0;t=$;return}c=Xu(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=Bc(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{af(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=Nu(~~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=Nu(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=Ou(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);zf(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];td(3,g+v|0,32639,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;td(7,h,32644,O)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 72:{f[Z>>2]=f[E>>2];td(3,g+v|0,32639,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=Ou(0,0,l|0,((l|0)<0)<<31>>31|0)|0;o=ba()|0;k=Nu(~~aa>>>0|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;o=Nu(k|0,ba()|0,(m?0:l)|0,(m?0:o)|0)|0;i=Nu(o|0,ba()|0,i|0,h|0)|0;h=ba()|0}}else{i=0;h=0}}c=Nu(q|0,r|0,432e5,0)|0;e=ba()|0;h=Ru(Ou(c|0,e|0,i|0,h|0)|0,ba()|0,864e5,0)|0;ba()|0;if(s<<24>>24==87){c=Ru(c|0,e|0,864e5,0)|0;c=Uu(c|0,ba()|0,7,0)|0;ba()|0;f[_>>2]=(7-c+h|0)/7|0;td(3,g+v|0,32639,_)|0;c=v+2|0;h=u;break e}else{f[P>>2]=h+1;td(4,g+v|0,32651,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;td(20,h,32656,Q)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 109:{f[R>>2]=f[F>>2];td(3,g+v|0,32639,R)|0;c=v+2|0;h=u;break e}case 77:{f[S>>2]=f[w>>2];td(3,g+v|0,32639,S)|0;c=v+2|0;h=u;break e}case 115:{h=g+v|0;q=L;q=Nu(Ru(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;td(30,h,32662,W)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 83:{f[X>>2]=~~+p[D>>3];td(3,g+v|0,32639,X)|0;c=v+2|0;h=u;break e}case 119:{c=L;c=Uu(Ru(Nu(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];td(5,h,32667,Y)|0;if(!h)h=0;else h=(zt(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((Ze(f[a>>2]|0,g,-1,1,(g|0)==(M|0)?-1:108)|0)!=18){t=$;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=$;return}function vf(a,b,c){a=a|0;b=b|0;c=c|0;sf(a,0,0);return}function wf(a,b,c){a=a|0;b=b|0;c=c|0;tf(a,0,0);return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;rf(a,0,0);return}function yf(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=ib[m&255](i,k)|0;else{i=ib[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=+Fc(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=Gc(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((Bf(i,32672,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(Cf(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)Af(g)}else u=39;while(0);b:do if((u|0)==39?Cf(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=32684;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;Ze(f[a>>2]|0,32688,-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=ib[n&255](i,k)|0;else{i=ib[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?gf(m,q,(zt(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=Gc(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;Ye(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=32755;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;Ze(f[a>>2]|0,32688,-1,1,-1)|0;u=193;break f}else{Af(g);r=Df(g,a,ya)|0;q=ba()|0;u=g;q=Nu(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=32765;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=32775;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;Ze(f[a>>2]|0,32688,-1,1,-1)|0;u=193;break f}if(b[J>>0]|0){f[ya>>2]=0;u=192;break f}Af(g);j=Df(g,a,ya)|0;k=ba()|0;if(!(f[ya>>2]|0)){q=g;q=Ou(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=Df(g,a,ya)|0;u=Ou(j|0,k|0,u|0,ba()|0)|0;r=ba()|0;q=g;q=Nu(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=32779;u=105}else{n=q;j=32779;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((gf(u,wa,(zt(u)|0)&1073741823,1)|0)!=0?(s=+p[wa>>3],va=~~s,s<7.0&((va|0)>-1&s==+(va|0))):0){zf(g);b[D>>0]=0;b[z>>0]=0;Af(g);q=g;r=f[q>>2]|0;q=f[q+4>>2]|0;m=Nu(r|0,q|0,1296e5,0)|0;m=Ru(m|0,ba()|0,864e5,0)|0;m=Uu(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=Nu(m|0,u|0,-7,-1)|0;o=ba()|0;u=Ou(va|0,j|0,(n?k:m)|0,(n?o:u)|0)|0;u=Tu(u|0,ba()|0,864e5,0)|0;q=Nu(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=32788;u=116}else{n=q;j=32788;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=Nu(k|0,m|0,432e5,0)|0;u=Ru(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=32798;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=32804;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=32809;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(!(gf(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(!(Cf(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=Nu(~~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=Nu(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=Ou(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=Nu(j|0,k|0,-432e5,-1)|0;r=Uu(r|0,ba()|0,864e5,0)|0;u=ba()|0;o=(b[q>>0]|0)==45;n=Ou(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;Af(g);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=g;q=Nu(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=(zt(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;Af(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[5904+(j*24|0)>>0]|0){case 1:{zf(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;zf(g);f[K>>2]=(f[K>>2]|0)+u;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}default:{}}Af(g);s=s+l*+p[5904+(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=Nu(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);Af(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 zf(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=Nu(d|0,e|0,432e5,0)|0;e=Ru(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;Af(a);d=a;d=Nu(f[d>>2]|0,f[d+4>>2]|0,432e5,0)|0;d=Uu(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 Af(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=Nu(~~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=Nu(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=Ou(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 Bf(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[30352+((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 Cf(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((Bf(a,32855,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((Bf(a+6|0,32863,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((Bf(d,32867,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 Df(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));zf(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=Nu(i|0,j|0,e|0,a|0)|0;e=Nu(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=Ru(e|0,a|0,1e3,0)|0;ba()|0;f[m>>2]=h+-413362496;h=Ya(m|0)|0;if((h|0)==0|(f[7226]|0)!=0){f[c+20>>2]=1;Ze(f[c>>2]|0,32832,-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=Tu(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=Nu(c|0,q|0,e|0,((e|0)<0)<<31>>31|0)|0;a=Nu(e|0,ba()|0,~~o>>>0|0,a|0)|0;e=ba()|0}f[d>>2]=0;q=i;q=Ou(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 Ef(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=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;e=b;e=Nu(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 Ff(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(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{$e(b,c,e);return}}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;return}function Hf(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=ff(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 If(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=ff(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=Nu(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{$e(b,e,g);return}}function Jf(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=ff(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;e=b+8|0;c=e;c=Nu(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 Kf(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=ff(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 $e(b,e,g);g=c;f[g>>2]=0;f[g+4>>2]=0;return}function Lf(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=ff(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Nu(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 Mf(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=ff(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=Nu(f[k>>2]|0,f[k+4>>2]|0,-1,-1)|0;e=+(k>>>0)+4294967296.0*+(ba()|0);b=Nu(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 af(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 af(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 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))g=ff(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Nu(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 Of(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=ff(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 af(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 Pf(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=ff(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=Dc(+p[c>>3])|0;i=ba()|0;break}if(!(g&18)){c=0;i=0}else{c=Ec(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=Dc(+p[g>>3])|0;h=ba()|0;g=i;break}if(!(e&18)){e=0;h=0;g=i}else{e=Ec(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;Ze(f[a>>2]|0,33033,-1,1,-1)|0}}a=k+16|0;i=a;i=Nu(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 Qf(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=ff(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=Ru(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{$e(b,e,g);return}}n=((m|0)<0)<<31>>31;h=Tu(b|0,c|0,m|0,n|0)|0;e=Ou(e|0,g|0,h|0,ba()|0)|0;g=ba()|0;h=m+1|0;i=((h|0)<0)<<31>>31;j=Tu(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=Nu(l|0,o|0,-1,-1)|0;c=ba()|0;if((o|0)>(k|0)|(o|0)==(k|0)&l>>>0>j>>>0){o=Nu(e|0,g|0,1,0)|0;g=ba()|0;e=Ou(b|0,c|0,j|0,k|0)|0;e=Ru(e|0,ba()|0,m|0,n|0)|0;e=Nu(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{$e(b,e,g);return}}else{e=Ru(b|0,c|0,h|0,i|0)|0;e=Nu(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{$e(b,e,g);return}}}function Rf(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=ff(a,8)|0;else c=f[c+16>>2]|0;if(!c)return;Wf(f[c>>2]|0);e=Xf(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{af(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 Sf(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=f[b>>2]|0;if(!c)return;kf(a,c);Wf(f[b>>2]|0);f[b>>2]=0;return}function Tf(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;b=f[b>>2]|0;if(!b)return;kf(a,b);return}function Uf(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=ff(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;Wf(f[b>>2]|0);f[b>>2]=0;return}function Vf(a){a=a|0;return}function Wf(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))df(a);b=f[a+32>>2]|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Xf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(!a){g=0;return g|0}if(Kc()|0){g=0;return g|0}if(!(f[7160]|0)){b=hb[f[28684>>2]&127](40)|0;if(!b){g=0;return g|0}else c=b}else{e=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;c=55352;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){h=f[14051]|0;c=Ou(b|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&c>>>0<=h>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c){h=0;return h|0}b=hb[f[28696>>2]&127](c)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=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(!(bf(c,(h|0)>1?h:1,1)|0)){bv((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?(ef(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))df(c);b=f[e>>2]|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);h=0;return h|0}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);h=0;return h|0}return 0}function Yf(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=Gc(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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))y=0;else{y=Ec(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))A=0;else{A=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Ec(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=hi(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=33138;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;bv(w|0,0,268)|0;b[I+196>>0]=2;f[I>>2]=J;f[I+128>>2]=1;c=$f(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]=33143;f[r+4>>2]=102416;f[r+8>>2]=31184;yc(11,31132,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]=116;f[v+8>>2]=117;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;ag(I,g,0);c=(b[i>>0]|0)==0?f[c>>2]|0:7;if(c|0){F=163;break b}wk(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?mi(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?mi(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?mi(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;mi(v,c)|0;break}c=bg(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((ni(I,0,g,u)|0)!=(o|0))break;g=f[c+28>>2]|0;if(g|0)_o(I,H,f[g+8>>2]|0,x);$o(I,H,f[c+24>>2]|0,x);_o(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))$o(I,H,f[(f[i>>2]|0)+16>>2]|0,x);Wo(v,f[i>>2]|0)}while(0);c=Xo(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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29){if(!(520028155>>>c&1)){c=35431;break h}c=f[7968+(c<<2)>>2]|0}else c=35431}}while(0);Ze(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=Gc(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=Gc(i,1)|0}while(0);L=f[w>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=56244;f[G+12>>2]=L;c=ud(33163,G)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{L=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(I);jg(J,f[H>>2]|0);f[D>>2]=E;t=K;return}function Zf(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=Gc(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=Gc(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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Ec(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=hi(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]=118;f[A+8>>2]=119;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=33138;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;bv(z|0,0,268)|0;b[H+196>>0]=3;f[H>>2]=J;f[H+128>>2]=1;c=$f(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]=33143;f[o+4>>2]=102416;f[o+8>>2]=31184;yc(11,31132,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;mi(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=bg(H,n?v:0)|0;if(c|0){F=131;break b}Wo(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;ag(H,f[g>>2]|0,r);y=(f[H+36>>2]|0)==0;c=f[H+12>>2]|0;wk(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?mi(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=Xo(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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(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=Gc(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=Gc(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]=56244;f[G+12>>2]=e;c=ud(33163,G)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(H);jg(J,f[I>>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;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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Ec(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=33138;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;bv(l|0,0,268)|0;b[A+196>>0]=3;f[A>>2]=w;f[A+128>>2]=1;C=$f(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]=33143;f[r+4>>2]=102416;f[r+8>>2]=31184;yc(11,31132,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;ag(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(bg(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=33138;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{$e(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=Gc(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=Gc(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]=33184;f[v+12>>2]=C;c=ud(33163,v)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{C=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(A);f[x>>2]=y;t=B;return}function $f(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=Jj(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=Jj(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+(Jj(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[10016+(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+(Jj(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[10016+(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+(Jj(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[10016+(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+(Jj(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[10016+(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[10208+(n<<1)>>1]|0;m=r;while(1){i=m&65535;k=i+l|0;if(k>>>0<=2018?(d[11264+(k<<1)>>1]|0)==m<<16>>16:0){S=65;break}if((m&65535)>=91){S=61;break}i=d[10016+(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[11264+(i<<1)>>1]|0)!=91):0){i=15312+(i<<1)|0;break}i=19344+(n<<1)|0}else if((S|0)==65){S=0;i=15312+(k<<1)|0}while(0);k=d[i>>1]|0}if((k&65535)<=1125){S=69;break}k=ol(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))li(i,41661,K);else{f[J>>2]=E;li(i,41637,J)}f[L>>2]=i;pl(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,pl(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;pl(r,d[i+2>>1]|0,i+4|0);i=f[h>>2]|0}while(i>>>0>B>>>0)}li(k,41615,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=Jj(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;li(a,41588,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;pl(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=35490;break}case 100:{g=35468;break}default:{g=M&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7968+(g<<2)>>2]|0;else g=35431}}f[O>>2]=g;O=Gg(U,31564,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;yc(p,41678,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;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{S=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(U,g);break}R=g+32|0;S=(f[R>>2]|0)+-1|0;f[R>>2]=S;if(!S)fg(U,g)}while(0);g=b[c>>0]|0}do if((g&255)<=1?(T=f[a+232>>2]|0,T|0):0){ig(U,f[T+28>>2]|0);g=f[T>>2]|0;do if(g|0){if(f[U+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[T+4>>2]|0;do if(g|0){if(f[U+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[T+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(U,c);c=h;S=188;break k}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);S=186;break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{R=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(0,g);g=f[n+8+(c<<4)+8>>2]|0;if(g|0)kg(0,g,1);g=f[n+8+(c<<4)>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(U,g);g=f[n+8+(h<<4)+8>>2]|0;if(g|0)kg(U,g,1);g=f[n+8+(h<<4)>>2]|0;m:do if(g|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{T=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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){fg(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))fg(U,g);g=f[h>>2]|0}while((g|0)!=0);t=V;return p|0}function ag(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]=120;f[h>>2]=a;e=h+8|0;if(!(b[a+22>>0]|0))g=h+12|0;else{f[e>>2]=121;g=h+12|0;f[g>>2]=0;wk(h,c)|0}f[e>>2]=122;f[g>>2]=67;wk(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]=123;f[h+8>>2]=124;f[h+12>>2]=0;f[h>>2]=a;f[h+24>>2]=d;wk(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]=125;f[h+12>>2]=68;f[h+4>>2]=120;f[h>>2]=a;wk(h,c)|0;t=i;return}function bg(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=hi(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=ii(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]=123;f[X+8>>2]=124;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)){mi(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;li(a,33384,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?(ag(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=ni(a,0,e,c)|0;if(!i){e=1;ea=90;break}e=ii(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]=123;f[y>>2]=124;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)){mi(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;li(e,33384,_)}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]=123;f[D>>2]=124;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}mi(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;li(e,33384,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]=123;f[I>>2]=124;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}mi(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;li(e,33384,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]=123;f[Q>>2]=124;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}mi(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;li(e,33384,$)}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]=123;f[M>>2]=124;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)){mi(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;li(e,33384,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]=123;f[U>>2]=124;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;li(e,33384,ba);e=1;break}mi(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 cg(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)dg(i)|0;e=f[i>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{m=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(n,c);break}l=c+32|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;if(!m)fg(n,c)}while(0);d=f[a+228>>2]|0;do if(d|0){c=f[d+36>>2]|0;if(c|0)gg(n,c);c=f[d+40>>2]|0;if(c|0)hg(n,c);c=f[d+16>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,k);c=d;g=52;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);g=51;break}else{g=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);m=f[a+232>>2]|0;do if(m|0){ig(n,f[m+28>>2]|0);c=f[m>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[m+12>>2]|0;if(c|0)gg(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{k=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{o=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,d);d=e;e=c;g=116;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](d);g=114;break}else{g=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,e);c=m;g=127;break b}while(0);if(c)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);g=126;break}else{g=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);jg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[a+68>>2]|0;if(c|0)hg(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 dg(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;rg(a)|0;if((f[a+36>>2]|0)>-1){sg(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;tg(e,c,(i|0)==0?0:31564,d)}}c=a+108|0;d=f[c>>2]|0;do if(d|0){if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 eg(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{n=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{n=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(j,i);while(0);f[h>>2]=0}}else df(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)og(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{t=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{t=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{t=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(j,i);while(0);f[h>>2]=0}}else df(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[c+188>>2]|0;if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)og(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{t=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);e=f[s>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[c+184>>2]|0;if(!e)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);return}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);return}}function fg(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)ng((f[g+24>>2]|0)+24|0,f[g>>2]|0,0)|0;e=f[g+36>>2]|0;if(e|0)gg(a,e);e=f[g+40>>2]|0;if(e|0)hg(a,e);e=f[g+16>>2]|0;do if(e|0){if(!j){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);p=32;break}else{p=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ng((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)gg(a,c);c=f[e+20>>2]|0;if(c|0)hg(a,c);c=f[e+8>>2]|0;if(c|0)kg(a,c,1);c=f[g+12>>2]|0;if(c|0)gg(a,c);if(!k){if(f[l>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(a,c);c=f[e+20>>2]|0;if(c|0)hg(a,c);c=f[e+8>>2]|0;if(c|0)kg(a,c,1);c=f[g+12>>2]|0;if(c|0)gg(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 Ic(a,g);c=f[i+4>>2]|0;p=89;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);p=88;break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{g=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[e+4>>2]|0;if(c|0)gg(0,c);c=f[e+8>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[e+4>>2]|0;if(c|0)gg(a,c);c=f[e+8>>2]|0;do if(c|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}}while(0);c=f[b>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[b+12>>2]|0;if(c|0)kg(a,c,1);c=f[b+24>>2]|0;if(c|0)hg(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{t=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](t);break}else{s=hb[f[28696>>2]&127](t)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,c);c=b;p=211;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);p=210;break}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function gg(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)gg(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;hg(a,d);break}else{d=f[d>>2]|0;if(!d)break;kg(a,d,1);break}}else gg(a,d);while(0);d=f[e>>2]|0;if(d&16777216){mg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{d=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[e>>2]&32768|0)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{g=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function hg(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)gg(0,d);d=f[c+4>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);d=f[c+8>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(a,d);d=f[c+4>>2]|0;do if(d|0){if(f[h>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[c+8>>2]|0;do if(d|0){if(f[h>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{l=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function ig(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)gg(a,c);c=f[h+20>>2]|0;if(c|0)hg(a,c);c=f[h+8>>2]|0;if(c|0)kg(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,d);d=41;break b}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](d);d=40;break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);d=f[h+28>>2]|0;do if(d|0){c=f[d>>2]|0;if(c|0)hg(a,c);c=f[d+4>>2]|0;if(c|0)gg(a,c);c=f[d+8>>2]|0;if(c|0)hg(a,c);c=f[d+12>>2]|0;if(c|0)gg(a,c);if(!i){if(f[j>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,c);c=h;d=80;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);d=79;break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0)}while((b|0)!=0);return}function jg(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[7160]|0))nb[f[28688>>2]&127](c);else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(a,c);while(0)}while((b|0)!=0);return}function kg(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)hg(a,d);lg(a,f[i+32>>2]|0);d=f[i+36>>2]|0;if(d|0)gg(a,d);d=f[i+40>>2]|0;if(d|0)hg(a,d);d=f[i+44>>2]|0;if(d|0)gg(a,d);d=f[i+48>>2]|0;if(d|0)hg(a,d);d=f[i+60>>2]|0;if(d|0)gg(a,d);d=f[i+72>>2]|0;if(d|0)do{h=d;d=f[d+24>>2]|0;mg(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)hg(0,d);d=f[h+8+(e<<4)+8>>2]|0;if(d|0)kg(0,d,1);d=f[h+8+(e<<4)>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{g=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(a,d);d=f[h+8+(g<<4)+8>>2]|0;if(d|0)kg(a,d,1);d=f[h+8+(g<<4)>>2]|0;b:do if(d|0){if(f[k>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{e=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{g=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);do if(c|0){if(!j){if(f[k>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(!b)break;else c=1}return}function lg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[k+8>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[k+12>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}while(0);if(b[d>>0]&4?(m=f[k+64>>2]|0,m|0):0)hg(a,m);d=f[k+16>>2]|0;do if(d|0){if(!n?f[o>>2]|0:0){fg(a,d);break}h=d+32|0;i=(f[h>>2]|0)+-1|0;f[h>>2]=i;if(!i)fg(a,d)}while(0);d=f[k+20>>2]|0;if(d|0)kg(a,d,1);d=f[k+44>>2]|0;if(d|0)gg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,e);e=90;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=89;break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{r=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function mg(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)gg(a,c);c=f[b+4>>2]|0;if(c|0)hg(a,c);c=f[b+8>>2]|0;if(c|0)hg(a,c);c=f[b+20>>2]|0;if(c|0)gg(a,c);c=f[b+16>>2]|0;if(c|0)gg(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 Ic(a,c);c=b;d=24;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);d=23;break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function ng(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=55580;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=55580;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[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{s=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{a=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){e=hb[f[28684>>2]&127](16)|0;if(!e){a=d;return a|0}else r=e}else{e=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){r=f[14051]|0;o=Ou(i|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=r>>>0)&1}i=hb[f[28684>>2]&127](e)|0;if(!i){a=d;return a|0}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Nu(e|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&q>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](e)|0;break}j=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[14051]|0;p=Ou(e|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&p>>>0<=q>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(i){e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}else i=0}else i=0;while(0);if(i){e=f[t>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[t>>2]=i;o=hb[f[28696>>2]&127](i)|0;n=o>>>3;f[a>>2]=n;bv(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 og(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(b|0){case -16:{pg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}case -8:{if(!(f[c+4>>2]&16))return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}case -11:{if(f[a+480>>2]|0){qg(a,c);return}if(!c)return;if(!((d[c+8>>1]&9216)==0?!(f[c+24>>2]|0):0))df(c);a=f[c+32>>2]|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[(f[b>>2]|0)+16>>2]&127](b)|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}default:return}}function pg(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 Ic(a,e);d=14;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);d=12;break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function qg(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 Ic(a,e);d=15;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);d=13;break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function rg(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}Ag(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{Bg(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{H=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{H=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[i>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{H=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(k,i);while(0);f[g>>2]=0}}else df(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{Bg(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{H=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](v);break}else{H=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);f[i>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(m,k);while(0);f[i>>2]=0}}else df(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)nb[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}e=f[o>>2]|0;if(!e)break f}do{g=f[e+12>>2]|0;if(g|0)nb[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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[n>>2]|0;if(!c)break g}do{e=f[c+12>>2]|0;if(e|0)nb[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[7160]|0)){nb[f[28688>>2]&127](c);break}else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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:{}}Cg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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;Dg(a,33198,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){Cg(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=Nu(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;Dg(a,33198,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=hb[e&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);l=f[n>>2]|0;o:do if(!l)g=0;else{m=(zt(l)|0)+1|0;p:do if(!k){A=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](m)|0;I=247;break}g=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break o}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(k,m,0)|0;I=247}while(0);if((I|0)==247){I=0;if(!g){g=0;break}}$u(g|0,l|0,m|0)|0}while(0);f[q>>2]=g;g=f[n>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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(!(hb[f[n>>2]&127](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(hb[e&127](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=56244;I=278}do if((I|0)==278){if((g|0)<2|((zt(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=56244;I=320}if((I|0)==320)g=(zt(e)|0)&1073741823;f[E>>2]=e;o=Gg(K,33228,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;yc(13,33244,F)}while(0);xd(4,E);e=f[E>>2]|0;f[D>>2]=e>>>8;f[D+4>>2]=e&255;td(13,i,33273,D)|0;e=kb[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;yc(13,33259,G);jb[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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;if(!e){e=7;break v}else m=e}else{e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){G=f[14051]|0;F=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){e=7;break v}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0){m=g;break}f[14060]=e;m=g}while(0);bv(m|0,0,k|0)|0;e=lb[f[n+24>>2]&127](n,o,m,16406,0)|0;if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=((zt(g)|0)&1073741823)+1|0;e=lb[f[(f[m>>2]|0)+12>>2]&127](m,g,e,k,i)|0;if(e|0)break x;g=Nu(k|0,i|0,((zt(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){hb[f[g+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}jb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break t}}while(0);do if(!((hb[f[(f[m>>2]|0)+48>>2]&127](m)|0)&1024)){e=ib[f[(f[m>>2]|0)+20>>2]&255](m,2)|0;if(!e)break;g=f[m>>2]|0;if(g|0){hb[f[g+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}jb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Eg(e,o)|0;if(!e)g=g+1|0;else{g=0;break}}i=f[m>>2]|0;if(i|0){hb[f[i+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}if(!g){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break t}}e=jb[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[7160]|0)){nb[f[28688>>2]&127](o);break}else{G=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}else Ic(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){Fg(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;hb[g&127](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)hb[f[(f[e>>2]|0)+16>>2]&127](e)|0;do if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(K,m);while(0);f[s>>2]=0}break q}while(0);do if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Eg(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=Fg(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;hb[g&127](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)hb[f[(f[e>>2]|0)+16>>2]&127](e)|0;do if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(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;Cg(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:{}}Cg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{I=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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=Hg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}Cg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{J=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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 sg(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{af(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=Bc(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)Ze(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 tg(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;ug(a,b);if(!c){vg(a,b);t=g;return}b=a+256|0;if((f[b>>2]|0)==0?(h=wg(a)|0,f[b>>2]=h,(h|0)==0):0){t=g;return}f[e>>2]=d;a=xg(a,c,e)|0;b=f[b>>2]|0;if(b|0)Ze(b,a,-1,1,108)|0;t=g;return}function ug(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=jb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function vg(a,b){a=a|0;b=b|0;f[a+64>>2]=b;if(b|0){zg(a,b);return}if(!(f[a+256>>2]|0))return;zg(a,0);return}function wg(a){a=a|0;var c=0,e=0,g=0;a:do if(!a)c=yg(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=Bc(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 xg(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;zc(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=Ac(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 yg(a,b){a=a|0;b=b|0;var c=0,d=0;c=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](a)|0;return c|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;a=55352;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[14051]|0;a=Ou(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=hb[f[28684>>2]&127](c)|0;if(!a){d=0;return d|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0<=(f[14060]|0)>>>0){d=a;return d|0}f[14060]=b;d=a;return d|0}function zg(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{af(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=jb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function Ag(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){Bg(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)nb[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](b);else{i=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[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[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}}else Ic(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 Bg(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;_h(e,c);d=f[c+40>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);do if(e){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[a>>2]=0;return}case 0:{if(!(b[c+5>>0]&1)){ai(f[c+40>>2]|0);return}a=f[c+8>>2]|0;if(!a)return;$h(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;hb[f[g+28>>2]&127](h)|0;return}default:return}}function Cg(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;Sh(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)hb[o&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{o=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else Ic(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);Th(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;nb[d&127](f[a+220>>2]|0);return}function Dg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;zc(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=Ac(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 Eg(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]=33143;f[o+4>>2]=66792;f[o+8>>2]=31184;yc(11,31132,o);v=11;t=w;return v|0}if(l|i>>>0>=g>>>0)a=0;else a=Ig(k,0,0)|0;e=(a|0)==0;if(g>>>0>i>>>0&e)do{a=yh(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=Lg(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=Mg(e)|0;break}else{a=Ng(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;uh(u)|0;v=a;t=w;return v|0}f[e>>2]=33143;f[e+4>>2]=66787;f[e+8>>2]=31184;yc(11,31132,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=zh(a,c,0)|0;t=w;return v|0}function Fg(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=qh(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?73:74;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;Sg(f[l>>2]|0);f[l>>2]=0}th(a);l=0;return l|0}function Gg(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;zc(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=Ac(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 Hg(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=Ig(g,0,0)|0,m|0):0){g=m;break}g=Jg(f[j>>2]|0,2,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Kg(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=Jg(f[i>>2]|0,1,u)|0;if(!g){if(o?d[i+22>>1]&16:0)f[i+44>>2]=0;g=Kg(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=Jg(f[j>>2]|0,1,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Kg(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=ib[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=ib[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 Ig(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)){$g(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))$g(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;mh(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=Nu(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[7160]|0)){a=hb[f[28684>>2]&127](a)|0;if(!a){a=7;break a}else g=a}else{h=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;g=55352;a=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&a>>>0>0){n=f[14051]|0;m=Ou(a|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&m>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(!g){a=7;break a}a=hb[f[28696>>2]&127](g)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0>(f[14060]|0)>>>0)f[14060]=a}a=nh(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)){$g(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))$g(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{n=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);n=j+1|0;b[n>>0]=b[n>>0]&-15;n=a;return n|0}function Jg(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{Sg(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)==29304){c=e+16|0;g=f[c>>2]|0;if(g|0)do{h=g;g=f[g>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{y=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){g=hb[f[28684>>2]&127](512)|0;if(!g){a=7;t=z;return a|0}}else{g=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){u=f[14051]|0;r=Ou(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=u>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){a=7;t=z;return a|0}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}bv(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=eh(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=bh(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(!(ch(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;bv(y|0,0,i-y|0)|0}}else g=0;h=dh(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=bh(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=fh(a,0,p,h,y,x)|0;c=f[y>>2]|0;if(!c){c=m;c=Nu(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=Ou(p|0,h|0,c|0,e|0)|0;w=ba()|0;c=(f[o>>2]|0)+8|0;c=Ru(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=eh(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=Tu(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(!(ch(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;bv(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=eh(a,x,u,0,1)|0;if(!g)h=h+1|0;else break}}while(0)}Sg(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 Kg(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=Lg(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=Mg(i)|0;e=10;break}else{c=Ng(i)|0;e=10;break}}while(0);if((e|0)==10?c|0:0){n=c;return n|0}c=n;e=6048;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;bv(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]=126;k=f[i>>2]|0;b[m+2>>0]=1;b[m+3>>0]=1;f[m+80>>2]=171;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 Lg(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[7170]|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=lb[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]=29304;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=Tu(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=lb[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=Nu(e|0,g|0,4,0)|0;c=ba()|0;c=lb[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=Ug(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 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,p=0,q=0,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=jb[f[28780>>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=ah(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)){$g(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=kb[f[n>>2]&127](y,l,s,0)|0;if(a|0){z=22;break a}a=Ng(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)){$g(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=jb[f[28780>>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=ah(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)){$g(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 Ng(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[7160]|0)){c=hb[f[28684>>2]&127](512)|0;if(!c)q=16}else{c=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){p=f[14051]|0;j=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&j>>>0<=p>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}else q=16}if((q|0)==16){f[u+56>>2]=0;a=7;t=v;return a|0}bv(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]=29304;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=jb[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[7170]|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]=29304;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=lb[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=Rg(u)|0;if(!c)break}Sg(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=Tg(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=Lg(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 Og(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 Pg(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=Zu(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=Zu(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=Zu(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){Qg(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 Qg(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 Rg(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=Nu(c|0,d|0,-1,-1)|0;c=Ru(c|0,ba()|0,i|0,0)|0;c=Nu(c|0,ba()|0,1,0)|0;c=Tu(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,((hb[f[(f[p>>2]|0)+48>>2]&127](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;xd(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;bv(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=lb[f[(f[n>>2]|0)+12>>2]&127](n,k,m,f[c>>2]|0,f[c+4>>2]|0)|0;n=g;n=Nu(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 Sg(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{Sg(f[c+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=125)}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Tg(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=lb[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=Nu(n|0,g|0,4,0)|0;g=ba()|0;e=lb[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=Nu(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=lb[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=Nu(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=Ug(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=Ug(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 Ug(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[7160]|0)){a=hb[f[28684>>2]&127](512)|0;if(!a){m=17;break}}else{a=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){l=f[14051]|0;k=Ou(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;j=ba()|0;f[13840]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){m=17;break}d=hb[f[28696>>2]&127](a)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}bv(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[7160]|0)){c=hb[f[28684>>2]&127](500)|0;if(!c){m=7;return m|0}else e=c}else{a=hb[f[28700>>2]&127](500)|0;if((f[14058]|0)>>>0<500)f[14058]=500;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){m=f[14051]|0;e=Ou(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=m>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){m=7;return m|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=c;e=a}else e=a}$u(e|0,g|0,500)|0;bv(g|0,0,500)|0;f[i>>2]=(((f[j>>2]|0)+124|0)>>>0)/125|0;c=Ug(l,k)|0;d=0;do{a=f[e+(d<<2)>>2]|0;if(a)c=Ug(l,a)|0|c;d=d+1|0}while((d|0)!=125);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);m=c;return m|0}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Vg(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[7160]|0))nb[f[28688>>2]&127](b);else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b)}}while((a|0)!=0);f[c>>2]=0;return 0}function Wg(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=Nu(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=Uu(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;$u(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;$u(j|0,g+4|0,h|0)|0;i=i-b|0}while((i|0)>-1)}while(0);b=(g|0)==0;d=Nu(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 Xg(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=Nu(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=lb[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=Nu(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;L=ba()|0;h=Ou(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=lb[f[(f[a>>2]|0)+12>>2]&127](a,j+4|0,i,k,l)|0;if(h|0){i=a;break a}k=Nu(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[7160]|0))nb[f[28688>>2]&127](h);else{L=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h)}}while((g|0)!=0)}L=lb[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){hb[f[j+4>>2]&127](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=Uu(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=Dd(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}$u(g+4+i|0,b|0,k|0)|0;l=l-k|0;h=m;h=Nu(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 Yg(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[7160]|0))nb[f[28688>>2]&127](c);else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Zg(a,b){a=a|0;b=b|0;return 0}function _g(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 $g(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;pb[f[28784>>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 ah(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 bh(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=jb[f[28780>>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=ah(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=kh(g)|0;if(!e){nb[f[a+200>>2]&127](g);if(!(d[g+28>>1]&32)){$g(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)){$g(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;pb[f[28784>>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 ch(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((Kc()|0)==0?(e=i<<2,e=Lc(k,e,((e|0)<0)<<31>>31)|0,e|0):0){k=f[g>>2]|0;bv(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=lb[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[7160]|0)){e=hb[f[28684>>2]&127](32768)|0;if(!e)e=0;else l=18}else{e=hb[f[28700>>2]&127](32768)|0;if((f[14058]|0)>>>0<32768)f[14058]=32768;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){k=f[14051]|0;j=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&j>>>0<=k>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(e){g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;l=18}else l=18}else e=0}if((l|0)==18)bv(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 dh(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 eh(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=lb[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=Nu(f[x>>2]|0,f[x+4>>2]|0,4,0)|0;k=ba()|0;k=lb[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=Nu(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=Nu(p|0,q|0,-4,-1)|0;k=ba()|0;k=lb[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=Ug(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=jb[f[28780>>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=ah(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=Tu(F|0,((F|0)<0)<<31>>31|0,E+-1|0,0)|0;l=ba()|0;l=lb[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{ih(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=kb[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;$u(k|0,I|0,f[H>>2]|0)|0;nb[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))}$g(f[J>>2]|0);J=n;t=K;return J|0}function fh(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=Nu(i|0,j|0,-1,-1)|0;n=ba()|0;r=a+148|0;i=f[r>>2]|0;n=Ru(o|0,n|0,i|0,0)|0;n=Nu(n|0,ba()|0,1,0)|0;n=Tu(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=Nu(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=lb[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(!(Kt(k,33286,8)|0))c=i;else{s=101;t=u;return s|0}}l=f[c>>2]|0;m=Nu(n|0,o|0,8,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,12,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,16,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,20,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,24,0)|0;i=ba()|0;i=lb[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=gh(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=Nu(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 gh(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=ib[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[13883]|0)>=(p|0)?(g=f[13889]|0,(g|0)!=0):0){f[13889]=f[g>>2];n=f[13890]|0;f[13890]=n+-1;f[13891]=(n|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0

>>0)f[14059]=p;i=(f[14052]|0)+1|0;f[14052]=i;if(i>>>0>(f[14056]|0)>>>0)f[14056]=i}else{n=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](p)|0;if(!g){e=7;break}}else{g=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=f[14051]|0;l=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){e=7;break}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}i=hb[f[28696>>2]&127](g)|0;if((f[14059]|0)>>>0

>>0)f[14059]=p;i=(f[14053]|0)+i|0;f[14053]=i;if(i>>>0>(f[14057]|0)>>>0)f[14057]=i}hh(a);k=f[m>>2]|0;m=k+24|0;do if(f[m>>2]|0){j=k+28|0;n=jb[f[28768>>2]&127](p,(f[j>>2]|0)+40|0,h[k+32>>0]|0)|0;if(n|0){l=f[7193]|0;i=f[k+16>>2]|0;if((i|0)<=-1){u=Tu(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=Ru(u|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0}ob[l&127](n,i);i=k+44|0;j=f[i>>2]|0;if(j|0)nb[f[28796>>2]&127](j);f[i>>2]=n;f[m>>2]=p;break}e=g;do if((f[13886]|0)>>>0<=e>>>0)if((f[13887]|0)>>>0>e>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;e=7;break b}else{e=hb[f[28696>>2]&127](g)|0;break}else e=hb[f[28696>>2]&127](g)|0;while(0);f[14053]=(f[14053]|0)-e;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);e=7;break b}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break c}else{i=hb[f[28696>>2]&127](k)|0;break}else i=hb[f[28696>>2]&127](k)|0;while(0);f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{u=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[j>>2]=g;u=o;s=f[u>>2]|0;u=f[u+4>>2]|0;o=Nu(p|0,0,-1,-1)|0;u=Nu(o|0,ba()|0,s|0,u|0)|0;u=Ru(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 hh(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)pb[f[28784>>2]&255](f[i+44>>2]|0,f[h>>2]|0,0)}}while((c|0)!=0);if((f[j+12>>2]|0)!=0?(l=jb[f[28780>>2]&127](f[k>>2]|0,1,0)|0,(l|0)!=0):0){bv(f[l>>2]|0,0,f[j+24>>2]|0)|0;c=2}else c=1;ob[f[28792>>2]&127](f[k>>2]|0,c);return}function ih(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=jh(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 jh(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=Tu(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=Ou(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=Ru(c|0,g|0,q|0,m|0)|0;k=ba()|0;do if((1073741824/(a>>>0)|0|0)!=(j|0)){a=kb[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=Lg(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=Mg(h)|0;z=15;break}else{a=Ng(h)|0;z=15;break}}while(0);if((z|0)==15){z=0;if(a|0)break;a=f[x>>2]|0}i=Uu(c|0,g|0,r|0,u|0)|0;ba()|0;h=f[a+4>>2]|0;a=Tu(j|0,k|0,q|0,m|0)|0;a=Ou(c|0,g|0,a|0,ba()|0)|0;ba()|0;a=h+a|0;$u(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)){$g(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=Nu(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 kh(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=lh(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=Tu(l|24|0,0,c+-1|0,0)|0;e=Nu(e|0,ba()|0,56,0)|0;c=ba()|0;c=lb[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=Tu((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=lb[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 lh(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=ch(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]=33143;f[B+4>>2]=60988;f[B+8>>2]=31184;yc(11,31132,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 mh(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;pb[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 nh(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;mh(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]=33143;f[m+4>>2]=67612;f[m+8>>2]=31184;yc(11,31132,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){$u(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=Lg(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=Mg(l)|0;z=13;break}else{k=Ng(l)|0;z=13;break}}while(0);if((z|0)==13?k|0:0)break;$u(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)>(hb[f[28696>>2]&127](k)|0);k=f[m>>2]|0;if(r)z=23}else z=23;if((z|0)==23){k=Lc(k,c<<3,0)|0;if(!k){k=7;break}f[m>>2]=k;l=c<<2}bv(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=kb[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){$u(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=Lg(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=Mg(c)|0;z=46;break}else{v=Ng(c)|0;z=46;break}}while(0);if((z|0)==46?(z=0,v|0):0){k=v;break}$u(l|0,g|0,n|0)|0;k=0}while(0);l=f[y>>2]|0;if(l)if(!(d[l+28>>1]&32)){$g(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=oh(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]=33143;f[A+4>>2]=67757;f[A+8>>2]=31184;yc(11,31132,A);A=11;t=B;return A|0}function oh(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=ph(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=kb[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)){$g(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 ph(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=kb[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)){$g(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]=33143;f[m+4>>2]=63979;f[m+8>>2]=31184;yc(11,31132,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)){$g(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]=33143;f[n+4>>2]=63987;f[n+8>>2]=31184;yc(11,31132,n);n=11;t=o;return n|0}function qh(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{Sg(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)==29304){i=29304;z=9}if((z|0)==9){hb[f[i+4>>2]&127](k)|0;f[k>>2]=0}i=a+92|0;k=f[i>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)==29304){l=o+16|0;i=f[l>>2]|0;if(i|0)do{k=i;i=f[i>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=jb[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=ib[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;hb[f[m+4>>2]&127](o)|0;f[o>>2]=0;if(!s){i=0;break a}i=f[a>>2]|0;i=jb[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=jb[f[m+16>>2]&127](o,0,0)|0;else i=lb[f[m+12>>2]&127](o,55296,28,0,0)|0;if(!i){if(!(b[a+7>>0]|0)){i=f[n>>2]|0;i=ib[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=ib[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=jb[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;Sg(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=Tu(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=Ru(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=Tu(c|0,0,100,0)|0;c=ba()|0}if(k|0?(r=Ru(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)pb[f[28784>>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)pb[f[28784>>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=jb[f[28780>>2]&127](f[r>>2]|0,1,0)|0,(u|0)!=0):0){bv(f[u>>2]|0,0,f[l+24>>2]|0)|0;k=1}else k=0;ob[f[28792>>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=ib[f[w+24>>2]&255](v,x)|0;l=((p|0)<0)<<31>>31;c=Tu(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=Nu(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;bv(x|0,0,p|0)|0;y=f[y>>2]|0;z=Ou(c|0,m|0,p|0,l|0)|0;g=ba()|0;g=lb[f[(f[y>>2]|0)+12>>2]&127](y,x,p,z,g)|0;z=117}}else{g=f[y>>2]|0;g=jb[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;kb[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=jb[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(!(kb[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=ib[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 rh(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]=33143;f[h+4>>2]=55821;f[h+8>>2]=31184;yc(11,31132,h);a=11;t=q;return a|0}p=a+212|0;h=f[p>>2]|0;h=jb[f[28780>>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=hb[f[28776>>2]&127](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=ib[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=jb[f[28780>>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=ah(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=kh(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)Ug(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){Ug(f[i+(j*48|0)+16>>2]|0,c)|0;h=f[g>>2]|0}j=j+1|0}while((j|0)<(h|0))}}bv(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]=33143;f[l+4>>2]=55853;f[l+8>>2]=31184;yc(11,31132,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;pb[f[28784>>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))qh(a,0,0)|0;break}default:uh(a)|0}vh(a)}f[e>>2]=0;a=h;t=q;return a|0}function sh(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 th(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[7160]|0)){nb[f[28688>>2]&127](e);i=15;break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$g(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))qh(c,0,0)|0;break}default:uh(c)|0}vh(c);return}function uh(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=wh(a,0)|0;break}c=qh(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]=74;e=c;return e|0}}else{c=Jg(a,2,-1)|0;d=qh(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?73:74;e=c;return e|0}function vh(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;Sg(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{Sg(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)==29304){c=29304;k=7}if((k|0)==7){hb[f[c+4>>2]&127](e)|0;f[e>>2]=0}c=a+92|0;e=f[c>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?((hb[f[g+48>>2]&127](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){hb[f[j+4>>2]&127](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=ib[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;kb[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;kb[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)){hh(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]=73;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 pl(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;kg(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;gg(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;hg(f[a>>2]|0,b);return}case 230:case 224:case 223:case 212:case 205:{lg(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)hg(0,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)kg(0,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(i,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)kg(i,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0){if(f[c>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);return}else{j=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;mg(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{h=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(j,a);a=c;c=82;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);c=80;break}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{k=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}case 270:case 269:case 268:case 237:{mg(f[a>>2]|0,f[c>>2]|0);return}case 254:case 249:{ig(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(j,a);a=c;c=126;break e}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);c=124;break}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{k=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}case 276:case 275:case 274:{b=f[c+4>>2]|0;if(!b)return;gg(f[a>>2]|0,b);return}default:return}while(0)}function ql(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=Bc(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;Xa()}rl(e,61,0,1,0)|0;a=e;return a|0}function rl(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=Bc(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=Jc(i,a,m,0)|0;l=26;break}a=Jc(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=hb[f[28696>>2]&127](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 sl(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;og(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;og(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;og(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=(zt(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=Nu(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=Bc(i,k,l)|0;if(!g)g=0;else{$u(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 tl(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=ql(a)|0}else n=j;j=g+28|0;lm(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=rl(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 rl(n,i,c,g,e)|0;k=f[m>>2]|0;g=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);return}else{i=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);return}}function ul(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=Bc(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=Jc(i,h,a,0)|0;a=26;break}h=Jc(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=hb[f[28696>>2]&127](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[23152+(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 vl(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{rl(Z,90,k,c,e)|0;t=_;return e|0}}else Y=12;break}case 36:{So(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{rl(Z,70,c,e,0)|0;t=_;return e|0}}case 40:{c=f[L+8>>2]|0;if(!c){t=_;return e|0}gf(c,S,(zt(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=Bc(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=rl(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{sl(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Z=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=rl(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;sl(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{rl(Z,73,0,e,0)|0;t=_;return e|0}}case 90:{o=(f[L+8>>2]|0)+2|0;n=(zt(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=Bc(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);t=_;return e|0}else{Z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=vl(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{rl(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{rl(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=Bm(a,f[L+12>>2]|0,T)|0;c=Bm(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{rl(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:{So(a,c,1,e);t=_;return e|0}case -115:{c=f[c+8>>2]|0;if(!c){t=_;return e|0}gf(c,S,(zt(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=Bc(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=rl(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{sl(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Z=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=Bm(a,C,T)|0;c=Bm(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{rl(Z,97,c,k,e)|0;k=e;break b}}}}case 304:{c=Bm(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{rl(Z,B,c,e,0)|0;k=e;break}}case 307:{i=Bm(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=rl(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 rl(Z,70,1,e,0)|0;c=Bm(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=rl(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 rl(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=55600;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];li(a,49975,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]=132;f[S+8>>2]=133;f[S+24>>2]=0;mi(S,L)|0;if(!(b[R>>0]|0)){c=f[y>>2]|0;break}e=Nm(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=Pk(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=vl(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{rl(k,78,c,e,0)|0;break}}else{F=vl(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{rl(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 rl(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=vl(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{rl(k,78,c,e,0)|0;break}}else{G=vl(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{rl(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=vl(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]=132;f[o>>2]=133;f[q>>2]=0;if(!g)g=1<>0]|0)==0?0:1<>2]&32|0)==0))l=Xk(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);Ho(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=To(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=rl(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){sl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{Y=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(a,50001,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;li(a,45521,l);k=e;break}e=Km(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=Km(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;li(a,47716,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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{Y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{Y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(Z,73,0,e,0)|0;Em(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 rl(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 rl(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=Dm(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;vl(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 rl(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{rl(Z,84,e,0,0)|0;k=e;break}}else k=e;break}case 576:{li(a,40340,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=rl(Z,21,c,0,0)|0;k=vl(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[13902]=c;c=55600}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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{R=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Dm(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=Jc(o,g,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,c,~r,16);g=f[B+4+((u|1)*20|0)>>2]|0;do if(g){if((b[g>>0]|0)!=-92){I=vl(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{rl(l,78,g,e,0)|0;break}}else{I=vl(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{rl(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 rl(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{rl(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=vl(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{rl(k,78,c,e,0)|0;break p}}else i=vl(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{rl(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)){li(a,50024,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=rl(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;sl(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=rl(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;sl(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;ym(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=vl(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{rl(Z,79,k,e,0)|0;break}}else g=Z+12|0;while(0);k=49967+((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=rl(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{sl(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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)){li(a,40340,D);k=e;break}i=N<<24>>24==55?56:N;if((b[O>>0]|0)==127){H=Km(a,O,0,0)|0;c=b[M>>0]|0}else{H=0;c=g}if(c<<24>>24==127)u=Km(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=Bm(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=Bm(a,k,R)|0}}o=c&255;Cm(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 rl(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 rl(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 rl(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=Bm(a,O,T)|0;S=L+16|0;Z=Bm(a,f[S>>2]|0,X)|0;Cm(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 wl(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;eo(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=Bc(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}}bv(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 xl(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?39516:34444;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=Bc(O,e,0)|0;N=14}if((N|0)==14?o|0:0){$u(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){li(a,41825,p);t=P;return}n=Fl(O,c)|0;if((n|0)<0){f[q>>2]=c;li(a,41842,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){li(a,49857,s);t=P;return}s=o?1:n;r=nl(O,e)|0;b:do if((h[a+196>>0]|0)>1){p=f[a>>2]|0;c:do if(!p){if(!(f[7160]|0)){n=hb[f[28684>>2]&127](16)|0;N=49;break}n=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;p=55352;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){I=f[14051]|0;C=Ou(o|0,p|0,n|0,((n|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&C>>>0<=I>>>0)&1}n=hb[f[28684>>2]&127](n)|0;if(!n)break b;o=hb[f[28696>>2]&127](n)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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(!(Xl(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?39516:34444;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=mb[u&127](f[o+316>>2]|0,18,n,0,p,f[a+236>>2]|0)|0;if((n|0)==1){li(a,40490,v);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{li(a,40505,w);f[a+12>>2]=1;N=241;break d}}while(0);w=(k|0)==0;do if(((w?(x=h[49898+(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=mb[z&127](f[y+316>>2]|0,x,C,0,p,f[a+236>>2]|0)|0;if((n|0)==1){li(a,40490,B);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{li(a,40505,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=oi(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=oi(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(!(hi(O,C,o)|0)){if(Oj(O,C,o)|0){f[F>>2]=C;li(a,49926,F);N=240;break d}if(O|0){N=118;break}if(!(f[7160]|0)){m=hb[f[28684>>2]&127](80)|0;N=140;break}m=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){G=f[14051]|0;F=Ou(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}m=hb[f[28684>>2]&127](m)|0;if(!m){N=141;break}n=hb[f[28696>>2]&127](m)|0;n=(f[14051]|0)+n|0;f[14051]=n;if(n>>>0>(f[14055]|0)>>>0)f[14055]=n;n=(f[14054]|0)+1|0;f[14054]=n;if(n>>>0<=(f[14060]|0)>>>0)break;f[14060]=n;break}if(!l){f[E>>2]=c;li(a,49902,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=aj(f[s>>2]|0,0,s,L,0,542)|0;if(n|0){li(p,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;a=(f[13890]|0)+1|0;f[13890]=a;f[13891]=(a|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;N=103;break}else{m=hb[f[28696>>2]&127](n)|0;N=103}while(0);do if((N|0)==103){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{a=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);a=gh(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=Bc(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?(wt(C,43582)|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=ql(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=aj(f[M>>2]|0,0,M,L,0,542)|0;if(m|0){li(s,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;L=(f[13890]|0)+1|0;f[13890]=L;f[13891]=(L|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;N=166;break}else{m=hb[f[28696>>2]&127](n)|0;N=166}while(0);do if((N|0)==166){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{N=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);N=gh(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{rl(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 rl(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=rl(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 rl(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 rl(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=55600;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{rl(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=rl(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=ql(a)|0}else o=m;lm(a,I,1,1,34444);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=rl(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 rl(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=rl(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]=49961;b[o>>0]=-1;break}else{sl(v,n+(m*20|0)|0,49961,-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 rl(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{rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);t=P;return}else{O=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-O;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C);t=P;return}}function yl(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=Qt(k,95)|0,r|0):0)?(b[r>>0]=0,l=hi(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=55580;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=55580;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)?hb[u&127](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{li(a,56244,v);t=ea;return}while(0);b:do if(g&32){k=da+36|0;l=f[k>>2]|0;if(l&8|0){li(a,49538,w);t=ea;return}if(!(l&4)){f[x>>2]=f[da>>2];li(a,49588,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=55600;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=(zt(k)|0)&1073741823;f[R+4>>2]=k;k=Bk(L,59,R,0)|0;k=kl(f[a>>2]|0,0,k)|0;if((k|0?(b[k+16>>0]=b[a+194>>0]|0,Cl(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=55600;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=Bc(L,n,m)|0}if(!l)break b;bv(l|0,0,n|0)|0;s=k+32|0;$u(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;$u(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;$u(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=Nu(o|0,n|0,-1,-1)|0;H=ba()|0;if(H>>>0>0|(H|0)==0&L>>>0>2147483390)break b;if(!(f[7160]|0)){k=hb[f[28684>>2]&127](o)|0;T=141;break}k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){L=f[14051]|0;H=Ou(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;G=ba()|0;f[13840]=((G|0)<0|(G|0)==0&H>>>0<=L>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break b;m=hb[f[28696>>2]&127](k)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(L,o,n)|0;T=141}while(0);if((T|0)==141)if(!k)break;bv(k|0,0,o|0)|0;L=K+32|0;$u(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;$u(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;$u(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]=33704;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=Zu(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]=123;f[s>>2]=124;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}mi(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;li(k,33384,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=Zu(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=Yu(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=Yu(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[7920+((k&7)<<1)>>1]|0)&65535;d[da+46>>1]=k;k=f[da+8>>2]|0;if(k|0)do{Ro(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=ql(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 rl(D,117,0,0,0)|0;B=(f[da+12>>2]|0)==0;n=B?49620:49626;B=B?38396:41862;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=Gg(ca,49657,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 rl(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 rl(D,13,n,0,k)|0;m=a+36|0;do if(!(f[m>>2]|0)){k=Sk(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;fg(ca,k)}else fg(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;Il(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 rl(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=55600;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=rl(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 rl(D,102,n,k,s)|0;hn(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 rl(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 rl(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 rl(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=55600;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 rl(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?56244:49631;z=A?32359:49635;A=A?33721:49640;y=(r*6|0)+35+y|0;R=Nu(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[7160]|0)){m=hb[f[28684>>2]&127](y)|0;if(!m)break o}else{k=hb[f[28700>>2]&127](y)|0;if((f[14058]|0)>>>0>>0)f[14058]=y;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){R=f[14051]|0;i=Ou(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[13840]=((Q|0)<0|(Q|0)==0&i>>>0<=R>>>0)&1}m=hb[f[28684>>2]&127](k)|0;if(!m)break o;k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=k}while(0);td(y,m,49643,S)|0;k=(zt(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[8352+((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[8480+p>>0]|0)){r=8896+(j[8624+(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[9520+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){td(k,n,q,W)|0;k=((zt(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[8352+((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[8480+q>>0]|0)){r=8896+(j[8624+(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[9520+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[23120+((b[w+13>>0]|0)+-65<<2)>>2]|0;o=(zt(n)|0)&1073741823;$u(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;td(k,n,31564,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]=34444;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;Rl(a,49672,Y);v:do if(m|0){if(f[ca+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Y=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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];Rl(a,49759,_)}f[$>>2]=f[k>>2];Vl(D,F,Gg(ca,49801,$)|0);if(!(b[V>>0]|0)){t=ea;return}}else k=da;if(ng((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 zl(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]=132;f[q+8>>2]=133;f[q+24>>2]=0;if(c){mi(q,c)|0;i=b[k>>0]|0}if(!(i<<24>>24)){f[n>>2]=f[m+(l<<4)>>2];li(a,49493,n);break}o=m+(l<<4)+4|0;i=f[o>>2]|0;if(i|0)gg(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=Nu(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=Bc(r,m,n)|0;if(!i)i=0;else{$u(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=zk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=131,c|0):0)mi(q,c)|0;if(!c){t=s;return}gg(r,c);t=s;return}function Al(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=Bc(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;$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;p=49;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[14051]|0;e=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&e>>>0<=n>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){q=o;return q|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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 Bl(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];li(a,49396,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=56244;else{l=f[m>>2]|0;l=l+(zt(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=40999;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){li(a,49437,y);D=52;break}Cl(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}hg(f[a>>2]|0,c);t=E;return}function Cl(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=oi(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=oi(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){li(a,41825,y);r=m;q=0;va=448;break a}q=Fl(q,c)|0;if((q|0)<0){f[z>>2]=c;li(a,41842,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=ni(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){fg(q,s);break}ka=s+32|0;la=(f[ka>>2]|0)+-1|0;f[ka>>2]=la;if(!la)fg(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;li(a,41262,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]=48956;f[C+20>>2]=c;u=(v|0)==1;f[C+8>>2]=u&1;Wl(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=ni(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];li(a,48962,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=42586;va=69}else{_=q&255;q=1232+_|0;do if((_|32|0)==115){q=b[u+1>>0]|0;if(!(q<<24>>24)){q=42587;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==113){q=b[u+2>>0]|0;if(!(q<<24>>24)){q=42588;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+3>>0]|0;if(!(q<<24>>24)){q=42589;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==105){q=b[u+4>>0]|0;if(!(q<<24>>24)){q=42590;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+5>>0]|0;if(!(q<<24>>24)){q=42591;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=42592;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=49012;va=76}else{_=q&255;q=1232+_|0;do if((_|32|0)==97){q=b[u+8>>0]|0;if(!(q<<24>>24)){q=49013;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+9>>0]|0;if(!(q<<24>>24)){q=49014;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+10>>0]|0;if(!(q<<24>>24)){q=49015;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==101){q=b[u+11>>0]|0;if(!(q<<24>>24)){q=49016;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=49017;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=49018;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=49019;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=49020;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;li(a,49022,H);r=m;q=0;va=448;break a}}}while(0);if(f[la+12>>2]|0){li(a,49050,I);r=m;q=0;va=448;break}if(f[la+56>>2]|0){li(a,49075,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=Gg(wa,49167,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=nl(wa,ga)|0;if(!q){r=m;q=0;va=448;break}if(Xl(a,q)|0){r=m;va=448;break}r=b[ta>>0]|0;if((r&255)<=1){if((b[ua>>0]|0)==0?hi(wa,q,0)|0:0){f[K>>2]=q;li(a,49109,K);r=m;va=448;break}if(!(Oj(wa,q,f[v>>2]|0)|0))va=129;else{if(!o){f[L>>2]=q;li(a,49143,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=aj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){li(v,42209,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[13886]|0)>>>0<=r>>>0)if((f[13887]|0)>>>0>r>>>0){f[14052]=(f[14052]|0)+-1;f[s>>2]=f[13889];f[13889]=s;k=(f[13890]|0)+1|0;f[13890]=k;f[13891]=(k|0)<(f[13885]|0)&1;break}else{r=hb[f[28696>>2]&127](s)|0;va=111;break}else{r=hb[f[28696>>2]&127](s)|0;va=111}while(0);do if((va|0)==111){f[14053]=(f[14053]|0)-r;if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=gh(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?39516:34444;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=mb[O&127](f[u+316>>2]|0,18,s,0,x,f[a+236>>2]|0)|0;if((r|0)==1){li(a,40490,P);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)!=2){li(a,40505,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=mb[R&127](f[u+316>>2]|0,s,q,r,x,f[a+236>>2]|0)|0;if((r|0)==1){li(a,40490,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{li(a,40505,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]=48956;li(a,41901,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=(zt(i)|0)&1073741823;f[oa+4>>2]=i;r=Bk(wa,59,oa,0)|0;r=kl(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=(zt(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=(zt(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=Nu(u|0,s|0,-1,-1)|0;Y=ba()|0;if(!(Y>>>0>0|(Y|0)==0&Z>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](u)|0;va=192;break}i=hb[f[28700>>2]&127](u)|0;if((f[14058]|0)>>>0>>0)f[14058]=u;s=55352;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){Z=f[14051]|0;Y=Ou(r|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;V=ba()|0;f[13840]=((V|0)<0|(V|0)==0&Y>>>0<=Z>>>0)&1}r=hb[f[28684>>2]&127](i)|0;if(r){i=hb[f[28696>>2]&127](r)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){va=193;break}f[14060]=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=Bc(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){bv(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;$u(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]=123;f[oa+8>>2]=124;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;li(a,33384,W)}else{mi(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]=123;f[F>>2]=124;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;li(a,33384,ca);break}mi(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=(zt(u)|0)&1073741823;m=r+1|0;$u(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?33704: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=Yk(r,u,v,m&255)|0;do if(!(m<<24>>24)){if(!r){r=Zk(a,u,0,v)|0;break}if(f[r+12>>2]|0)break p;r=Zk(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}li(a,49190,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]=33704}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;$u(u+2|0,30368,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))Ro(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=Zu(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;li(a,49251,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;li(a,49251,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(!(ng((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=ql(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=aj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){li(e,42209,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[13886]|0)>>>0<=r>>>0)if((f[13887]|0)>>>0>r>>>0){f[14052]=(f[14052]|0)+-1;f[s>>2]=f[13889];f[13889]=s;oa=(f[13890]|0)+1|0;f[13890]=oa;f[13891]=(oa|0)<(f[13885]|0)&1;break}else{r=hb[f[28696>>2]&127](s)|0;va=360;break}else{r=hb[f[28696>>2]&127](s)|0;va=360}while(0);do if((va|0)==360){f[14053]=(f[14053]|0)-r;if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=gh(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=rl(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 rl(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?56244:49293;f[qa+4>>2]=va;f[qa+8>>2]=s;s=Gg(wa,49301,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]=34444;f[ra+8>>2]=qa;f[ra+12>>2]=va;f[ra+16>>2]=A;f[ra+20>>2]=s;Rl(a,49321,ra);z:do if(s|0){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);do if(pa){$l(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 rl(r,107,ka,1,s)|0;f[sa>>2]=f[Z>>2];Vl(C,ka,Gg(wa,49369,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{rl(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=55600;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)gg(wa,r);r=f[Z+40>>2]|0;if(r|0)hg(wa,r);r=f[Z+16>>2]|0;B:do if(r|0){do if(!_){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{va=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{va=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);if(Y){do if(!_){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](Y);r=u;va=448;break}else{r=hb[f[28696>>2]&127](Y)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(wa,r);if(i|0)hg(wa,i);lg(wa,g);if(!q){t=xa;return}if(wa|0){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);t=xa;return}else{g=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);t=xa;return}}function Dl(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;li(a,48753,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{li(a,48816,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=(zt(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=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](l)|0;D=42;break}n=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){A=f[14051]|0;z=Ou(k|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}m=hb[f[28684>>2]&127](n)|0;if(!m){D=127;break a}k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(L,l,n)|0;D=42}while(0);if((D|0)==42)if(!k){D=127;break}else A=k;bv(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;D=67;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){w=f[14051]|0;v=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&v>>>0<=w>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break c;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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);$u(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;li(a,48910,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=(zt(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);$u(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=ng((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){Ic(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[7160]|0)){nb[f[28688>>2]&127](A);D=127;break}else{D=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hg(L,c);D=129}if((D|0)==129?(g|0)==0:0){t=M;return}hg(L,g);t=M;return}function El(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){lg(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=oi(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=oi(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;lg(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=ni(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){lg(T,c);t=V;return}Ql(a,f[c+12>>2]|0);lg(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?ii(a,S)|0:0){lg(T,c);t=V;return}g=(R|0)==1;i=g?39516:34444;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=mb[q&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,r);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)==2){if(!i)break;lg(T,c);t=V;return}else{li(a,40505,s);f[a+12>>2]=1;lg(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=mb[n&127](f[k+316>>2]|0,m,i,l,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,u);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)!=2){li(a,40505,v);f[a+12>>2]=1;lg(T,c);t=V;return}if(i|0){lg(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=mb[l&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,x);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)!=2){li(a,40505,y);f[a+12>>2]=1;lg(T,c);t=V;return}if(!i){o=f[S>>2]|0;break}else{lg(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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=48546;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=48550;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=48551;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=48552;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=48553;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=48554;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=48555;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=48556;C=72;break}i=i&255;if((i|32|0)==116)break c;else{l=116;i=1232+i|0;C=74}}else{i=48549;C=72}}else{l=108;C=74}}else{i=48548;C=72}}else{l=113;C=74}}else{i=48547;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;li(a,48558,z);lg(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;li(a,48586,A);lg(T,c);t=V;return}}else if(!i){f[B>>2]=o;li(a,48620,B);lg(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(!(ql(a)|0)){lg(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=aj(f[H>>2]|0,0,H,P,0,542)|0;if(i|0){li(q,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](k)|0;C=103;break}else{i=hb[f[28696>>2]&127](k)|0;C=103}while(0);do if((C|0)==103){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{F=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);F=gh(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){Qo(a,S,R,e);lg(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;td(24,P,42328,I)|0;if(hi(f[a>>2]|0,P,l)|0){f[J>>2]=l;f[J+4>>2]=P;f[J+8>>2]=38499;f[J+12>>2]=k;Rl(a,42342,J)}f[K>>2]=2;td(24,P,42328,K)|0;if(hi(f[a>>2]|0,P,l)|0){f[L>>2]=l;f[L+4>>2]=P;f[L+8>>2]=38499;f[L+12>>2]=k;Rl(a,42342,L)}f[M>>2]=3;td(24,P,42328,M)|0;if(hi(f[a>>2]|0,P,l)|0){f[N>>2]=l;f[N+4>>2]=P;f[N+8>>2]=38499;f[N+12>>2]=k;Rl(a,42342,N)}f[O>>2]=4;td(24,P,42328,O)|0;i=f[a>>2]|0;if(!(hi(i,P,l)|0))r=i;else{f[Q>>2]=l;f[Q+4>>2]=P;f[Q+8>>2]=38499;f[Q+12>>2]=k;Rl(a,42342,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=ql(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=55580;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=55580;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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Q=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(u,46,1,i,0)|0;n=i;break}}else n=0;while(0);Q=a+142|0;b[Q>>0]=1;Ll(a,Ik(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 rl(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=ql(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=rl(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;sl(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);Qo(a,S,R,0);lg(T,c);t=V;return}function Fl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;j=nl(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=33138;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);l=c;return l|0}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);l=c;return l|0}return 0} -function Gn(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=Zu(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=Yu(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=Jc(o,m,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);i=0;break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{fa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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)){In(sa,f[(f[l>>2]|0)+16>>2]|0,k,1);break}else{Hn(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 rl(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 rl(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=rl(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){sl(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 og(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}Jn(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=55600;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{rl(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=Bc(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;hl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[C>>2]=k;li(sa,33384,C)}n=m+12|0;f[n>>2]=f[(f[q>>2]|0)+12>>2];f[na>>2]=0;f[z>>2]=0;k=Bk($,164,na,0)|0;f[m+16>>2]=k;if(k|0){f[k+28>>2]=u+r;xm(sa,m,f[B>>2]|0,0)}f[n>>2]=0;gg($,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=Hn(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 rl(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{rl(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;In(sa,l,i,1);m=i;i=((b[n>>0]|0)+1&2|1)&255}while(0);if((ea|0)==168){m=Bm(sa,l,na)|0;Jn(ia,k);i=(h[n>>0]|0)+-54|0}i=b[47238+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 rl(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;In(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;Jn(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 rl(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 rl(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[47269+_>>0]|0;f[a+752+(c*80|0)+48>>2]=ja;i=b[47271+_>>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=(rl(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{_=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-_;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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(!$){_=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](m)|0;ea=723;break}l=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){_=f[14051]|0;Y=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;X=ba()|0;f[13840]=((X|0)<0|(X|0)==0&Y>>>0<=_>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc($,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{rl(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 rl(qa,113,n,k,0)|0;k=f[Z>>2]|0;l=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);i=n;break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=zk($,n,0,0)|0;o=il($,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=Bc(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;hl(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;li(sa,33384,D);I=n;break l}while(0);gg(k,o);I=0}else I=0;while(0);H=d[L>>1]&1024|32;Im(sa,1,47254,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=qn(sa,M,k,0,0,H,U)|0;if(!v)break;Fn(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)){ym(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=rl(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{ym(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=rl(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 rl(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=rl(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 rl(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=55600;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);rn(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=55600;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;gg($,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=55600;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 rl(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){Ic($,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[7160]|0)){nb[f[28688>>2]&127](N);break}else{$=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);break}}while(0);if(o|0){D=0;break}Jn(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 rl(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=zm(l,n)|0;p:do if(!n)P=0;else{o=(zt(n)|0)+1|0;q:do if(!l){P=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;ea=251;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){P=f[14051]|0;I=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[13840]=((H|0)<0|(H|0)==0&I>>>0<=P>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){P=0;break p}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(l,o,0)|0;ea=251}while(0);if((ea|0)==251)if(!i){P=0;break}$u(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 rl(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=rl(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=rl(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=55600;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=55600;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 rl(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=Hn(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{rl(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{rl(F,50,i,k,0)|0;break}}while(0);if(A)break;l=P+q|0;o=b[l>>0]|0;i=Wk(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=(zt(n)|0)+1|0;x:do if(!$){W=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;ea=345;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){W=f[14051]|0;I=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[13840]=((H|0)<0|(H|0)==0&I>>>0<=W>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){D=0;break w}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc($,o,0)|0;ea=345}while(0);if((ea|0)==345)if(!i){D=0;break}$u(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;In(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=55600;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{rl(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=Wk(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}Jn(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 rl(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=rl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;og(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);sl(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{rl(qa,119,U,0,0)|0;break}}while(0);l=b[47242+(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=rl(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;In(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=55600;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{rl(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=Wk(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=rl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;og(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);sl(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}Jn(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 rl(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){Ic($,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[7160]|0)){nb[f[28688>>2]&127](P);break}else{Z=hb[f[28696>>2]&127](P)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](P);break}}while(0);K:do if(D|0){do if($|0){if(f[$+480>>2]|0){Ic($,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[7160]|0)){nb[f[28688>>2]&127](D);break}else{$=hb[f[28696>>2]&127](D)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[47250+(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=rl(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{rl(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 rl(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=rl(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 rl(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){$=Nu(q|0,0,-1,-1)|0;Z=ba()|0;if(Z>>>0>0|(Z|0)==0&$>>>0>2147483390)break L;if(!(f[7160]|0)){i=hb[f[28684>>2]&127](q)|0;ea=591;break}i=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){$=f[14051]|0;Z=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;X=ba()|0;f[13840]=((X|0)<0|(X|0)==0&Z>>>0<=$>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break L;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){o=k;break}f[14060]=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=Bc(n,q,0)|0;ea=591}while(0);if((ea|0)==591)if(!i)break L;else o=i;bv(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{sl(s,k+(i*20|0)|0,o,-15);break L}}do if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break L}else{$=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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{rl(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]=144;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)mi(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?mi(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?mi(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 rl(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=rl(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]=143;f[A>>2]=oa;if((p|0)!=0?(mi(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=rl(qa,n,o,0,0)|0;xm(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=55600;f[m+8>>2]=n}else ea=906;while(0);if((ea|0)==906){ea=0;xm(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=yn(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=yn(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];xm(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 rl(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){xm(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 Hn(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=vl(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{rl(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}Jn(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=zk(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=kl(f[a>>2]|0,l,x)|0;f[w>>2]=0;m=r+4+(v*20|0)|0;k=kl(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)hg(A,q);if(r|0)hg(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)gg(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=Nu(n|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&z>>>0>2147483390)k=0;else{if(!(f[7160]|0)){k=hb[f[28684>>2]&127](n)|0;E=66;break}k=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[14051]|0;y=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=z>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k){k=0;break}l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){E=67;break}f[14060]=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=Bc(m,n,0)|0;E=66}while(0);if((E|0)==66)if(!k)k=0;else E=67;if((E|0)==67)bv(k|0,0,n|0)|0;n=Hm(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){gg(A,B);k=n}B=f[c>>2]|0}else{B=y;l=0;k=Hm(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 rl(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=Jc(r,h,q,0)|0;if(!n){if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{w=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bc(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=Jc(s,n,r,0)|0;if(o|0){f[t>>2]=o;n=o;E=132;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);E=155;break}else{E=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break a}else{J=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break a}}}}while(0);Jn(e,c);e=i;return e|0}function In(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=vl(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{rl(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=Km(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{rl(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=vl(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{rl(k,78,h,n,0)|0;break}}else{p=vl(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{rl(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{rl(k,78,h,e,0)|0;return}}k=vl(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{rl(h,79,k,e,0)|0;return}}function Jn(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 Kn(a,c){a=a|0;c=c|0;a=f[a+24>>2]|0;if(Ak(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 Ln(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 Mn(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[47430]|0;b[s+1>>0]=b[47431]|0;b[s+2>>0]=b[47432]|0;b[s+3>>0]=b[47433]|0;b[s+4>>0]=b[47434]|0;break}else{Cc(a,47430,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{Cc(a,47534,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{Cc(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{Cc(a,32359,1);break}}while(0);h=d[(f[o>>2]|0)+(l+g<<1)>>1]|0;switch(h<<16>>16){case -2:{h=47423;p=21;break}case -1:{h=38544;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=(zt(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;$u((f[n>>2]|0)+j|0,h|0,c|0)|0}}else Cc(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 Cc(a,33721,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 Cc(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{Cc(a,47534,1);break}}else if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0;break}else{Cc(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{Cc(a,32359,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 Cc(a,36715,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{Cc(a,33721,1);return}}function Nn(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=Dn(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=Dn(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=Dn(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=Dn(a,c)|0;g=ba()|0}c=f[o+44>>2]|0;if(!c){c=0;e=0}else{c=Dn(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=Nn(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=Dn(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=Dn(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 On(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=Zu(1,0,i|0)|0;Ga=Nu(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=Zu(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=yn($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=yn($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=Xk(p,f[r>>2]|0)|0;if(!g)n=f[(f[p>>2]|0)+8>>2]|0;else n=g;g=Xk(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=Zu(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=Zu(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(Ak(0,o,p,R)|0)break}if(u){n=-1;break g}p=f[a>>2]|0;o=Xk(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=Zu(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=Dn(va,m)|0;e=ba()|0;if((n|0)==0&(e|0)==0){b[ra>>0]=1;f[sa>>2]=132;f[ta>>2]=133;f[ua>>2]=0;mi($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=Zu(1,0,i|0)|0;$a=Nu($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 Pn(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(Qn(e,c)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+65535;break}if(Qn(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];tn(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=Bc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(A,a);a=f[x>>2]|0;u=113;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);u=111;break}else{u=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);break}else{C=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(A,e,0)|0;u=136}if((u|0)==136?h|0:0){a=t+48|0;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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));$u(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 Qn(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 Rn(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(!(Rn(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(Vn(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 Sn(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=(yk(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 Tn(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=yn(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=Yu(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=Yu(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[7920+((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=Bc(va,G,0)|0}if(!i){i=0;break a}$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{q=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(Un(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=(Un(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=Bc(va,n,0)|0}if(!k){i=0;break a}$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(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=Yu(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=Yu(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[7920+((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=Yu(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=Yu(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[7920+((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[22944+(o-L)>>0]|0)&65535;break}}else if((o+49|0)>=(L|0))if((o+31|0)<(L|0))i=aa;else i=(h[22944+(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[22944+(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[22944+(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;Sn(f[ia>>2]|0,wa,ea);i=Pn(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)Tn(a,c,e,o&65535)|0;d[Da>>1]=Ea}else i=0}while(0);u=yn(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=Bc(va,l,0)|0;if(!i){Fa=7;t=Ga;return Fa|0}k=wa+48|0;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{wa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Tn(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 Un(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=Wk(o)|0;m=Wk(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=Xk(a,n)|0;v=29;break}l=Xk(a,o)|0;if(!l){l=Xk(a,n)|0;v=29}}else{l=Xk(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 Vn(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;if(!(Ak(a,c,d,e)|0)){e=1;return e|0}g=b[d>>0]|0;do if(g<<24>>24==43){if(Vn(a,c,f[d+12>>2]|0,e)|0){e=1;return e|0}if(!(Vn(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(!(Ak(a,g,f[d+12>>2]|0,e)|0)){e=1;return e|0}}while(0);e=0;return e|0}function Wn(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}}bv(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=ib[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;li(M,31564,w);break a}switch(r|0){case 516:{c=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=r&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}f[x>>2]=c;li(M,31564,x)}}while(0);c=o+8|0;e=f[c>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{z=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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];li(M,47554,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];li(M,47554,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=Yu(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=Yu(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=Yu(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=Zu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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=Pn(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{W=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-W;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Xn(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=Yu(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(!(Ak(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(!(Ak(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 Yn(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=Kt(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 Zn(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(Ak(0,f[(f[e>>2]|0)+12>>2]|0,f[(f[g>>2]|0)+12>>2]|0,-1)|0)return;if(Ak(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=zk(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;wn(a,c,vn(c,h,3)|0);return}function _n(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 $n(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=Jc(v,q,u,0)|0;if(!r){if(f[v+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);q=0;break}else{J=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=rl(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=55580;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=55580;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=jn(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=bo(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 rl(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;ym(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=ql(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=jn(a,x,c,E)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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=rl(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;ln(a,c,D,0,0,0);u=q}if(!(f[c+12>>2]|0)){ao(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 rl(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=36628;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{rl(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=55580;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=55580;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=co(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=ql(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=jn(a,t,c,2)|0;if(!s)break}if(!(f[t>>2]|0))x=0;else{x=(f[a>>2]|0)+32|0;x=Yu(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=rl(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){sl(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=ql(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=jn(a,x,c,y)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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 ao(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=vm(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 rl(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=vm(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 rl(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 bo(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=55580;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=55580;break}}}while(0);g=f[g+8>>2]|0;if(!g){r=e;t=q;return r|0}do{f[o>>2]=0;Wm(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 co(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(!(Wm(a,c,e,T,aa)|0)){v=e+20|0;if((f[v>>2]|0)>0){A=28960;z=f[A>>2]|0;A=f[A+4>>2]|0;C=28968;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=(zt(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=(zt(g)|0)&1073741823;f[H>>2]=g;n=Bk(ja,59,da,0)|0;m=Bk(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=Bc(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}hl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[W>>2]=g;li(a,33384,W);o=0}else o=0}while(0);if((y|0)==27){if(n|0)gg(g,n);if(!m){k=0;o=1}else{gg(g,m);k=0;o=1}}n=Bk(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[g+24>>2]|0)){f[X>>2]=k;li(a,33384,X)}}while(0);if((y|0)==50){y=0;if(!o)gg(g,k);if(!n)g=0;else{gg(g,n);g=0}}i=il(ja,i,g)|0;if(ia){n=Bk(ja,59,da,0)|0;m=Bk(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=Bc(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}hl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[_>>2]=g;li(a,33384,_);p=0}else p=0}while(0);if((y|0)==74){if(n|0)gg(g,n);if(!m){k=0;p=1}else{gg(g,m);k=0;p=1}}o=Bk(ja,59,ea,0)|0;n=Bk(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=Bc(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}hl(l);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)>=(f[l+24>>2]|0)){o=0;break}f[$>>2]=g;li(a,33384,$);o=0}while(0);if((y|0)==97){if(o|0)gg(g,o);if(!n){l=0;o=1}else{gg(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break;f[Y>>2]=k;li(a,33384,Y)}while(0);if((y|0)==120){y=0;if(!p)gg(g,k);if(o)g=0;else{gg(g,l);g=0}}u=il(ja,u,g)|0}g:do if(S){h:do switch(ga<<24>>24){case 10:{n=Bk(ja,59,ea,0)|0;m=Bk(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break h;f[Z>>2]=k;li(a,33384,Z);break h}while(0);if(n|0)gg(g,n);if(!m)g=0;else{gg(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=zk(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=Bc(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=Bc(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=kl(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=Nu(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=Bc(l,m,n)|0}if(g){$u(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[7160]|0)){g=hb[f[28684>>2]&127](16)|0;y=218;break}g=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){x=f[14051]|0;w=Ou(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&w>>>0<=x>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=r;break g}k=hb[f[28696>>2]&127](g)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{aa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);p=f[f[e>>2]>>2]|0;if(!p)o=0;else o=(zt(p)|0)&1073741823;if(ca){f[ea>>2]=p;f[ea+4>>2]=o;f[da>>2]=33198;f[da+4>>2]=29;g=Bk(ja,71,da,0)|0;if(!g)g=kl(f[a>>2]|0,0,0)|0;else{b[g+1>>0]=2;g=kl(f[a>>2]|0,0,g)|0}s=Jl(a,g,ml(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[7160]|0)){g=hb[f[28684>>2]&127](l)|0;y=261;break}g=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[14051]|0;da=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(i){g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(n|0,0,l|0)|0;m=n+36|0;f[n+28>>2]=m;ea=n+80|0;f[n+48>>2]=ea;$u(ea|0,p|0,o|0)|0;if(!q)g=0;else g=zk(ja,q,1,0)|0;f[n+52>>2]=g;ea=Gk(ja,v,1)|0;f[n+56>>2]=ea;ea=Fk(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=Bc(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;hl(g);i=f[(f[a>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[fa>>2]=i;li(a,33384,fa)}i=zk(ja,g,1,0)|0}while(0);if((y|0)==279){gg(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)gg(ja,q);if(g|0)gg(ja,g);if(v|0)hg(ja,v);if(s|0)kg(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)gg(ja,g);g=f[i+20>>2]|0;if(g|0)hg(ja,g);g=f[i+8>>2]|0;if(g|0)kg(ja,g,1);g=f[k+12>>2]|0;if(g|0)gg(ja,g);if(f[ja+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{ja=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ja;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}}while(0);ja=0;t=ka;return ja|0}function eo(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]=145;b[i+1>>0]=-5;g=d;break a}case 4:{f[i+16>>2]=146;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}function fo(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=ej(a)|0;return g|0}function go(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=zk(p,d,0,0)|0;n=ml(p,0,0,0)|0;if(!n)g=Jl(a,0,0,m,0,0,0,131072,0)|0;else{d=f[c>>2]|0;a:do if(!d)g=0;else{c=(zt(d)|0)+1|0;b:do if(!p){i=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](c)|0;l=32;break}g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){r=f[14051]|0;i=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=r>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break a}h=hb[f[28696>>2]&127](g)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(p,c,0)|0;l=32}while(0);if((l|0)==32)if(!g){g=0;break}$u(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=(zt(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=Bc(p,d,0)|0;if(g)$u(g|0,i|0,d|0)|0;else g=0}else g=0;while(0);f[n+12>>2]=g;g=Jl(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;Il(a,g,o)|0;if(!g){t=q;return}kg(p,g,1);t=q;return}function ho(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=zk(f[i>>2]|0,c,0,0)|0;g=j+8|0;h=kl(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;gg(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 io(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;wk(a,b)|0;f[c>>2]=d;d=1;return d|0}function jo(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 Ii(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]=31267;yc(21,33775,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=Nu(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;bv(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];tg(a,262,33837,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)hb[f[(f[m>>2]|0)+16>>2]&127](m)|0;do if(p|0){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{u=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){tg(a,18,33867,wa);if(!(b[T>>0]|0)){n=f[U>>2]&18;break g}else{Bi(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=Bc(a,X,Y)|0;ka=65}if((ka|0)==65?(ka=0,na|0):0){$u(na|0,c|0,e|0)|0;b[na+e>>0]=0;$f(ta,na,sa)|0;m=na;f[W>>2]=c+((f[W>>2]|0)-m);if(f[ca>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](na);break}else{u=hb[f[28696>>2]&127](na)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](na);break}}f[W>>2]=V}else ka=75;while(0);if((ka|0)==75){ka=0;$f(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=Ji(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){Uh(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(Eg(u,0)|0)break;Fg(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:{Ki(qa,4);m=12;n=8;break}default:{Ki(qa,8);m=8;n=0}}o=n;do{p=f[da>>2]|0;if(!(b[(f[p>>2]|0)+81>>0]|0))Ze((f[p+100>>2]|0)+((o-n|0)*40|0)|0,f[7728+(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=Nu(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=Bc(o,p,g)|0;ka=132}do if((ka|0)==132){if(!m){m=0;break}$u(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;dg(q)|0}p=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{r=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;tg(a,u,31564,xa);if(f[ca>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{s=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}else{f[A>>2]=u;if(!s){zg(a,u);break}if(!(f[C>>2]|0))break;zg(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{s=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{u=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);m=f[N>>2]|0;if(m|0)hg(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){Uh(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{Bi(a);xa=7;t=ya;return xa|0}else if((ka|0)==204)if((n|0)==3082|(b[T>>0]|0)!=0){Bi(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]=33828;yc(21,33775,o);break a}while(0);f[n>>2]=33820;yc(21,33775,n)}while(0);f[p>>2]=31157;f[p+4>>2]=123394;f[p+8>>2]=31184;yc(21,31132,p);xa=21;t=ya;return xa|0}function Ji(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=Li(f[X>>2]|0)|0;if(m|0){K=135;break d}m=f[X>>2]|0;m=kb[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?(Kt(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(Kt(s,6048,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){hb[f[o+4>>2]&127](n)|0;f[n>>2]=0}n=Mi(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;$g(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;qh(m,0,0)|0;break}default:uh(m)|0}while(0);vh(m)}else K=62;while(0);if((K|0)==62){K=0;if(Kt(s+21|0,33946,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;$g(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;qh(m,0,0)|0;break}default:uh(m)|0}while(0);vh(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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;K=77;break}else{m=hb[f[28696>>2]&127](n)|0;K=77}while(0);do if((K|0)==77){K=0;f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[D>>2]=0}m=gh(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]=33143;f[R+4>>2]=66053;f[R+8>>2]=31184;yc(11,31132,R);n=11}K=f[m+72>>2]|0;m=f[K+20>>2]|0;$g(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))qh(m,0,0)|0;break}default:uh(m)|0}vh(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=ib[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=ib[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(!(hb[f[q>>2]&127](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=ib[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;kb[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=kb[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(!(Kt(m+52|0,f[f[m+32>>2]>>2]|0,48)|0))break;if(!(b[n>>0]|0)){K=f[m+4>>2]|0;kb[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=Kg(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,$g(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))qh(P,0,0)|0;break}default:uh(P)|0}vh(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=ib[p&255](f[o+400>>2]|0,q)|0;else m=jb[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=Lg(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=Mg(m)|0;K=172;break}else{g=Ng(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=Ni(i,g)|0;t=Y;return a|0}function Ki(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{o=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{o=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(k,i);while(0);f[h>>2]=0}}else df(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 Li(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=ib[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(!(hb[f[e>>2]&127](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=kb[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=ib[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=ib[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=Nu(f[i>>2]|0,f[i+4>>2]|0,-1,-1)|0;i=Nu(i|0,ba()|0,u|0,c|0)|0;c=Ru(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(ib[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:{}}jb[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))ib[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=lb[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=lb[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){hb[f[n+4>>2]&127](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=ib[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=kb[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=lb[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]=31620;f[p+4>>2]=55608;f[p+8>>2]=31184;yc(14,31132,p);c=f[h>>2]|0;e=f[c>>2]|0;if(!e)c=14;else{hb[f[e+4>>2]&127](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))ib[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=ib[f[e+20>>2]&255](c,2)|0;if(c|0)break;c=f[h>>2]|0;e=f[c>>2]|0}c=ib[f[e+24>>2]&255](c,a+80|0)|0;if(!c){c=wh(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]=74;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=lb[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(Kt(a+104|0,E,16)|0)hh(a);if(b[h>>0]|0){c=0;break}}c=f[a>>2]|0;g=a+220|0;c=kb[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=ib[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=Nu(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;y=Nu(y|0,ba()|0,u|0,e|0)|0;e=Ru(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)Xa();if(f[C>>2]|0)Xa();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){hb[f[e+4>>2]&127](c)|0;f[c>>2]=0}c=Mi(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=jb[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;kb[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;kb[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=Dh(g,E,0,e)|0}while((c|0)==-1);if(f[E>>2]|c|0)hh(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=ib[f[e+24>>2]&255](c,E)|0;if(!c){u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;E=Nu(f[E>>2]|0,f[E+4>>2]|0,-1,-1)|0;E=Nu(E|0,ba()|0,u|0,c|0)|0;c=Ru(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){vh(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 Mi(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=ib[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))ib[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=Nu(i|0,0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&r>>>0>2147483390)){if(!(f[7160]|0)){e=hb[f[28684>>2]&127](i)|0;if(!e){c=7;break}else r=e}else{e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){r=f[14051]|0;m=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=r>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){c=7;break}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;r=g}else r=g}bv(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=lb[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=hb[f[(f[p>>2]|0)+48>>2]&127](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[7160]|0)){nb[f[28688>>2]&127](h);break}else{s=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[f[(f[u>>2]|0)+64>>2]&255](u,0)|0}e=f[l>>2]|0;g=f[e>>2]|0;if(g|0){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{u=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}else c=7;while(0);u=c;t=v;return u|0}function Ni(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=Lc(f[c>>2]|0,b*48|0,0)|0;if(!q){r=7;return r|0}bv(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[7160]|0)){a=hb[f[28684>>2]&127](512)|0;if(!a)break}else{a=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[14051]|0;e=Ou(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=s>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a)break;d=hb[f[28696>>2]&127](a)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}bv(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 Oi(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{af(a);d[b>>1]=4;return a|0}return 0}function Pi(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(!(bf(a,(v|0)>1?v:1,1)|0)){bv((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(!(ef(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](n)|0;o=41;break}l=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[14051]|0;p=Ou(e|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&p>>>0<=q>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){w=7;return w|0}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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))df(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=hb[f[28696>>2]&127](q)|0;f[a+24>>2]=e;w=0;return w|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;do af(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 Ri(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(!(bf(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];td(32,h,32397,l)|0}else{n=a;j=f[n+4>>2]|0;l=k;f[l>>2]=f[n>>2];f[l+4>>2]=j;td(32,h,32662,k)|0}n=(zt(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}Pi(a,c)|0;n=0;t=m;return n|0}function Si(a){a=a|0;var c=0,d=0,e=0;c=a+16|0;d=a+12|0;e=a+10|0;if(!(gf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)){e=0;return e|0}e=(hf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)==0;e=e?4:8;return e|0}function Ti(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)){Ri(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:{tk(a);return}case 68:{do if(!(i&4)){if(i&8|0){c=Dc(+p[a>>3])|0;e=ba()|0;break}if(!(i&18)){c=0;e=0}else{c=Ec(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=+Fc(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)){Ri(a,e,1)|0;g=d[j>>1]|0}d[j>>1]=g&-16413;return}}}function Ui(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=cj(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]=33143;f[e+4>>2]=79051;f[e+8>>2]=31184;yc(11,31132,e);e=11;t=g;return e|0}return 0}function Vi(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Wi(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=bf(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=nh(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}df(g);k=h;return k|0}function Xi(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:{sk(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[30378+((c&1)<<1)>>1]|0;return g|0}}while(0);return 0}function Yi(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=Yu(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=Yu(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=Yu(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=Yu(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=Yu(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=Yu(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=Yu(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=Yu(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=Yu(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 Zi(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)){$g(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)){$g(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[c>>2]=0;b[a>>0]=1;c=f[g>>2]|0}g=a+116|0;c=_i(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]=33143;f[i+4>>2]=68035;f[i+8>>2]=31184;yc(11,31132,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=_i(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]=33143;f[n+4>>2]=68048;f[n+8>>2]=31184;yc(11,31132,n);r=11;t=o;return r|0}return 0}function _i(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=kb[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=Nh(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)){$g(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]=33143;f[l+4>>2]=65066;f[l+8>>2]=31184;yc(11,31132,l);h=f[e>>2]|0;if(h){h=f[h+72>>2]|0;if(!(d[h+28>>1]&32)){$g(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]=33143;f[i+4>>2]=65044;f[i+8>>2]=31184;yc(11,31132,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 $i(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]=33143;f[i+4>>2]=67284;f[i+8>>2]=31184;yc(11,31132,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[13883]|0)>=(k|0)?(h=f[13889]|0,(h|0)!=0):0){f[13889]=f[h>>2];d=f[13890]|0;f[13890]=d+-1;f[13891]=(d|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=k;i=(f[14052]|0)+1|0;f[14052]=i;if(i>>>0>(f[14056]|0)>>>0)f[14056]=i}else j=11;a:do if((j|0)==11){j=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](k)|0;if(!h)break}else{h=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;d=55352;i=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&i>>>0>0){j=f[14051]|0;d=Ou(i|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&d>>>0<=j>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h)break;i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}i=hb[f[28696>>2]&127](h)|0;if((f[14059]|0)>>>0>>0)f[14059]=k;i=(f[14053]|0)+i|0;f[14053]=i;if(i>>>0<=(f[14057]|0)>>>0)break a;f[14057]=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 aj(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(wt(c,36791)|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[7160]|0)){i=hb[f[28684>>2]&127](48)|0;if(!i){g=7;t=K;return g|0}else J=i}else{i=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;l=55352;j=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&j>>>0>0){J=f[14051]|0;A=Ou(j|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;z=ba()|0;f[13840]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}j=hb[f[28684>>2]&127](i)|0;if(!j){g=7;t=K;return g|0}i=hb[f[28696>>2]&127](j)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=(zt(c)|0)&1073741823;l=k+1|0;m=(f[a+8>>2]|0)+1|0;k=(m|0)>(l|0)?m:l;A=Nu(k|0,0,-1,-1)|0;z=ba()|0;do if(!(z>>>0>0|(z|0)==0&A>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](k)|0;b[J+9>>0]=1;if(!k)break;else n=k}else{j=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,k|0,j|0,((j|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(!i){C=33;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k;b[J+9>>0]=1;n=i}if(!G){b[n>>0]=0;k=kb[f[a+36>>2]&127](a,c,m,n)|0;if(k|0){if(!(f[7160]|0))nb[f[28688>>2]&127](n);else{g=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);g=k;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);g=k;t=K;return g|0}}}else $u(n|0,c|0,l|0)|0;j=f[13899]|0;b:do if(!j)j=0;else{while(1){k=f[j>>2]|0;if((wt(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[7160]|0))nb[f[28688>>2]&127](n);else{g=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);g=19;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](n);else{A=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](J);g=7;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);g=7;t=K;return g|0}}else C=69;while(0);d:do if((C|0)==69){if(!(f[7160]|0)){j=hb[f[28684>>2]&127](84)|0;if(!j)k=7;else C=80}else{k=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}j=hb[f[28684>>2]&127](k)|0;if(j){k=hb[f[28696>>2]&127](j)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](k)|0;if(!k){k=7;C=229;break}else i=k}else{l=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;k=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&k>>>0>0){C=f[14051]|0;y=Ou(k|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){k=7;C=229;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k}b[i>>0]=0;k=kb[f[a+36>>2]&127](a,c,m,i)|0;n=(zt(i)|0)&1073741823;m=c+(((zt(c)|0)&1073741823)+1)|0;if(!(b[m>>0]|0))l=m;else{l=m;do{l=l+(((zt(l)|0)&1073741823)+1)|0;l=l+(((zt(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]=31620;f[p+4>>2]=55153;f[p+8>>2]=31184;yc(14,31132,p);k=14}if(!(f[7160]|0)){nb[f[28688>>2]&127](i);C=229;break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(zt(c)|0)+1|0;C=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](m)|0;if(!k){k=7;C=229;break}}else{k=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;i=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&i>>>0>0){C=f[14051]|0;y=Ou(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k){k=7;C=229;break}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}$u(k|0,c|0,m|0)|0;c=0;y=1;r=0;p=0;i=k;n=(zt(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=Nu(o|0,0,-1,-1)|0;w=ba()|0;do if(!(w>>>0>0|(w|0)==0&x>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](o)|0;if(!k)break;else x=k}else{k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){x=f[14051]|0;w=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&w>>>0<=x>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l)break;k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=k;x=l}else x=l}bv(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);$u(k|0,i|0,n|0)|0;if(r|0)$u((f[m>>2]|0)+l|0,p|0,r|0)|0;$u(f[o>>2]|0,i|0,n|0)|0;l=(f[o>>2]|0)+n|0;k=36800;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;$u(s|0,i|0,n|0)|0;v=(f[v>>2]|0)+n|0;b[v>>0]=b[36810]|0;b[v+1>>0]=b[36811]|0;b[v+2>>0]=b[36812]|0;b[v+3>>0]=b[36813]|0;b[v+4>>0]=b[36814]|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=lb[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=hb[f[(f[l>>2]|0)+48>>2]&127](l)|0;g:do if(!m){do if(!(b[x+12>>0]|0)){C=f[w>>2]|0;if((hb[f[(f[C>>2]|0)+48>>2]&127](C)|0)&4096|0)break;k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;do if(i){C=hb[i&127](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+(((zt(c)|0)&1073741823)+1)|0;h:do if(!(b[k>>0]|0))k=0;else{while(1){C=wt(k,36816)|0;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0)){k=0;break h}}k=(Fd(k,1,0)|0)<<24>>24!=0}while(0);b[x+13>>0]=k&1;i:do if(!(l&8192)){k=c+(((zt(c)|0)&1073741823)+1)|0;j:do if(b[k>>0]|0){while(1){C=wt(k,36823)|0;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0))break j}if((Fd(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=gh(x,E,-1)|0;if(!k){p=f[E>>2]|0;r=(y|0)==0;i=y^1;k=r?129: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=jb[f[28768>>2]&127](p,128,i)|0;if(!m)k=7;else{i=f[7193]|0;k=f[k>>2]|0;if((k|0)<=-1){D=Tu(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=Ru(D|0,E|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[i&127](m,k);k=n+44|0;i=f[k>>2]|0;if(i|0)nb[f[28796>>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((hb[f[(f[E>>2]|0)+48>>2]&127](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=hb[i&127](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]=96;f[x+204>>2]=(f[x+40>>2]|0)==0?73:74;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=lb[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]=109;f[k+180>>2]=j;l=f[k+60>>2]|0;m=f[l>>2]|0;if(!m)l=k;else{jb[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=gh(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[13899];f[13899]=j;C=213;break d}}}i=f[w>>2]|0;l=f[i>>2]|0;if(l|0){hb[f[l+4>>2]&127](i)|0;f[i>>2]=0}l=f[x+208>>2]|0;k:do if(l|0){i=l;do if((f[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;break k}else{i=hb[f[28696>>2]&127](l)|0;break}else i=hb[f[28696>>2]&127](l)|0;while(0);f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{e=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](x);C=229;break e}else{C=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](x);C=229;break e}}while(0);if(i)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);k=7;C=229;break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)bi(i,0)}if(j)if(!(f[7160]|0)){nb[f[28688>>2]&127](j);break}else{e=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](J);else{e=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7193]|0;J=f[g+44>>2]|0;g=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;g=Ru(2048e3,0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;ob[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}jb[f[i+40>>2]&127](k,30,j+4|0)|0;g=0;t=K;return g|0}function bj(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=Jh(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=Jh(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=Ig(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)){$g(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=kb[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=ph(v,x,n,o)|0;f[y>>2]=g;i=b[n>>0]|0;if((i+-1&255)>=2){if(!g){g=Kh(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)){$g(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=kb[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=Lg(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=Mg(i)|0;u=49;break}else{g=Ng(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)){$g(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]=33143;f[p+4>>2]=71779;f[p+8>>2]=31184;yc(11,31132,p);f[y>>2]=11;g=11}if(j){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){$g(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);Mh(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)){$g(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=Lg(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=Mg(i)|0;u=70;break}else{g=Ng(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)){$g(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;bv(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]=126;i=f[j>>2]|0;switch(k&7){case 5:{b[q+2>>0]=1;b[q+3>>0]=1;f[q+80>>2]=171;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]=172;d[q+14>>1]=d[i+24>>1]|0;g=i+26|0;u=86;break}default:{f[z>>2]=33143;f[z+4>>2]=64757;f[z+8>>2]=31184;yc(11,31132,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)){$g(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 cj(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=Nu(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=dj(a,0)|0;switch(l|0){case 101:{N=0;break a}case 0:break;default:{U=l;t=V;return U|0}}mh(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=87;break}if(!(f[l+20>>2]|0))l=89;else{l=87;break}}else l=88}else l=87;while(0);b[c+11>>0]=0;N=l}while(0);l=Zi(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]=33143;f[Q+4>>2]=68325;f[Q+8>>2]=31184;yc(11,31132,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;Rh(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=jb[N&127](O,p+2|0,c)|0;break}pb[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=Nu(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[7160]|0)){m=hb[f[28684>>2]&127](m)|0;if(!m){l=7;break b}else p=m}else{q=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;p=55352;m=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&m>>>0>0){W=f[14051]|0;p=Ou(m|0,p|0,q|0,((q|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&p>>>0<=W>>>0)&1}p=hb[f[28684>>2]&127](q)|0;if(!p){l=7;break b}m=hb[f[28696>>2]&127](p)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=m}d[D>>1]=i;m=nh(a,0,r,p,0)|0;b[F>>0]=b[F>>0]&-5;if(m|0){U=59;break b}m=jb[N&127](r,p,c)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break}else{W=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-W;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}else m=jb[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=_i(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]=33143;f[S+4>>2]=68399;f[S+8>>2]=31184;yc(11,31132,S);l=11}else if((U|0)==59)if(!(f[7160]|0)){nb[f[28688>>2]&127](p);l=m;break}else{l=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[T+4>>2]=68430;f[T+8>>2]=31184;yc(11,31132,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]=33143;f[R+4>>2]=67897;f[R+8>>2]=31184;yc(11,31132,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 dj(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=lk(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=lk(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=_i(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]=33143;f[r+4>>2]=67897;f[r+8>>2]=31184;yc(11,31132,r);v=11;t=s;return v|0}else if((e|0)==11){t=s;return c|0}return 0}function ej(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{w=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[k+4>>2]=67897;f[k+8>>2]=31184;yc(11,31132,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=_i(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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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)){$g(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=ej(a)|0;t=x;return z|0}function fj(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=Rh(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=Rh(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=Xi(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 gj(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=Zi(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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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 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,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=Ig(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=ik(a,c)|0;t=N;return M|0}if((g|0)==0?(r=cj(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=jk(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=cj(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?(mh(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=ik(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=Yu(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=(Yi(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=Yu(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=(Yi(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=Yu(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=Yi(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){$u(k|0,l|0,q|0)|0;i=q;break}else{bv(k|0,0,i|0)|0;break}else $u(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=Jh(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;Mh(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)){$g(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)){$g(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)){$g(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)){$g(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;$u(k|0,l|0,q|0)|0;bv(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=Lg(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=Mg(k)|0;L=110;break}else{F=Ng(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=Sj(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]=33143;f[I+4>>2]=71437;f[I+8>>2]=31184;yc(11,31132,I);i=11}else{$u(i|0,z|0,n|0)|0;i=0}M=i;t=N;return M|0}while(0);ak(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;bk(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=ck(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)){$g(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))$g(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](i)|0;f[a+16>>2]=i;if(!i)break}else{l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){L=f[14051]|0;K=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&K>>>0<=L>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){L=153;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k;f[a+16>>2]=i}$u(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 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,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;mh(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=Nu(c|0,0,-1,-1)|0;k=ba()|0;do if(!(k>>>0>0|(k|0)==0&z>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](c)|0;if(!c){c=7;break}else e=c}else{g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;e=55352;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){z=f[14051]|0;k=Ou(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&k>>>0<=z>>>0)&1}e=hb[f[28684>>2]&127](g)|0;if(!e){c=7;break}c=hb[f[28696>>2]&127](e)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}c=nh(a,0,f[i>>2]|0,e,0)|0;if(!c){f[a+16>>2]=e;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ej(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=Ig(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=Lg(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=Mg(e)|0;C=75;break}else{u=Ng(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=Sj(G,w,v)|0;f[M>>2]=c;ak(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]=33143;f[A+4>>2]=71625;f[A+8>>2]=31184;yc(11,31132,A);M=11;t=N;return M|0}k=(ib[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=Lg(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=Mg(e)|0;C=92;break}else{D=Ng(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)bk(G,E,n+-4|0,k+4|0,c,l,M);ak(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=ck(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)){$g(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)){$g(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=ck(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=Zi(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)){$g(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))$g(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 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.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=Rh(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]=33143;f[l+4>>2]=79998;f[l+8>>2]=31184;yc(11,31132,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=Rh(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[7792+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:{Xi(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}Xi(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){Rh(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=Kt(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=mf(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{Rh(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=Kt(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[7792+g>>0]|0;o=1;l=0;while(1){g=Yu(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]=33143;f[L+4>>2]=80073;f[L+8>>2]=31184;yc(11,31132,L);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==84){f[M>>2]=33143;f[M+4>>2]=80103;f[M+8>>2]=31184;yc(11,31132,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 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;s=t;t=t+16|0;r=s;e=Zi(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=_i(u,g,k,a,h[q>>0]|0)|0;if(c|0){e=8;break}}if((e|0)==5){f[r>>2]=33143;f[r+4>>2]=67897;f[r+8>>2]=31184;yc(11,31132,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 lj(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[7160]|0)){g=hb[f[28684>>2]&127](l)|0;r=25;break}k=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){s=f[14051]|0;q=Ou(e|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=s>>>0)&1}e=hb[f[28684>>2]&127](k)|0;if(e|0){g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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?76:r<<24>>24==2?74:75;if(!(f[7160]|0)){e=hb[f[28684>>2]&127](256)|0;if(!e){w=7;t=x;return w|0}}else{e=hb[f[28700>>2]&127](256)|0;if((f[14058]|0)>>>0<256)f[14058]=256;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){r=f[14051]|0;q=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=r>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){w=7;t=x;return w|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=g}bv(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((mb[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((mb[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[7160]|0))nb[f[28688>>2]&127](e);else{v=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}w=h[(f[w>>2]|0)+11>>0]|0;t=x;return w|0}function mj(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=Yj(f[(f[g>>2]|0)+24>>2]|0,e)|0,c|0):0){x=c;t=y;return x|0}c=lj(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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}else d=c}else{c=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[14051]|0;r=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}i=Uu(g|0,h|0,j|0,i|0)|0;ba()|0;e=Ou(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=Yi(u,g,h)|0;if((g|0)>0){v=22;break}else{h=i;g=i;break}}else{v=Yu(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;$u(s+i|0,u+(g-k)|0,j|0)|0;i=j+i|0;if((i|0)==(q|0)){i=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,l|0)|0;d=ba()|0;c=lb[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=Yi(u,l,j)|0;if((j|0)>0){v=34;break}else break}else{j=Yu(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;$u(s+g|0,u+(j-l)|0,k|0)|0;g=k+g|0;if((g|0)==(q|0)){g=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=lb[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;$u(s+g|0,l+(a-k)|0,j|0)|0;g=j+g|0;if((g|0)==(q|0)){g=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=lb[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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0)}while((i|0)!=0)}f[x>>2]=0;if(c){u=Nu(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=Nu(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=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,g-h|0,x,c)|0}else c=0;u=Nu(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[7160]|0)){nb[f[28688>>2]&127](s);x=c;t=y;return x|0}else{x=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);x=c;t=y;return x|0}return 0}function nj(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[7225]|0;if((g|0)!=0?(hb[g&127](100)|0)!=0:0)q=17;else q=5;a:do if((q|0)==5){k=(l*60|0)+16|0;p=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](k)|0;if(!g){q=17;break}else p=g}else{g=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){p=f[14051]|0;n=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(!i){q=17;break}g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;p=i}else p=i}bv(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=Vj(a,k,m,h,e)|0;if(g|0){q=21;break}g=o;f[g>>2]=0;f[g+4>>2]=0;g=Wj(k,o)|0;s=k;h=o;s=Nu(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=Tj(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[j+(l*56|0)+36>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[j+(l*56|0)+48>>2]|0;do if(i|0){ei(f[i+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](p);break}else{s=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 oj(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=oj(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=Yj(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=Nu(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=Tj(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=(mb[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 pj(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=Tj((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=mb[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 qj(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]=33143;f[k+4>>2]=71869;f[k+8>>2]=31184;yc(11,31132,k);z=11;t=A;return z|0}c=_i(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]=33143;f[m+4>>2]=71874;f[m+8>>2]=31184;yc(11,31132,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=qj(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=Sj(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=qj(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=rj(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=Lg(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=Mg(c)|0;z=27;break}else{i=Ng(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;bv(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]=126;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]=171;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]=172;d[x+14>>1]=d[k+24>>1]|0;i=k+26|0;z=35;break}default:{f[y>>2]=33143;f[y+4>>2]=64757;f[y+8>>2]=31184;yc(11,31132,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)){$g(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 rj(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]=33143;f[i+4>>2]=69066;f[i+8>>2]=31184;yc(11,31132,i);A=11;t=B;return A|0}do if(!c){c=(f[a>>2]|0)+212|0;k=jb[f[28780>>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=ah(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=Lg(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=Mg(k)|0;z=21;break}else{i=Ng(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=kb[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=Lg(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=Mg(i)|0;z=39;break}else{n=Ng(i)|0;z=39;break}}while(0);if((z|0)==39?(f[A>>2]=n,n|0):0){g=0;z=104;break}bv(f[c+56>>2]|0,0,f[(f[c+52>>2]|0)+32>>2]|0)|0;m=c}if(b[a+17>>0]|0?(Mh(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=kb[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]=33143;f[r+4>>2]=69119;f[r+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(i)|0;z=62;break}else{c=Ng(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[7160]|0)){c=hb[f[28684>>2]&127](512)|0;if(!c)z=82;else z=83}else{c=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){a=f[14051]|0;z=Ou(i|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=a>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){z=82;break}i=hb[f[28696>>2]&127](c)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){z=83;break}f[14060]=i;z=83}while(0);if((z|0)==82){f[n>>2]=0;c=7;break}else if((z|0)==83){bv(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=Ug(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=kb[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=Lg(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=Mg(k)|0;z=103;break}else{y=Ng(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)){$g(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)){$g(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 sj(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]=31267;yc(21,33775,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)zg(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?56244:c;c:while(1){if(!(b[l>>0]|0)){k=0;N=131;break}f[M>>2]=0;k=Ii(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=Ci(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=Bc(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){bv(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=Gc(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=28920;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;zg(n,25);n=28920}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=Gc(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){Bi(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;zg(n,25);n=28920;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){Bi(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(kb[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=dg(q)|0}n=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{z=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{z=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)dg(o)|0;n=f[o>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{L=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);f[M>>2]=0;f[T>>2]=4;zg(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)dg(p)|0;c=f[p>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{N=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}while(0);do if(l|0){if(f[Q>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{S=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if((k|0)==3082|(b[O>>0]|0)!=0){Bi(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=Kj(a)|0;do if(n|0?(U=(zt(n)|0)+1|0,S=Nu(U|0,0,-1,-1)|0,R=ba()|0,!(R>>>0>0|(R|0)==0&S>>>0>2147483390)):0){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](U)|0;if(!k)break}else{k=hb[f[28700>>2]&127](U)|0;if((f[14058]|0)>>>0>>0)f[14058]=U;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){S=f[14051]|0;R=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[13840]=((Q|0)<0|(Q|0)==0&R>>>0<=S>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=l}$u(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;zg(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]=33828;yc(21,33775,m);break a}while(0);f[l>>2]=33820;yc(21,33775,l)}while(0);f[n>>2]=31157;f[n+4>>2]=117955;f[n+8>>2]=31184;yc(21,31132,n);i=21;t=V;return i|0}function tj(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?36715:c;z=Gg(z,36717,k)|0;f[f[g>>2]>>2]=z;f[l>>2]=33143;f[l+4>>2]=122744;f[l+8>>2]=31184;yc(11,31132,l);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[j>>2]=33143;f[j+4>>2]=122737;f[j+8>>2]=31184;yc(11,31132,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=36748;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=36749;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=36750;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=36751;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=36752;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=36753;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=36754;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;Nd(v,n)|0;f[z+160>>2]=f[n>>2];y=z+166|0;b[y>>0]=b[y>>0]&-2;Ii(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;Rj(a,f[e>>2]|0,Kj(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);Di(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=Oj(z,i,f[s+(u<<4)>>2]|0)|0;if(!c){a=0;t=A;return a|0}if(Nd(v,c+44|0)|0){a=0;t=A;return a|0}Rj(a,f[e>>2]|0,36756);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?36715:i;z=Gg(z,36717,x)|0;f[f[c>>2]>>2]=z;f[y>>2]=33143;f[y+4>>2]=122744;f[y+8>>2]=31184;yc(11,31132,y);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[w>>2]=33143;f[w+4>>2]=122737;f[w+8>>2]=31184;yc(11,31132,w);f[a+12>>2]=11;a=0;t=A;return a|0}return 0}function uj(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(hi(a,36628,e)|0){f[k>>2]=e;g=Gg(a,36641,k)|0;if(g){e=sj(a,g,76,l,0)|0;if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);l=e;break}else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$u(k+2|0,30368,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 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,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(kb[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=ph(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;wj(a,34603,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;wj(a,34574,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=ph(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;wj(a,34603,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;wj(a,34574,L)}j=f[a>>2]|0}if((n|0)>(((f[j+36>>2]|0)/4|0)+-2|0)){f[D>>2]=e;wj(a,36537,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=ph(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;wj(a,34603,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;wj(a,34574,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;wj(a,36156,H);break}}else{f[G>>2]=m;wj(a,36133,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)){$g(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;wj(a,36133,A)}else if((M|0)==7){f[B>>2]=e;wj(a,36156,B)}else if((M|0)==9){f[K>>2]=e;wj(a,36515,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?36576:36597;f[P+4>>2]=g-i;f[P+8>>2]=g;wj(a,36602,P);t=Q;return}function wj(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)Mj(e,36513,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;of(e,g,i)}zc(e,c,h);if((b[a+60>>0]|0)!=7){t=j;return}f[a+24>>2]=1;t=j;return} -function os(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=Dc(+p[i>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Ec(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=ps(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=Dc(+p[h>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Ec(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=Jp(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{$e(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=Op(h,1,g)|0;if(g){e=g;t=s;return e|0}}else h=f[q>>2]|0;Ci(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)Fi(g,h);i=dg(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){Bi(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 ps(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[23520+(b<<2)>>2]|0;if((b|0)==7){f[h>>2]=f[a+220>>2];b=ud(g,h)|0;break}else{b=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=b;b=ud(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=ud(53337,g)|0}while(0);if(!b){g=7;i=0}else{g=Ii(f[a+12>>2]|0,b,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](b);else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Op(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 qs(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=ib[(b[e>>0]<<24>>24==1?148:149)&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?78:79,i=f[l+(k<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(kb[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(Pr(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)==(rq(e,g,h,o)|0)):0){i=f[i>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rs(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)Fi(d,c);i=dg(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)Bi(d)}f[g>>2]=0}b[e>>0]=0}Di(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}}while((c|0)!=0);f[g>>2]=0;c=f[a+44>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);ss(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 ss(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);do if(f[e+24>>2]|0?(h=f[e+28>>2]|0,h|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](h);break}else{d=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;bs(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{e=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{e=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 ts(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(!(Kt(D,53970,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(!(Kt(D,53973,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(!(Kt(D,53977,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(Kt(D,53981,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=23680+(i<<3)+6|0;if(Kc()|0){k=7;i=0;x=171;break a}if(!(f[7160]|0)){n=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;n=55352;k=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&k>>>0>0){C=f[14051]|0;B=Ou(k|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[13840]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}n=hb[f[28684>>2]&127](i)|0;if(!n){k=7;i=0;x=171;break a}i=hb[f[28696>>2]&127](n)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=kb[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=ib[f[C+24>>2]&255](f[R>>2]|0,n)|0,H|0):0){hb[f[C+16>>2]&127](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=mb[f[x>>2]&127](z,R,S,T,U,V)|0;y=(k|0)==0;if(y){n=(u*24|0)+144|0;if(Kc()|0){x=42;break}w=Lc(v,(n|0)>0?n:0,0)|0;if(!w){x=42;break}n=(f[S>>2]|0)+s|0;if(Kc()|0){x=48;break}v=Lc(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;$u(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[7160]|0)){nb[f[28688>>2]&127](v);n=q;k=0;break}else{n=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);n=q;k=0;break}else{n=q;k=0}else if((x|0)==48)if(q)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);n=0;k=w;break}else{n=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);n=0;k=w;break}else{n=0;k=w}else if((x|0)==58){hb[f[C+16>>2]&127](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((Kc()|0)==0?(O=Lc(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){$u(n|0,q|0,s|0)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{D=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](p);n=q;k=0;x=75;break}else{n=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[C+16>>2]&127](o)|0;do if(n|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{D=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);if(k)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);k=7;n=0;break}else{n=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ts(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=zt(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=kb[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=ib[f[u+24>>2]&255](f[R>>2]|0,n)|0,P|0):0){hb[f[u+16>>2]&127](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=mb[f[u+20>>2]&127](r,R,S,T,U,V)|0;l:do if(!k){i=(f[S>>2]|0)+144|0;n=Dd(i)|0;if(!n){n=0;k=7;i=f[U>>2]|0;break}bv(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;$u(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);hb[f[u+16>>2]&127](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(Kc()|0){x=152;break}if(!(f[7160]|0)){k=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;p=55352;l=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&l>>>0>0){D=f[14051]|0;C=Ou(l|0,p|0,k|0,((k|0)<0)<<31>>31|0)|0;B=ba()|0;f[13840]=((B|0)<0|(B|0)==0&C>>>0<=D>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l){x=152;break}k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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){ss(n);i=1;x=170}else if((x|0)==152){ss(n);i=7;x=170}else if((x|0)==158){ss(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}}ss(c);g=i;d=0;f[e>>2]=d;t=W;return g|0}function us(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=Dd(d)|0;if(!q){d=7;break}bv(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=us(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=us(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){ss(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{ss(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[7160]|0))nb[f[28688>>2]&127](g);else{b=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g)}}while((e|0)!=0)}if(!(f[7160]|0))nb[f[28688>>2]&127](q);else{b=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=us(p,g)|0;do if(!d){d=us(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){ss(e);ss(f[p>>2]|0)}}if(!d){q=0;b=c;f[a>>2]=b;t=r;return q|0}}else d=1;while(0);ss(c);q=d;b=0;f[a>>2]=b;t=r;return q|0}function vs(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=vs(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 ws(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);ws(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(Kc()|0){g=0;b=7;v=34;break}if(!(f[7160]|0)){g=hb[f[28684>>2]&127](56)|0;if(!g){g=0;b=7;v=34;break}}else{b=hb[f[28700>>2]&127](56)|0;if((f[14058]|0)>>>0<56)f[14058]=56;d=55352;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){m=f[14051]|0;l=Ou(g|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=m>>>0)&1}g=hb[f[28684>>2]&127](b)|0;if(!g){g=0;b=7;v=34;break}b=hb[f[28696>>2]&127](g)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=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=jr(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=jr(m,b,h,-2,o,p,1,0,g)|0;if(b|0){v=34;break b}b=jr(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=jr(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 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,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}}xs(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=ud(51806,D)|0;f[r>>2]=d;if(!d){d=7;break b}}d=Rp(f[s>>2]|0,f[u>>2]|0,d,51818,g,k,0,q)|0}else d=Wp(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=Nu(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 ys(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=Gr(A,y)|0;if(!i){r=f[y>>2]|0;q=(r|0)==0;if(q)l=jf(28920)|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;zg(i,25);i=28920;j=r}l=jf(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){Bi(i);i=7}else i=f[i+68>>2]&j;f[k>>2]=i}n=Bp(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=Zu(u&127|0,0,j|0)|0;i=Nu(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=Zu(u&127|0,0,l|0)|0;j=Nu(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=Ru(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=Nu(o|0,p|0,u|0,D|0)|0;D=Ru(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)Fi(i,r);j=dg(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){Bi(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)Fi(i,r);D=dg(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){Bi(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(!(Kc()|0)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](16)|0;if(!i){i=7;break}}else{i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[14051]|0;a=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&a>>>0<=D>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=7;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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;bs(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=_r(A,i,f[m+20>>2]|0,y,z)|0;if(!i){i=$r(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 zs(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;zs(a,f[h>>2]|0,d);e=c+16|0;zs(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=As(a,1,h)|0;f[d>>2]=c;return}function As(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?151:152;a=kr(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=Kt(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;ur(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=Up(g,a+c|0,e,c,80)|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;Di(f[g+16>>2]|0)|0;do if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(n&127|0,0,e|0)|0;a=Nu(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((ib[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=_r(C,d+72+(c*24|0)|0,f[e>>2]|0,A,B)|0;if(!a)a=$r(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 Bs(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=zt(f[_>>2]|0)|0;$=X+1|0;Y=i+8|0;Z=(zt(f[Y>>2]|0)|0)+1|0;o=(g<<2)+-8|0;n=Dd(o)|0;if((n|0)!=0?(bv(n|0,0,o|0)|0,m=Dd(o)|0,(m|0)!=0):0){bv(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|(zt(I)|0)>>>0<9):0){o=b[I>>0]|0;b:do if(!(o<<24>>24)){o=54168;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=54169;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=54170;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=54171;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=54172;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=54173;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=54174;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=54175;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[23712+J>>0]|0)==0:0){F=Cs(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=ud(31564,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=50650;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=54931;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=54313;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=54322;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=54323;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=54324;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=54325;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=54326;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=54327;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=54328;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=54329;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=54330;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=54331;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=54938;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=50756;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=54944;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=54945;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=54946;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=54947;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=54948;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=54949;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=54950;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=54951;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=54952;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=54953;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=54955;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=54956;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=54957;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=54958;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=54959;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=54960;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=54961;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=54962;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=54963;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=54964;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((zt(J)|0)==4){o=b[J>>0]|0;l:do if(!(o<<24>>24)){o=50660;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=50661;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=50662;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=50663;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;Iq(l,54177,N);f[Ha>>2]=1;z=1;o=G;break}case 1:{if(!v){F=z;v=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](v);F=z;v=J;break c}else{F=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);F=z;v=J;break c}}case 2:{if(!q){F=z;q=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);F=z;q=J;break c}else{F=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);F=z;q=J;break c}}case 3:{if(!r){F=z;r=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);F=z;r=J;break c}else{F=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);F=z;r=J;break c}}case 4:{m:do switch(zt(J)|0){case 3:{C=b[J>>0]|0;do if(!(C<<24>>24)){o=54204;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=54205;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=54206;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=38485;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=38486;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=38487;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=38488;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;Iq(l,54208,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[7160]|0)){nb[f[28688>>2]&127](s);F=z;s=J;break c}else{F=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);F=z;s=J;break c}}case 6:{if(!u){F=z;u=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](u);F=z;u=J;break c}else{F=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Iq(l,54231,Q);f[Ha>>2]=1;o=G}}while(0);if(!J){F=z;G=o;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);F=z;G=o;break c}else{F=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);F=z;G=o;break c}}while(0);p=p+1+(zt(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Q=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Q=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](n);else{Q=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}o=f[_>>2]|0;f[la>>2]=0;f[O>>2]=o;f[O+4>>2]=s;o=ud(54258,O)|0;if(o){n=Ii(c,o,-1,0,0,la,0)|0;p=(n|0)==0;if(!p){Q=Kj(c)|0;f[R>>2]=Q;Iq(l,31564,R)}if(!(f[7160]|0))nb[f[28688>>2]&127](o);else{R=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(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+(zt(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=Dd(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=(zt(0)|0)+1|0;o=0;while(1){$u(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=Gc(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=(zt(o)|0)+1|0;$u(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);Di(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]=50756;D=o;C=p;E=x;I=1;B=8;Ea=165}do if((Ea|0)==165){if((f[Ga>>2]|0)==0?(e=Cs(e,50595,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=Dd(p)|0;u:do if(O){bv(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;Iq(l,54278,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=Dd(p)|0;if(!o){f[Ha>>2]=7;p=O;break}bv(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;$u(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;$u(p|0,f[Y>>2]|0,Z|0)|0;p=p+Z|0;G=o+16|0;f[G>>2]=p;$u(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[23712+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[23712+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){$u(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=zt(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)!=(zt(u)|0))break;if(!(f[(f[M>>2]|0)+(C<<2)>>2]|0))break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[7160]|0))nb[f[28688>>2]&127](u);else{$=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)!=(zt(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[7160]|0))nb[f[28688>>2]&127](B);else{$=hb[f[28696>>2]&127](B)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Iq(l,47746,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?54313:54322;Iq(l,54333,ea)}f[la>>2]=0;do if(!(f[H>>2]|0)){if(r){z=Dd(((zt(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=56244;s=0;r=0}Ds(Ha,la,54374,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;Ds(Ha,la,54380,ja);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0){f[ka>>2]=54402;Ds(Ha,la,54395,ka)}if(s)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);z=r;break}else{z=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);z=r;break}else z=r}else{Ds(Ha,la,38544,fa);if((f[i>>2]|0)>0){p=0;do{f[ga>>2]=f[(f[M>>2]|0)+(p<<2)>>2];Ds(Ha,la,54409,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;Ds(Ha,la,54395,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?54418:56244;Ds(Ha,la,54427,ma);f[o+220>>2]=f[la>>2];f[ma>>2]=0;if(q){y=Dd(((zt(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=56244;r=0;q=0}Ds(Ha,ma,36715,Aa);if((f[i>>2]|0)>0){p=0;do{f[na>>2]=s;Ds(Ha,ma,54450,na);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0)Ds(Ha,ma,54457,oa);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{oa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(54461,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=ud(54487,qa)|0;if(!p)break D;else r=r+1|0}if(s){f[ra>>2]=p;f[ra+4>>2]=s;p=ud(54499,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;hr(Aa,u,54510,ta);if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break C}else{ta=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;hr(Aa,u,54510,sa)}while(0);ta=f[K>>2]|0;f[ua>>2]=f[G>>2];f[ua+4>>2]=ta;hr(Aa,u,54543,ua);ua=f[K>>2]|0;f[va>>2]=f[G>>2];f[va+4>>2]=ua;hr(Aa,u,54615,va);if(b[J>>0]|0){va=f[K>>2]|0;f[wa>>2]=f[G>>2];f[wa+4>>2]=va;hr(Aa,u,54768,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;hr(Aa,p,53249,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=ud(54836,za)|0;do if(r){p=Ii(f[N>>2]|0,r,-1,0,0,Aa,0)|0;switch(p|0){case 0:{p=f[Aa>>2]|0;Ci(p)|0;Aa=Dp(p,0)|0;f[o+240>>2]=Aa;p=Di(p)|0;break}case 23:{f[o+240>>2]=1024;p=0;break}default:{}}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Aa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?54856:u;p=f[N>>2]|0;f[Ba>>2]=1;_p(p,1,Ba)|0;f[Ca>>2]=f[f[M>>2]>>2];p=ud(54865,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=ud(54870,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=ud(54877,Fa)|0;if(!(p&(r|0)!=0))if(!r)p=7;else{p=7;Ea=341}else{p=uk(f[N>>2]|0,r)|0;Ea=341}do if((Ea|0)==341)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Fa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);do if(s|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{Fa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](v);break}else{Fa=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}while(0);do if(p|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break}else{Fa=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}while(0);do if(q|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{Fa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Fa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);do if(s|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{Fa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}while(0);do if(u|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{Fa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Fa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](n);break}else{Fa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);do if(m|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Fa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Mq(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}hb[f[(f[m>>2]|0)+8>>2]&127](m)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}function Cs(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=ud(31564,w)|0;if(!w){x=7;t=y;return x|0}v=w+(zt(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[23712+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[23712+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=(zt(m)|0)+1|0;e:do if((((a|0)!=0?(n=a+16|0,(f[n>>2]|0)!=0):0)?(o=ib[(b[a>>0]<<24>>24==1?148:149)&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?78:79,g=f[p+(o<<3)+4>>2]|0,(q|0)!=0&(g|0)!=0):0){c=q;while(1){c=c+-1|0;if(!(kb[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[23712+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[23712+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(Kc()|0)break;m=Lc(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[7160]|0))nb[f[28688>>2]&127](w);else{x=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w)}if(!c){x=7;t=y;return x|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);x=7;t=y;return x|0}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);x=7;t=y;return x|0}}else{h=0;g=0;c=0}while(0);g=jb[f[n+4>>2]&127](h,g,d)|0;if(!g)f[f[d>>2]>>2]=n;else Iq(e,54966,x);if(c)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else u=37}else u=37;while(0);if((u|0)==37){f[s>>2]=m;Iq(e,50734,s);g=1}if(!(f[7160]|0)){nb[f[28688>>2]&127](w);x=g;t=y;return x|0}else{x=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);x=g;t=y;return x|0}return 0}function Ds(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=hp(c,e)|0;if(e){c=f[b>>2]|0;if(c){f[g>>2]=c;f[g+4>>2]=e;c=ud(40183,g)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}if(!c)h=8}else c=e}else h=8;if((h|0)==8){f[a>>2]=7;c=0}fe(f[b>>2]|0);f[b>>2]=c;t=i;return}function Es(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(Kc()|0){c=7;return c|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](16)|0;if(!e){c=7;return c|0}}else{g=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}e=hb[f[28684>>2]&127](g)|0;if(!e){c=7;return c|0}d=hb[f[28696>>2]&127](e)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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=zt(d)|0;do if((g|0)==19){if(!(Kt(55029,d,19)|0)){f[i>>2]=1;d=0;break}if(!(Kt(55049,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(!(Kt(55069,d,11)|0)){d=Js(e,1,d+11|0,g+-11|0)|0;break}if(Kt(55081,d,11)|0){d=1;break a}d=Js(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=0;break}else{j=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);e=0;break}}else e=0}else d=0;while(0);f[c>>2]=e;c=d;return c|0}function Fs(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=zt(b)|0}else c=0;f[a+8>>2]=c;f[d>>2]=a;h=0;return h|0}function Hs(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Is(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[23840+(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[23856+(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[23856+(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[23840+(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[23856+(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[23856+(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(Kc()|0){k=7;y=84;break}k=Lc(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[25488+(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[25488+(o<<2)>>1]|0;if(((h[25488+(o<<2)+3>>0]|0)+k|0)>(l|0)?(B=h[25488+(o<<2)+2>>0]|0,((l^k)&1&B|0)==0):0)l=l+(j[26144+(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[26304+(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[26304+(o<<1)>>1]|0;if(((y>>>3)+(y&7)|0)>=(l|0)){l=b[26512+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[23840+(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[23856+(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[23856+(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 Js(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[23840+(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[23856+(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[23856+(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(Kc()|0){r=7;return r|0}m=Lc(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[23840+(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[23856+(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[23856+(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 Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(Kc()|0){c=7;return c|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](4)|0;if(!a){c=7;return c|0}}else{d=hb[f[28700>>2]&127](4)|0;if((f[14058]|0)>>>0<4)f[14058]=4;b=55352;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){e=f[14051]|0;b=Ou(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&b>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=b}f[a>>2]=0;f[c>>2]=a;e=0;return e|0}function Ls(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=zt(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 Ns(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Os(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[26624+(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[26624+(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(Kc()|0){ka=7;t=la;return ka|0}i=Lc(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(!(Ps(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=Ps(l+1|0)|0;else n=1-(b[26704+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(!(Ps(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(!(Ps(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(Ps(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|(Qs(o)|0)==0))){i=(n<<24>>24)+-97|0;if((i|0)==24)i=Ps(o+2|0)|0;else i=1-(b[26704+i>>0]|0)|0;if((i|0)!=0?(Ps(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((Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(j)|0)==0;j=ga?i:j;ga=399;break g}else{ga=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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(!(Rs(k)|0)){if(Qs(k)|0){if((Ps(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=Ps(i+3|0)|0;else j=1-(b[26704+j>>0]|0)|0;if(j|0?Ps(i+3|0)|0:0)break}i=k}}else i=k}while(0);if((Rs(i)|0)!=0?(b[i>>0]|0)==108:0){ga=i+1|0;i=(b[ga>>0]|0)==108?ga:i}k=zt(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 Ps(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[26704+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=Ps(a+2|0)|0;else c=1-(b[26704+c>>0]|0)|0;a=(c|0)!=0&1;return a|0}function Qs(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=0;return d|0}while(1)if(!(Ss(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=1;return d|0}while(1)if(!(Ps(a)|0))break;else a=a+1|0;d=(b[a>>0]|0)==0&1;return d|0}function Rs(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(a)|0))break;else a=a+1|0;f=(b[a>>0]|0)!=0&1;return f|0}function Ss(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=Ps(a+1|0)|0;return a|0}else{a=1-(b[26704+c>>0]|0)|0;return a|0}return 0}function Ts(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](132)|0;if(!e){d=7;return d|0}else i=e}else{h=hb[f[28700>>2]&127](132)|0;if((f[14058]|0)>>>0<132)f[14058]=132;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[14051]|0;g=Ou(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(!g){d=7;return d|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;i=g}else i=g}bv(i|0,0,132)|0;a:do if((a|0)>1){h=c+4|0;e=f[h>>2]|0;a=zt(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[7160]|0)){nb[f[28688>>2]&127](i);d=1;return d|0}else{d=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Us(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}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;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=zt(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 Ws(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}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;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(Kc()|0){p=7;return p|0}i=Lc(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 Ys(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=zt(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=zt(k)|0;c=4}else c=3;d=f[e+(c<<2)>>2]|0;j=zt(d)|0;c=uk(a,55093)|0;if(c|0){g=c;t=p;return g|0}c=k+306+j|0;n=Dd(c)|0;if(!n){g=7;t=p;return g|0}bv(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;$u(e|0,l|0,k|0)|0;$u(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);Iq(i,55162,j);g=1;t=p;return g|0}function Zs(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 _s(a){a=a|0;var b=0,c=0;b=f[a+12>>2]|0;Di(f[b+56>>2]|0)|0;Di(f[b+60>>2]|0)|0;Di(f[b+64>>2]|0)|0;Di(f[b+68>>2]|0)|0;Di(f[b+72>>2]|0)|0;Di(f[b+76>>2]|0)|0;Di(f[b+80>>2]|0)|0;Di(f[b+84>>2]|0)|0;Di(f[b+88>>2]|0)|0;Di(f[b+92>>2]|0)|0;Di(f[b+96>>2]|0)|0;Di(f[b+100>>2]|0)|0;Di(f[b+104>>2]|0)|0;Di(f[b+108>>2]|0)|0;Di(f[b+112>>2]|0)|0;Di(f[b+116>>2]|0)|0;Di(f[b+120>>2]|0)|0;Di(f[b+124>>2]|0)|0;Di(f[b+128>>2]|0)|0;Di(f[b+132>>2]|0)|0;Di(f[b+136>>2]|0)|0;Di(f[b+140>>2]|0)|0;Di(f[b+144>>2]|0)|0;Di(f[b+148>>2]|0)|0;Di(f[b+152>>2]|0)|0;Di(f[b+156>>2]|0)|0;Di(f[b+160>>2]|0)|0;Di(f[b+164>>2]|0)|0;Di(f[b+168>>2]|0)|0;Di(f[b+172>>2]|0)|0;Di(f[b+176>>2]|0)|0;Di(f[b+180>>2]|0)|0;Di(f[b+184>>2]|0)|0;Di(f[b+188>>2]|0)|0;Di(f[b+192>>2]|0)|0;Di(f[b+196>>2]|0)|0;Di(f[b+200>>2]|0)|0;Di(f[b+204>>2]|0)|0;Di(f[b+208>>2]|0)|0;Di(f[b+212>>2]|0)|0;b=f[b+244>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](120)|0;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](120)|0;if((f[14058]|0)>>>0<120)f[14058]=120;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 at(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;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);break}else{e=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{e=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);d=f[c+52>>2]|0;do if(d|0){e=f[d+20>>2]|0;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+20|0;d=f[c>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+76>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+112>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{l=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function bt(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{g=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{g=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);c=f[e+52>>2]|0;do if(c|0){g=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{B=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=a+20|0;c=f[e>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{B=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[a+112>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(q,1)|0}if(e|0){f[r>>2]=e;e=ud(31564,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=Ye(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=Gc(e,1)|0;else e=0}else e=0;while(0);f[u>>2]=e;e=ud(31564,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=Ye(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=Dc(+p[e>>3])|0;ba()|0;break}if(!(c&18)){e=0;break a}e=Ec(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=jr(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=kr(z,x,f[m>>2]|0,f[i>>2]|0)|0;if(e|0){B=e;t=A;return B|0}B=ct(a)|0;t=A;return B|0}function ct(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=Nu(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=lr(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=Kt(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(Kc()|0){q=7;return q|0}c=Lc(c,32,0)|0;if(!c){q=7;return q|0}else{d=f[p>>2]|0;bv(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);bv(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=Zu(r&127|0,0,e|0)|0;a=Nu(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=Nu(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=Nu(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(Kc()|0){c=7;q=46;break c}c=Lc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;q=46;break c}s=f[p>>2]|0;bv(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=Nu(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=Nu(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=Nu(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 dt(a){a=a|0;return f[a+88>>2]|0}function et(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;switch(c|0){case 0:{if((Ze(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;Ze(f[b>>2]|0,32336,-1,1,0)|0;return 0}case 1:{a=f[a+104>>2]|0;if(!a){if((Ze(f[b>>2]|0,41449,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;Ze(f[b>>2]|0,32336,-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{$e(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{$e(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{$e(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{$e(a,g,c);return 0}}}return 0}function ft(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 gt(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[13905]|0;c=m>>>a;if(c&3|0){b=(c&1^1)+a|0;a=55660+(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[13905]=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[13907]|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=55660+(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[13910]|0;b=l>>>3;c=55660+(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[13907]=h;f[13910]=e;w=i;t=x;return w|0}g=f[13906]|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[55924+((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=55924+(b<<2)|0;if((i|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[13906]=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[13910]|0;b=l>>>3;c=55660+(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[13907]=j;f[13910]=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[13906]|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[55924+(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[55924+((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[13907]|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=55924+(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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(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[13907]|0;if(c>>>0>=m>>>0){b=c-m|0;a=f[13910]|0;if(b>>>0>15){w=a+m|0;f[13910]=w;f[13907]=b;f[w+4>>2]=b|1;f[a+c>>2]=b;f[a+4>>2]=m|3}else{f[13907]=0;f[13910]=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[13908]|0;if(h>>>0>m>>>0){u=h-m|0;f[13908]=u;w=f[13911]|0;v=w+m|0;f[13911]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}if(!(f[14023]|0)){f[14025]=4096;f[14024]=4096;f[14026]=-1;f[14027]=-1;f[14028]=0;f[14016]=0;f[14023]=n&-16^1431655768;a=4096}else a=f[14025]|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[14015]|0;if(a|0?(l=f[14013]|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[14016]&4)){c=f[13911]|0;e:do if(c){d=56068;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=cv(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=cv(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[14024]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[14013]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=f[14015]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=cv(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[14025]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=d;q=145;break d}if((cv(a|0)|0)==(-1|0)){cv(c|0)|0;b=0;break}else{h=a+b|0;g=d;q=145;break d}}while(0);f[14016]=f[14016]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(u=cv(k|0)|0,p=cv(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[14013]|0)+h|0;f[14013]=b;if(b>>>0>(f[14014]|0)>>>0)f[14014]=b;j=f[13911]|0;f:do if(j){b=56068;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[13908]|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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[j+w+4>>2]=40;f[13912]=f[14027];break}if(g>>>0<(f[13909]|0)>>>0)f[13909]=g;c=g+h|0;b=56068;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[13908]|0)+i|0;f[13908]=w;f[13911]=k;f[k+4>>2]=w|1}else{if((f[13910]|0)==(b|0)){w=(f[13907]|0)+i|0;f[13907]=w;f[13910]=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[13905]=f[13905]&~(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=55924+(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[13906]=f[13906]&~(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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[k+28>>2]=d;a=k+16|0;f[a+4>>2]=0;f[a>>2]=0;a=f[13906]|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=56068;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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[g+c+4>>2]=40;f[13912]=f[14027];c=a+4|0;f[c>>2]=27;f[b>>2]=f[14017];f[b+4>>2]=f[14018];f[b+8>>2]=f[14019];f[b+12>>2]=f[14020];f[14017]=g;f[14018]=h;f[14020]=0;f[14019]=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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[j+28>>2]=d;f[j+20>>2]=0;f[e>>2]=0;b=f[13906]|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[13909]|0;if((w|0)==0|g>>>0>>0)f[13909]=g;f[14017]=g;f[14018]=h;f[14020]=0;f[13914]=f[14023];f[13913]=-1;f[13918]=55660;f[13917]=55660;f[13920]=55668;f[13919]=55668;f[13922]=55676;f[13921]=55676;f[13924]=55684;f[13923]=55684;f[13926]=55692;f[13925]=55692;f[13928]=55700;f[13927]=55700;f[13930]=55708;f[13929]=55708;f[13932]=55716;f[13931]=55716;f[13934]=55724;f[13933]=55724;f[13936]=55732;f[13935]=55732;f[13938]=55740;f[13937]=55740;f[13940]=55748;f[13939]=55748;f[13942]=55756;f[13941]=55756;f[13944]=55764;f[13943]=55764;f[13946]=55772;f[13945]=55772;f[13948]=55780;f[13947]=55780;f[13950]=55788;f[13949]=55788;f[13952]=55796;f[13951]=55796;f[13954]=55804;f[13953]=55804;f[13956]=55812;f[13955]=55812;f[13958]=55820;f[13957]=55820;f[13960]=55828;f[13959]=55828;f[13962]=55836;f[13961]=55836;f[13964]=55844;f[13963]=55844;f[13966]=55852;f[13965]=55852;f[13968]=55860;f[13967]=55860;f[13970]=55868;f[13969]=55868;f[13972]=55876;f[13971]=55876;f[13974]=55884;f[13973]=55884;f[13976]=55892;f[13975]=55892;f[13978]=55900;f[13977]=55900;f[13980]=55908;f[13979]=55908;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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[g+w+4>>2]=40;f[13912]=f[14027]}while(0);b=f[13908]|0;if(b>>>0>m>>>0){u=b-m|0;f[13908]=u;w=f[13911]|0;v=w+m|0;f[13911]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}}w=pt()|0;f[w>>2]=12;w=0;t=x;return w|0} -function Xo(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=(zt(e)|0)&1073741823;if(!d)n=0;else n=(zt(d)|0)&1073741823;y=f[(f[a>>2]|0)+32>>2]|0;f[i>>2]=e;z=Gg(y,50103,i)|0;if(!z){z=7;t=A;return z|0}x=(zt(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=Nu(e|0,g|0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](e)|0;l=30;break}i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;k=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&k>>>0>0){s=f[14051]|0;r=Ou(k|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(i){k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(y,e,g)|0;l=30}while(0);if((l|0)==30)if(!i)i=7;else l=31;do if((l|0)==31){bv(i+n|0,0,(e>>>0>n>>>0?e-n|0:0)|0)|0;$u(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;av(i+(e+d)|0,i+r|0,n-r|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}$u(i+d|0,(l?z:v)|0,e|0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{r=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;av(i+(e+d)|0,i+g|0,n-g|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}$u(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{n=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(y,m);while(0);l=f[c>>2]|0;if(!l)break;else n=k}}while(0);if((Ze(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}if(!u){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);i=0;break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);z=i;t=A;return z|0}else{y=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);z=i;t=A;return z|0}return 0}function Yo(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 Zo(a,b){a=a|0;b=b|0;return 0}function _o(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 $o(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 ap(a){a=a|0;var b=0,c=0,d=0;d=t;t=t+16|0;c=d;b=gt(a+8|0)|0;if(!b){f[c>>2]=a;yc(7,50144,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 bp(a){a=a|0;ht(a+-8|0);return}function cp(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=jt(a,b+8|0)|0;if(!c){f[d>>2]=f[a>>2];f[d+4>>2]=b;yc(7,50108,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 dp(a){a=a|0;return f[a+-8>>2]|0}function ep(a){a=a|0;return a+7&-8|0}function fp(a){a=a|0;return 0}function gp(a){a=a|0;return}function hp(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(Kc()|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;zc(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=Ac(e)|0;t=j;return i|0}i=f[g>>2]|0;t=j;return i|0}function ip(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)Fi(d,a);c=dg(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){Bi(d);e=7;return e|0}else{e=f[d+68>>2]&c;return e|0}return 0}function jp(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)){df(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 kp(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=Gc(a,1)|0;return c|0}function lp(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=Ye(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 mp(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=+Fc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);return +d}function np(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=Dc(+p[a>>3])|0;ba()|0;return c|0}if(!(c&18)){c=0;return c|0}c=Ec(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0;return c|0}function op(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=Dc(+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=Ec(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 pp(a){a=a|0;return h[5792+(d[a+8>>1]&31)>>0]|0|0}function qp(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 af(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 rp(a,b,c){a=a|0;b=b|0;c=c|0;f[a+20>>2]=1;Ze(f[a>>2]|0,b,c,1,-1)|0;return}function sp(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{$e(a,b,c);return}}function tp(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{$e(a,b,c);return}}function up(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{af(a);return}}function vp(a){a=a|0;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((Ze(f[a>>2]|0,b,c,1,d)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function xp(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{af(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 yp(a,b){a=a|0;b=b|0;var c=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192)){c=ff(a,b)|0;return c|0}else{c=f[c+16>>2]|0;return c|0}return 0}function zp(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 Ap(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){e=jf(28920)|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;zg(c,25);c=28920;d=a}e=jf(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[a>>2]=c;return e|0}function Bp(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=28920;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;zg(g,25);g=28920}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=Ye(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){Bi(g);c=7}else c=f[g+68>>2]&c;f[h>>2]=c;return e|0}function Cp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0.0;e=(a|0)==0;do if(e)c=28920;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;zg(c,25);c=28920}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=+Fc(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return +g}function Dp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=(a|0)==0;do if(e)c=28920;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;zg(c,25);c=28920}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){g=Dc(+p[c>>3])|0;ba()|0;break}if(!(d&18))g=0;else{g=Ec(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return g|0}function Ep(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=28920;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;zg(c,25);c=28920}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){h=Dc(+p[c>>3])|0;g=ba()|0;break}if(!(d&18)){g=0;h=0}else{h=Ec(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;aa(g|0);return h|0}function Fp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;g=(a|0)==0;do if(g)c=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return h|0}function Gp(a,c){a=a|0;c=c|0;var e=0,g=0,i=0;g=(a|0)==0;do if(g)c=28920;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;zg(c,25);c=28920}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){Bi(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return i|0}function Hp(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=Gc(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 Ip(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=Jp(a,c)|0;if(h|0){switch(g|0){case 0:case -1:{a=h;return a|0}default:{}}nb[g&127](d);a=h;return a|0}if(!d){a=0;return a|0}d=Ze((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;zg(c,d);c=f[a>>2]|0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Bi(c);a=7;return a|0}else{a=f[c+68>>2]&d;return a|0}return 0}function Jp(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)yc(21,33647,l);else{e=f[a>>2]|0;if(!e){yc(21,33602,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)){df(g);e=f[a>>2]|0}d[i>>1]=1;f[e+64>>2]=0;if(f[e+256>>2]|0)zg(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;zg(e,25);c=25;t=l;return c|0}f[e+64>>2]=21;zg(e,21);f[k>>2]=f[a+184>>2];yc(21,50182,k);f[i>>2]=31157;f[i+4>>2]=81984;f[i+8>>2]=31184;yc(21,31132,i);c=21;t=l;return c|0}while(0);f[j>>2]=31157;f[j+4>>2]=81976;f[j+8>>2]=31184;yc(21,31132,j);c=21;t=l;return c|0}function Kp(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=Jp(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 af(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 Lp(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=Jp(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{$e(a,c,e);return g|0}return 0}function Mp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Np(a,b,c,d,e,1)|0}function Np(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=Jp(a,c)|0;if(j|0){switch(h|0){case 0:case -1:{a=j;return a|0}default:{}}nb[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=Ze(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=Pi(l,j)|0;break}}while(0);if(!c){a=0;return a|0}j=f[a>>2]|0;f[j+64>>2]=c;zg(j,c);j=f[a>>2]|0;if((c|0)==3082|(b[j+81>>0]|0)!=0){Bi(j);a=7;return a|0}else{a=f[j+68>>2]&c;return a|0}return 0}function Op(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=Jp(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{$e(g,h,i);a=0;t=o;return a|0}}case 2:{j=+p[e>>3];g=Jp(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 af(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=Jp(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))df(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=Jp(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(bf(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}$u(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;zg(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{Bi(g);a=7;t=o;return a|0}}case 3:{a=Np(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=Jp(a,c)|0;t=o;return a|0}}return 0}function Pp(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=(zt(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(($t(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 Qp(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(!(gf(f[e>>2]|0,i,f[g>>2]|0,c)|0))c=d[k>>1]|0;else{if(!(hf(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 Rp(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[7160]|0)){l=hb[f[28684>>2]&127](32)|0;p=24;break}l=hb[f[28700>>2]&127](32)|0;if((f[14058]|0)>>>0<32)f[14058]=32;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){Z=f[14051]|0;Q=Ou(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;P=ba()|0;f[13840]=((P|0)<0|(P|0)==0&Q>>>0<=Z>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(l){n=hb[f[28696>>2]&127](l)|0;n=(f[14051]|0)+n|0;f[14051]=n;if(n>>>0>(f[14055]|0)>>>0)f[14055]=n;n=(f[14054]|0)+1|0;f[14054]=n;if(n>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{y=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ni(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)?50309: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)?50321: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=ql(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=rl(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=ul(s,6,23328)|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?(sl(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;wl(s,ca)}while(0);d[G>>1]=v;f[H>>2]=a;if(b[Z>>0]|0){p=102;break}l=Sp(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;li(ca,50222,U);p=50}else if((p|0)==47){f[V>>2]=e;li(ca,50252,V);p=50}else if((p|0)==49){f[X>>2]=e;li(ca,50288,X);p=50}else if((p|0)==63){f[Y>>2]=g;l=Gg(a,44653,Y)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==79){f[W>>2]=n;l=Gg(a,50329,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)dg(r)|0;p=f[r>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{m=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);if(!_){if(f[N>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](M);o=l;break}else{o=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);o=l;break}}else o=l;while(0);l=f[$>>2]|0;$=(l|0)==0;f[aa>>2]=l;tg(a,o,$?0:31564,aa);do if(!$){if(!_){if(f[N>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[ca+68>>2]|0;if(l|0)hg(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){Bi(a);a=7;t=da;return a|0}else{a=f[a+68>>2]&o;t=da;return a|0}return 0}function Sp(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=Hi(l)|0}else k=Ci(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=Di(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=Gg(i,50392,m)|0;q=1;f[g>>2]=p;t=r;return q|0}else{p=Kj(i)|0;f[n>>2]=p;p=Gg(i,31564,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=32424;break a}case 0:{p=9;break a}default:{}}k=32416;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[7792+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=32439;f[o>>2]=k;p=Gg(i,50363,o)|0;Di(f[q>>2]|0)|0;f[q>>2]=0;q=1;f[g>>2]=p;t=r;return q|0}function Tp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!(b[a>>0]|0)){e=nh(a,c,d,e,0)|0;return e|0}else{e=Vp(a,c,d,e)|0;return e|0}return 0}function Up(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]=31157;f[h+4>>2]=90942;f[h+8>>2]=31184;yc(21,31132,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=Nu(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=kb[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}zg(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)dg(j)|0;c=f[j>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{p=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)zg(k,h);if((h|0)==3082|(b[k+81>>0]|0)!=0){Bi(k);p=7;t=m;return p|0}else{p=f[k+68>>2]&h;t=m;return p|0}return 0}function Vp(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=jk(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=nh(a,c,d,e,0)|0;t=j;return k|0}function Wp(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]=31157;f[e+4>>2]=91040;f[e+8>>2]=31184;yc(21,31132,e);j=21;t=k;return j|0}i=f[a+20>>2]|0;if(!(f[a+16>>2]|0))e=4;else{e=Sp(a,c,d,h)|0;do if(e|0?(g=f[h>>2]|0,h=(g|0)==0,f[j>>2]=g,tg(i,e,h?0:31564,j),!h):0){if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0)}if((e|0)==3082|(b[i+81>>0]|0)!=0){Bi(i);j=7;t=k;return j|0}else{j=f[i+68>>2]&e;t=k;return j|0}return 0}function Xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ii(a,b,c,128,0,d,e)|0}function Yp(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=55580;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=55580;break}}}while(0);if(!(f[g+8>>2]|0)){pi(a,c,d,e,0)|0;g=0}else{f[n>>2]=31157;f[n+4>>2]=133630;f[n+8>>2]=31184;yc(21,31132,n);g=21}if(!(b[a+81>>0]|0)){p=f[a+68>>2]&g;t=o;return p|0}else{Bi(a);p=7;t=o;return p|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 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=55580;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=55580;break}}}while(0);if(!(f[i+8>>2]|0)){pi(a,c,d,e,g)|0;i=0}else{f[o>>2]=31157;f[o+4>>2]=133630;f[o+8>>2]=31184;yc(21,31132,o);i=21}if(!(b[a+81>>0]|0))i=f[a+68>>2]&i;else{Bi(a);i=7}if(!((g|0)!=0&(i|0)!=0)){t=p;return i|0}nb[g&127](e);t=p;return i|0}function _p(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]=31157;f[h+4>>2]=134773;f[h+8>>2]=31184;yc(21,31132,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]=31157;f[e+4>>2]=134781;f[e+8>>2]=31184;yc(21,31132,e)}while(0);f[a+64>>2]=21;zg(a,21);h=21;t=i;return h|0}function $p(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=aq(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[23360+(j<<3)+4>>2];c=0;l=16}else d=g;else{d=g|f[23360+(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[23360+(j<<3)+4>>2]|0)!=0)&1;l=0;t=m;return l|0}function aq(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{l=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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[7160]|0)){j=hb[f[28684>>2]&127](h)|0;break}e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;j=55352;h=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&h>>>0>0){g=f[14051]|0;j=Ou(h|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&j>>>0<=g>>>0)&1}j=hb[f[28684>>2]&127](e)|0;if(j){h=hb[f[28696>>2]&127](j)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}else j=0}else j=0;while(0);if(!j)h=0;else{h=j;i=(hb[f[28696>>2]&127](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 bq(a){a=a|0;return f[a+100>>2]|0}function cq(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]=33820;yc(21,33775,e);f[g>>2]=31157;f[g+4>>2]=153813;f[g+8>>2]=31184;yc(21,31132,g);o=21;t=p;return o|0}if(!(b[a+88>>0]&8)){dq(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)hb[m&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(a,k);while(0);f[i>>2]=0}}else{kb[f[a+196>>2]&127](8,f[a+200>>2]|0,a,0)|0;dq(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)hb[l&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{m=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(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);tg(a,5,50417,o);o=5;t=p;return o|0}while(0);f[n>>2]=1691352191;Gi(a);o=0;t=p;return o|0}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;eq(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)fq(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){Vh(a);return}do{c=f[(f[b+8>>2]|0)+16>>2]|0;if(c|0)fq(a,c);b=f[b>>2]|0}while((b|0)!=0);Vh(a);return}function eq(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 fq(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];Yh(c);return}function gq(a){a=a|0;return cq(a,1)|0}function hq(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=Xm(a,c,d,e,g,h,i,j,0,0,0)|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);a=7;return a|0}else{a=f[a+68>>2]&c;return a|0}return 0}function iq(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 jq(a,b,c,d,e,f,g,h,0,0,i)|0}function jq(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=yg(12,0)|0;if(!m){tm(a);nb[l&127](e);b=1;break}f[m>>2]=0;f[m+4>>2]=l;f[m+8>>2]=e;b=Xm(a,b,c,d,e,g,h,i,j,k,m)|0;if(!(f[m>>2]|0)){nb[l&127](e);fe(m)}}else b=Xm(a,b,c,d,e,g,h,i,j,k,0)|0;while(0);return kq(a,b)|0}function kq(a,c){a=a|0;c=c|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);c=7;return c|0}else{c=f[a+68>>2]&c;return c|0}return 0}function lq(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(Pk(a,c,d,1,0)|0){a=0;t=j;return a|0}i=ud(c,j)|0;if(!i){a=7;t=j;return a|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](12)|0;if(!e)h=14;else{g=e;h=22}}else{e=hb[f[28700>>2]&127](12)|0;if((f[14058]|0)>>>0<12)f[14058]=12;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=k>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(g){e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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[7160]|0)){nb[f[28688>>2]&127](i);e=1;break}else{e=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);e=1;break}}else if((h|0)==22){f[g>>2]=0;f[g+4>>2]=94;f[g+8>>2]=i;e=Xm(a,c,d,1,i,174,0,0,0,0,g)|0;if(!(f[g>>2]|0)){if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}}while(0);if((e|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);k=7;t=j;return k|0}else{k=f[a+68>>2]&e;t=j;return k|0}return 0}function mq(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=ud(50485,b)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,b,-1,1,-1)|0;if(!b){t=c;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](b);t=c;return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);t=c;return}}function nq(a,b){a=a|0;b=b|0;return oq(a,b,6,0)|0}function oq(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+128|0;G=I+88|0;F=I+80|0;A=I+64|0;z=I+56|0;y=I+48|0;w=I+32|0;v=I+24|0;u=I+16|0;q=I;x=I+112|0;r=I+104|0;H=I+108|0;s=I+100|0;f[r>>2]=d;f[H>>2]=0;f[s>>2]=0;f[c>>2]=0;g=Kc()|0;if(g|0){H=g;t=I;return H|0}if((d&32768|0)==0&(f[7161]|0)!=0)k=(d&65536|0)==0?f[7162]|0:1;else k=0;if(!(d&262144)){if(f[7214]|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[7160]|0)){g=hb[f[28684>>2]&127](488)|0;if(!g){g=0;D=134}else D=19}else{g=hb[f[28700>>2]&127](488)|0;if((f[14058]|0)>>>0<488)f[14058]=488;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){E=f[14051]|0;D=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;C=ba()|0;f[13840]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=i;D=19}else D=19}else{g=0;D=134}}a:do if((D|0)==19){bv(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;i=g+108|0;j=23440;k=i+44|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[g+152>>2]=0;b[g+79>>0]=1;b[g+84>>0]=-1;m=28824;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;pq(g,33704,1,0,77,0)|0;pq(g,33704,3,0,77,0)|0;pq(g,33704,2,0,77,0)|0;pq(g,47621,1,0,78,0)|0;pq(g,50536,1,1,77,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=55580;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=33704;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=55580;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]=31157;f[q+4>>2]=155840;f[q+8>>2]=31184;yc(21,31132,q);i=21}else{i=Qm(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=aj(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=Rm(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=Rm(g,0)|0;J=f[n>>2]|0;f[J+28>>2]=D;f[J>>2]=33138;b[J+8>>0]=3;f[J+16>>2]=50412;b[J+24>>0]=1;f[E>>2]=-1607883113;if(b[B>>0]|0){D=134;break a}p=g+64|0;f[p>>2]=0;if(f[g+256>>2]|0)zg(g,0);do if((lq(g,50542,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]=33820;yc(21,33775,v);f[w>>2]=31157;f[w+4>>2]=155189;f[w+8>>2]=31184;yc(21,31132,w);d=21;D=128}else if((D|0)==60){if(b[B>>0]|0){d=7;D=128;break}d=f[C>>2]&f[p>>2];if(d|0){D=128;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=jb[j&127](g,x,0)|0;if(i){f[y>>2]=f[x>>2];tg(g,i,50548,y);d=0}i=f[x>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{J=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=76;break i}}else switch(d|0){case 1266094736:break i;default:{D=76;break i}}else switch(d|0){case -1607883113:break;default:D=76}while(0);if((D|0)==76){f[z>>2]=33820;yc(21,33775,z);f[A>>2]=31157;f[A+4>>2]=155189;f[A+8>>2]=31184;yc(21,31132,A);break b}if(b[B>>0]|0)break b;if(f[C>>2]&f[p>>2]|0)break b;d=Yp(g,50587,29736,0)|0;if(d|0){D=128;break}if(Kc()|0){d=7;D=128;break}do if(!(f[7160]|0)){d=hb[f[28684>>2]&127](20)|0;if(!d){d=7;D=128;break g}else i=d}else{d=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[14051]|0;A=Ou(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;z=ba()|0;f[13840]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}i=hb[f[28684>>2]&127](d)|0;if(!i){d=7;D=128;break g}d=hb[f[28696>>2]&127](i)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0<=(f[14060]|0)>>>0)break;f[14060]=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(!(rq(i,50595,7,29832)|0)){if(rq(i,50602,7,29860)|0){d=7;D=109;break}if(rq(i,50609,10,29888)|0){d=7;D=109;break}d=Xm(g,50619,1,5,i,175,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Bi(g);d=7;D=109;break}d=f[C>>2]&d;if(d|0){D=109;break}d=Xm(g,50619,2,5,i,175,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Bi(g);d=7;D=109;break}d=f[C>>2]&d;if(d|0){D=109;break}d=lq(g,50634,-1)|0;if(d|0){D=109;break}d=lq(g,50642,1)|0;if(d|0){D=109;break}d=lq(g,50650,1)|0;if(d|0){D=109;break}d=lq(g,50650,2)|0;if(d|0){D=109;break}d=lq(g,39185,1)|0;if(d|0){D=109;break}d=Zp(g,50660,29916,i,100)|0;if(d|0){D=128;break g}d=Zp(g,50665,29916,i,0)|0;if(d|0){D=128;break g}d=Yp(g,50670,30012,i)|0}else{d=7;D=109}while(0);do if((D|0)==109){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[7160]|0)){nb[f[28688>>2]&127](l);break}else{J=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{J=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{J=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}}while((j|0)!=0);f[n>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{J=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(d|0)D=128}while(0);if((D|0)==128){f[p>>2]=d;zg(g,d)}aq(g,0,f[7168]|0,f[7169]|0)|0;f[g+236>>2]=77;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;zg(g,d);break b}while(0);d=f[s>>2]|0;J=(d|0)==0;f[u>>2]=d;tg(g,i,J?0:31564,u);if(!J)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{J=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=132;break j}default:{D=131;break j}}else switch(d|0){case 1266094736:{D=132;break j}default:{D=131;break j}}else switch(d|0){case -1607883113:{D=132;break}default:D=131}while(0);if((D|0)==131){f[F>>2]=33820;yc(21,33775,F);f[G>>2]=31157;f[G+4>>2]=155189;f[G+8>>2]=31184;yc(21,31132,G);d=21}else if((D|0)==132){if(b[B>>0]|0){D=134;break}d=f[C>>2]&f[g+64>>2];switch(d|0){case 7:{D=134;break a}case 0:break a;default:{}}}f[E>>2]=1266094736}while(0);if((D|0)==134){cq(g,0)|0;d=7;g=0}f[c>>2]=g;g=f[H>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);J=d&255;t=I;return J|0}function pq(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]=31157;f[j+4>>2]=155246;f[j+8>>2]=31184;yc(21,31132,j);s=21;t=u;return s|0}else r=s}q=r&255;j=Yk(a,q,c,0)|0;if(j|0?f[j+12>>2]|0:0){if(f[a+168>>2]|0){tg(a,5,55203,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=55580;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=55580;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){nb[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){nb[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)nb[d&127](f[k+48>>2]|0);f[k+52>>2]=0}}}d=Yk(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}zg(a,0);v=0;t=u;return v|0}function qq(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 rq(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=ib[(b[a>>0]<<24>>24==1?148:149)&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?78:79,g=f[i+(m<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){l=g;while(1){h=h+-1|0;if(!(kb[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[7160]|0)){nb[f[28688>>2]&127](n);break}else{e=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{e=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);break}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](o);break}else{a=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Kc()|0)){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](64)|0;if(!g)break}else{g=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){p=f[14051]|0;o=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(!h)break;g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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[7160]|0)){nb[f[28688>>2]&127](h);break}else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}while(0);f[s>>2]=g;f[r>>2]=8;n=(b[a>>0]|0)==1?148:149;m=a+8|0;h=f[m>>2]|0;f[m>>2]=0;if(!h){g=8;k=69}else{do{k=(ib[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=Dd(g)|0;if(!o)break;bv(o|0,0,g|0)|0;g=f[s>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{n=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[s>>2]=o;f[r>>2]=h;n=(b[a>>0]|0)==1?148:149;m=a+8|0;g=f[m>>2]|0;f[m>>2]=0;if(g|0){l=h+-1|0;do{j=(ib[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(Kc()|0){t=e;return t|0}do if(!(f[7160]|0)){g=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){t=f[14051]|0;o=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=t>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(!h){t=e;return t|0}g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Dd(d)|0;if(g|0){bv(g|0,0,d|0)|0;f[l+12>>2]=g;$u(g|0,c|0,d|0)|0;break}f[l+12>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);t=e;return t|0}else{t=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 sq(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=Gc(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=Ye(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=ib[(b[v>>0]<<24>>24==1?148:149)&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?78:79,g=f[o+(n<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){while(1){h=h+-1|0;if(!(kb[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=ud(50734,u)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=x;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);t=x;return}else{a=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$p(u,1004,p)|0;if(!(f[l>>2]|0)){f[a+20>>2]=1;Ze(f[a>>2]|0,55007,-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=Ye(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=jf(f[i>>2]|0)|0;u=f[u>>2]|0;j=u;if((rq(v,w,k,u)|0)!=(u|0)){g=a;break}f[a+20>>2]=1;Ze(f[a>>2]|0,35544,-1,1,-1)|0;g=a;break}f[a+20>>2]=1;Ze(f[a>>2]|0,54984,-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;Ze(i,32336,-1,1,0)|0;t=x;return}do if((f[i+24>>2]|0)<32)if(!(bf(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 tq(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{h=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}}while((c|0)!=0)}f[a+4>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{h=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function uq(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=uk(a,50683)|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+(zt(f[r+(e<<2)>>2]|0)|0)|0;e=e+1|0}while((e|0)!=(s|0))}else a=0;q=Dd(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=zt(f[a>>2]|0)|0;f[q+(o<<2)>>2]=n;p=p+1|0;$u(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=50595;l=q;a=q;m=21}else{k=f[q>>2]|0;l=q;a=q;m=21}}else{k=50595;l=0;a=0;m=21}while(0);d:do if((m|0)==21){e=(zt(k)|0)+1|0;e:do if(((c|0?(u=c+16|0,f[u>>2]|0):0)?(v=ib[(b[c>>0]<<24>>24==1?148:149)&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?78:79,i=f[w+(v<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(kb[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=jb[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(Kc()|0){e=7;m=44;break d}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](20)|0;if(!i){e=7;m=44;break d}}else{i=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;k=55352;e=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&e>>>0>0){d=f[14051]|0;y=Ou(e|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&y>>>0<=d>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){e=7;m=44;break d}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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;Iq(h,50734,y);e=1;j=0;m=44}while(0);if((m|0)==44){i=f[z>>2]|0;if(!i)i=e;else{hb[f[j+8>>2]&127](i)|0;i=e}}if(!a){z=i;t=A;return z|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);z=i;t=A;return z|0}else{z=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);z=i;t=A;return z|0}return 0}function vq(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 wq(a){a=a|0;var b=0;hb[f[(f[a+12>>2]|0)+8>>2]&127](f[a+16>>2]|0)|0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function xq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](36)|0;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 yq(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;if(c|0){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](c)|0;f[b>>2]=0}c=a+4|0;b=f[c>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function zq(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){hb[f[(f[k+12>>2]|0)+16>>2]&127](e)|0;f[n>>2]=0}m=a+4|0;e=f[m>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(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=Ye(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=Dd(c+1|0)|0;f[m>>2]=e;if(!e){a=7;return a|0}$u(e|0,i|0,c|0)|0;b[(f[m>>2]|0)+c>>0]=0;g=k+16|0;e=kb[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=mb[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){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](e)|0;f[n>>2]=0}e=f[m>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Aq(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=mb[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){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](b)|0;f[c>>2]=0}a=a+4|0;b=f[a>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Bq(a){a=a|0;return (f[a+16>>2]|0)==0|0}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(c|0){case 0:{if((Ze(f[b>>2]|0,f[a+4>>2]|0,-1,1,-1)|0)!=18)return 0;f[b+20>>2]=18;Ze(f[b>>2]|0,32336,-1,1,0)|0;return 0}case 1:{if((Ze(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;Ze(f[b>>2]|0,32336,-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{$e(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{$e(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{$e(a,e,c);return 0}}}return 0}function Dq(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 Eq(a,c){a=a|0;c=c|0;var d=0;if((c|0)<1){c=zt(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 Fq(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 Gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=$t(a,c,b)|0;else a=1;return a|0}function Hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Kt(a,c,b)|0;else a=1;return a|0}function Iq(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[d>>2]=c;h=hp(b,d)|0;f[a>>2]=h;t=g;return}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;return Bs(1,a,b,c,d,e,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;return Bs(0,a,b,c,d,e,f)|0}function Lq(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?53871:53875;f[c+32>>2]=1;return 0}function Mq(a){a=a|0;var b=0,c=0;Di(f[a+216>>2]|0)|0;b=a+56|0;Di(f[b>>2]|0)|0;Di(f[b+4>>2]|0)|0;Di(f[b+8>>2]|0)|0;Di(f[b+12>>2]|0)|0;Di(f[b+16>>2]|0)|0;Di(f[b+20>>2]|0)|0;Di(f[b+24>>2]|0)|0;Di(f[b+28>>2]|0)|0;Di(f[b+32>>2]|0)|0;Di(f[b+36>>2]|0)|0;Di(f[b+40>>2]|0)|0;Di(f[b+44>>2]|0)|0;Di(f[b+48>>2]|0)|0;Di(f[b+52>>2]|0)|0;Di(f[b+56>>2]|0)|0;Di(f[b+60>>2]|0)|0;Di(f[b+64>>2]|0)|0;Di(f[b+68>>2]|0)|0;Di(f[b+72>>2]|0)|0;Di(f[b+76>>2]|0)|0;Di(f[b+80>>2]|0)|0;Di(f[b+84>>2]|0)|0;Di(f[b+88>>2]|0)|0;Di(f[b+92>>2]|0)|0;Di(f[b+96>>2]|0)|0;Di(f[b+100>>2]|0)|0;Di(f[b+104>>2]|0)|0;Di(f[b+108>>2]|0)|0;Di(f[b+112>>2]|0)|0;Di(f[b+116>>2]|0)|0;Di(f[b+120>>2]|0)|0;Di(f[b+124>>2]|0)|0;Di(f[b+128>>2]|0)|0;Di(f[b+132>>2]|0)|0;Di(f[b+136>>2]|0)|0;Di(f[b+140>>2]|0)|0;Di(f[b+144>>2]|0)|0;Di(f[b+148>>2]|0)|0;Di(f[b+152>>2]|0)|0;Di(f[b+156>>2]|0)|0;b=f[a+244>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+220>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+224>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+44>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);c=f[a+36>>2]|0;hb[f[(f[c>>2]|0)+8>>2]&127](c)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Nq(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;hr(b,d,53986,g)}m=f[e>>2]|0;f[j>>2]=c;f[j+4>>2]=m;hr(b,d,54023,j);m=f[e>>2]|0;f[k>>2]=c;f[k+4>>2]=m;hr(b,d,54061,k);m=f[e>>2]|0;f[h>>2]=c;f[h+4>>2]=m;hr(b,d,54097,h);m=f[e>>2]|0;f[i>>2]=c;f[i+4>>2]=m;hr(b,d,54134,i);b=f[b>>2]|0;if(b|0){m=b;t=l;return m|0}Mq(a)|0;m=0;t=l;return m|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!(Kc()|0)){if(!(f[7160]|0)){a=hb[f[28684>>2]&127](96)|0;f[b>>2]=a;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](96)|0;if((f[14058]|0)>>>0<96)f[14058]=96;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a)break;c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 Pq(a){a=a|0;var b=0;rs(a);if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Qq(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}rs(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(!(gf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(hf(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=Dc(+p[E>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Ec(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(!(gf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(hf(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=Dc(+p[D>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Ec(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=Gc(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=Dc(+p[u>>3])|0;ba()|0;break}if(!(g&18))g=0;else{g=Ec(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=ts(B,o,zt(o)|0,e,A)|0;do if(!g){g=f[e>>2]|0;if(f[B+32>>2]|0){ss(g);f[e>>2]=0;break}if(!g){g=0;break a}g=us(e,12)|0;if(!g){g=f[e>>2]|0;i=vs(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){ss(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;Iq(m,53786,w);M=1;t=L;return M|0}while(0);f[x>>2]=o;Iq(m,53838,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;ws(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=Dd((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;xs(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=ys(a,0,i,g)|0,f[A>>2]=M,(M|0)==0&(f[C>>2]|0)>0):0){g=0;do{M=ys(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[7160]|0))nb[f[28688>>2]&127](i);else{M=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}}while(0);zs(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;Di(f[l+16>>2]|0)|0;if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{M=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?53871:53875;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=ud(53880,G)|0}else{g=(b[a+52>>0]|0)==0?53871:53875;f[F>>2]=k;f[F+4>>2]=g;g=ud(53942,F)|0}if(!g){M=7;t=L;return M|0}k=Ii(f[H+12>>2]|0,g,-1,129,0,a+12|0,0)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);I=116;break c}else{I=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(52225,J)|0;if(!g){M=7;t=L;return M|0}k=Ii(f[i+12>>2]|0,g,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{M=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Op(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=Rq(a)|0;t=L;return M|0}function Rq(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((Ci(f[c>>2]|0)|0)==100){o=Ep(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)Fi(c,e);d=dg(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){Bi(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)Fi(n,m);s=dg(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)Bi(n)}Wr(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((Mr(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 Sq(a){a=a|0;var c=0;c=a+6|0;if(!(b[c>>0]|0)){c=0;return c|0}rs(a);b[c>>0]=1;c=1;return c|0}function Tq(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))df(e);f[e>>2]=52099;f[e+16>>2]=a;d[g>>1]=-31231;b[e+11>>0]=112;f[e+36>>2]=101;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{$e(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{$e(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{$e(e,0,0);c=0;return c|0}}break}default:h=e}e=Or(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=28920;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;zg(a,25);a=28920}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){Bi(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}kf(c,a);c=0;return c|0}function Uq(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 Vq(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=Gc(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=Ye(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=39185;aa=22}else{_=n&255;i=1232+_|0;do if((_|32|0)==111){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=39186;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==112){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=39187;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=39188;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==105){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=39189;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=39190;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=39191;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=39192;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=cs(a,0)|0;break b}case 7:{n=b[q>>0]|0;e:do if(!(n<<24>>24)){i=53208;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=53209;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=53210;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=53211;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=53212;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=53213;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=53214;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=js(a,0)|0;f[O>>2]=i;if(!i){f[$>>2]=0;f[v>>2]=f[a+220>>2];i=ud(53216,v)|0;do if(i){k=Ii(f[a+12>>2]|0,i,-1,128,0,$,0)|0;f[O>>2]=k;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Z=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}if(!k){i=((f[_>>2]|0)*12|0)+12|0;D=Dd(i)|0;if(!D){f[O>>2]=7;m=0;l=0;k=0;i=0;break}bv(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((Ci(w)|0)!=100){aa=89;break}if(!(f[x>>2]|0))v=0;else v=Dp(w,(f[_>>2]|0)+1|0)|0;n=Ep(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=gr(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;bv(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;zg(i,25);i=28920}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=Gc(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){Bi(i);i=7}else i=f[i+68>>2]&c;f[u>>2]=i;i=ks(a,v,n,o,D+(o<<2)|0)|0;Y=Bp(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){ls(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{Di(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)ms(O,a,l,k,m);do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{_=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-_;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[$>>2]|0;if(i){i=Di(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=53226;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=53227;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=53228;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=53229;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=53230;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=53231;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=53232;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=53233;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=53234;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=53235;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=53236;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=53237;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=53238;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=53239;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=53240;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=ud(52334,z)|0;if(!i){c=7;m=0;l=0;k=0;i=0;break}c=Ii(f[a+12>>2]|0,i,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{V=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(m,k,l);break}}while(0);V=a+252|0;k=f[V>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Jp(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{$e(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((Ci(N)|0)!=100){l=0;n=1;U=k;break}D=Dp(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=jr(a,D,C,-2,0,0,0,1,$)|0;do if(!l){f[G>>2]=O;l=kr(a,$,0,0)|0;if(l|0){w=0;n=0;break}l=lr(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=Zu(U&127|0,0,o|0)|0;l=Nu(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=Zu(U&127|0,0,q|0)|0;u=Nu(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=Nu(x|0,y|0,-2,-1)|0;v=Nu(w|0,ba()|0,u|0,v|0)|0;w=ba()|0;q=Zu(l|0,r|0,3)|0;T=ba()|0;U=Nu(l|0,r|0,D|0,E|0)|0;T=Nu(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=Zu(T|0,q|0,3)|0;s=ba()|0;q=Nu(T|0,q|0,C|0,0)|0;s=Nu(q|0,ba()|0,U|0,s|0)|0;U=ba()|0;q=Zu(s|0,U|0,3)|0;T=ba()|0;U=Nu(s|0,U|0,o|0,((o|0)<0)<<31>>31|0)|0;T=Nu(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=Xu(0,v|0,32)|0;s=ba()|0;q=Tu(T|0,q|0,9,0)|0;q=Nu(U|0,s|0,q|0,ba()|0)|0;s=ba()|0;if(A){u=0;do{U=b[g+u>>0]|0;q=Tu(q|0,s|0,9,0)|0;q=Nu(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=Zu(U&127|0,0,s|0)|0;o=Nu(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=Zu(U&127|0,0,s|0)|0;o=Nu(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=Nu(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=lr(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(!(b[s+5>>0]|0)){c=f[s+40>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[s+52>>2]|0;i:do if(c|0){o=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;do if(o|0){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{aa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](v);break}else{U=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}}while(0);c=f[I>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{U=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(i,N);k=dg(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){Bi(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=ud(53216,Z)|0;j:do if(!i){c=7;l=0;i=0;k=0}else{c=Ii(f[a+12>>2]|0,i,-1,128,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{S=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(k)|0)!=100){c=0;break j}c=Ep(k,0)|0;n=ba()|0;if(!(f[L>>2]|0))J=0;else J=Dp(k,(f[_>>2]|0)+1|0)|0;I=Tu(c|0,n|0,9,0)|0;I=Nu(I|0,ba()|0,J|0,((J|0)<0)<<31>>31|0)|0;H=ba()|0;F=Tu(I|0,H|0,81,0)|0;G=ba()|0;H=Tu(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=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(c);c=7}else c=f[c+68>>2]&n;f[Q>>2]=c}c=Bp(k,E)|0;n=f[T>>2]|0;o=f[n>>2]|0;f[Z>>2]=0;c=kb[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=ib[f[o+24>>2]&255](f[Z>>2]|0,J)|0;if(!c)break;hb[f[o+16>>2]&127](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=Nu(F|0,G|0,D|0,0)|0;B=Tu(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=mb[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=Nu(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=Tu(o|0,q|0,9,0)|0;o=Nu(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=Nu(H|0,I|0,u|0,0)|0;o=ba()|0;r=Zu(q|0,o|0,3)|0;ea=ba()|0;o=Nu(q|0,o|0,D|0,0)|0;ea=Nu(o|0,ba()|0,r|0,ea|0)|0;r=ba()|0;o=Zu(ea|0,r|0,3)|0;q=ba()|0;r=Nu(ea|0,r|0,z|0,g|0)|0;q=Nu(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=Tu(q|0,o|0,9,0)|0;q=Nu(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)hb[f[K>>2]&127](n)|0;c=(c|0)==101?0:c}else c=0}while(!(c|0))}while((c|0)==0)}while(0);Di(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=53242;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=53243;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=53244;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=53245;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=53246;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=53247;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=53326;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=53327;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=53328;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=53329;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=53330;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=53331;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=53332;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=53333;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=53334;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=53335;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;hr($,i,53249,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=ud(53170,F)|0;if(!k){f[$>>2]=7;i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,2,0);break}}while(0);l=f[m>>2]|0;m=((l|0)<0)<<31>>31;if(Jp(c,2)|0){Ci(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 $e(i,l,m);Ci(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)Fi(i,c);k=dg(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){Bi(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;hr(O,i,53249,D);i=f[O>>2]|0;if(!i){b[m>>0]=1;aa=306}}else aa=306;if((aa|0)==306){i=fs(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;Di(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{ea=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dc(+p[i>>3])|0;ba()|0;break}if(!(k&18)){r=_;aa=444;break a}i=Ec(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=Dd((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;bv(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=ud(51410,q)|0;if(!k){i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Jp(l,1)|0;Ci(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)Fi(i,l);k=dg(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{Bi(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=Dc(+p[c>>3])|0;c=ba()|0;break}if(!(l&18)){m=0;c=0}else{ea=Ec(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=Dc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Ec(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=ns(a,i,A,u)|0}else{k=1;i=os(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=ns(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=Dc(+p[i>>3])|0;ba()|0;break}if(!(k&18))o=0;else{o=Ec(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=os(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=gr(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=Gc(i,1)|0}while(0);i=ks(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=Ye(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)ls(ca,a,s);f[A>>2]=(f[A>>2]|0)+1}if(b[a+232>>0]|0)ms(ca,a,s,u,f[A>>2]|0)}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{ea=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}return 0}function Wq(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=ud(50788,c)|0;if(!d){e=7;t=g;return e|0}c=fr(f[a+12>>2]|0,f[a+16>>2]|0,d,0,0,0,0,0,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{a=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}b[e>>0]=(c|0)==0&1;e=0;t=g;return e|0}function Xq(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=gr(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=ud(52476,c)|0;if(!c){g=7;c=0;break}g=Ii(f[m>>2]|0,c,-1,129,0,e,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(g)|0)==100)c=Dp(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)Fi(d,g);e=dg(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){Bi(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=fs(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;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{a=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Yq(a){a=a|0;return 0}function Zq(a){a=a|0;er(a);return 0}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(wt(c,50634)|0)if(wt(c,50642)|0)if(wt(c,39185)|0)if(!(wt(c,50650)|0))a=3;else{d=0;return d|0}else a=2;else a=1;else a=0;f[d>>2]=f[23488+(a<<3)+4>>2];d=1;return d|0}function $q(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=ud(50788,d)|0;if(!e)d=7;else{d=fr(f[g>>2]|0,f[a+16>>2]|0,e,0,0,0,0,0,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}b[k>>0]=(d|0)==0&1;h=7}}else h=7;if((h|0)==7){f[m>>2]=0;d=gr(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;hr(m,n,50796,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;hr(m,n,50849,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;hr(m,n,50902,l)}l=f[d>>2]|0;f[o>>2]=f[e>>2];f[o+4>>2]=l;f[o+8>>2]=c;hr(m,n,50949,o);o=f[d>>2]|0;f[p>>2]=f[e>>2];f[p+4>>2]=o;f[p+8>>2]=c;hr(m,n,51003,p);t=q;return f[m>>2]|0}function ar(a,c){a=a|0;c=c|0;if(b[a+236>>0]|0){c=0;return c|0}c=Xq(a)|0;return c|0}function br(a,b){a=a|0;b=b|0;return 0}function cr(a,b){a=a|0;b=b|0;er(a);return 0}function dr(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=50756;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=50764;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=50772;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=50779;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=31379;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 er(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);break}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 fr(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=oi(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=oi(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=hi(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=40291;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=40299;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=40305;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=40999;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+(zt(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=40999}}else{q=0;n=1;s=0;r=0;p=40999}while(0);o=0;u=q;c=n;r=(r|0)==0?33704: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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[x>>2]=e;f[x+4>>2]=g;n=Gg(a,52071,x)|0;f[y>>2]=n;o=1}f[z>>2]=n;tg(a,o,(n|0)==0?0:31564,z);n=f[y>>2]|0;do if(n|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if((o|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);B=7;t=A;return B|0}else{B=f[a+68>>2]&o;t=A;return B|0}return 0}function gr(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=ir(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}er(a);l=h;t=m;return l|0}while(0);er(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=ud(51055,i)|0;if(!c){l=7;t=m;return l|0}e=Ii(f[a+12>>2]|0,c,-1,129,0,j,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,2,0);break}}while(0);switch(Ci(h)|0){case 100:{e=Dp(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)Fi(c,h);e=dg(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){Bi(c);l=7;t=m;return l|0}else{l=f[c+68>>2]&e;t=m;return l|0}return 0}function hr(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=hp(c,e)|0;if(!c){f[a>>2]=7;t=g;return}b=sj(b,c,0,0,0)|0;f[a>>2]=b;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=g;return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=g;return}} -function xj(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;wj(a,36133,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;wj(a,36156,n);ma=0;t=na;return ma|0}b[k>>0]=m|l;f[ha>>2]=36181;f[ja>>2]=c;k=f[u>>2]|0;k=kb[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=Nh(da)|0;do if(!k){ba=f[da+56>>2]|0;ca=h[da+9>>0]|0;f[ha>>2]=36267;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]=36293;k=ph(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;wj(a,34603,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;wj(a,34574,q)}}k=xj(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;wj(a,36321,O);m=0}else{u=ba+s|0;pb[f[A>>2]&255](da,u,N);if((s+(j[B>>1]|0)|0)>>>0>fa>>>0){wj(a,36351,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;wj(a,36375,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=ph(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;wj(a,34603,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;wj(a,34574,R)}}vj(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=ph(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;wj(a,34603,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;wj(a,34574,T)}}n=X;n=xj(a,p,X,f[n>>2]|0,f[n+4>>2]|0)|0;if((n|0)==(k|0)){n=0;break}wj(a,36399,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+((ib[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;wj(a,36424,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;wj(a,36461,ga)}}while(0);if(!da)break a}else{f[p>>2]=k;wj(a,36229,p);k=-1}while(0);l=f[da+72>>2]|0;if(!(d[l+28>>1]&32)){$g(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;wj(a,36191,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 yj(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))df(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=Bc(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=hb[f[28696>>2]&127](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]=97;i=0;return i|0}function zj(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=zj(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=zj(a,b)|0;f[c>>2]=a;return d|0}return 0}function Aj(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{Aj(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{Aj(b,d,c);t=g;return}}function Bj(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 Cj(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=di(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=di(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=di(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=di(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 Dj(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;hb[f[d+4>>2]&127](c)|0;f[c>>2]=0;break}c=f[a+64>>2]|0;d=f[c>>2]|0;if(d|0){hb[f[d+4>>2]&127](c)|0;f[c>>2]=0}i=a+17|0;if((h[i>>0]|0)>1){j=f[a>>2]|0;jb[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=Li(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(ib[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,jb[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))ib[f[d+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5)break;b[i>>0]=1;break}if(g)vh(a)}while(0);return h[k>>0]|0}function Ej(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=Ii(a,e,-1,128,0,g,0)|0;if(e|0){c=e;t=o;return c|0}n=f[g>>2]|0;e=Ci(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=Ci(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;zg(e,25);e=28920}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=Gc(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){Bi(e);e=7}else e=f[e+68>>2]&g;f[l>>2]=e;do if(h|0){if($t(h,36086,3)|0?$t(h,36090,3)|0:0)break;e=Ej(a,c,h)|0;if(e|0)break a}while(0);e=Ci(n)|0}while((e|0)==100)}while(0);l=(e|0)==101?0:e;if(l|0){k=Kj(a)|0;e=f[c>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);b:do if(!k)e=0;else{i=(zt(k)|0)+1|0;c:do if(!a){a=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](i)|0;m=59;break}e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){a=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=a>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,i,0)|0;m=59}while(0);if((m|0)==59)if(!e){e=0;break}$u(e|0,k|0,i|0)|0}while(0);f[c>>2]=e}Di(n)|0;c=l;t=o;return c|0}function Fj(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=xg(a,c,g)|0;if(!c){g=7;t=e;return g|0}g=Ej(a,b,c)|0;Xh(a,c);t=e;return g|0}function Gj(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=Ji(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[13886]|0)>>>0<=h>>>0)if((f[13887]|0)>>>0>h>>>0){f[14052]=(f[14052]|0)+-1;f[i>>2]=f[13889];f[13889]=i;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break}else{h=hb[f[28696>>2]&127](i)|0;C=16;break}else{h=hb[f[28696>>2]&127](i)|0;C=16}while(0);do if((C|0)==16){f[14053]=(f[14053]|0)-h;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);f[q>>2]=0}u=gh(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=Ji(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=kb[f[k>>2]&127](v,h,w,2)|0;do if(!g){g=jh(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)){$g(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=Kg(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=Lg(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=Mg(j)|0;C=50;break}else{r=Ng(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)Th(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=Ji(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=Ji(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=Lg(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=Mg(g)|0;C=66;break}else{e=Ng(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=Tu(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=kb[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=Lg(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=Mg(g)|0;break}else{e=Ng(g)|0;break}}while(0);g=f[w>>2]|0;if(g)if(!(d[g+28>>1]&32)){$g(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=zh(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=Ru(h|0,i|0,u|0,n|0)|0;ba()|0;e=kb[f[j>>2]&127](v,e+1|0,w,0)|0;if(!e)e=lb[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)){$g(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=Nu(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=ib[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=jb[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=jb[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=ib[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=zh(x,0,0)|0;C=111}if((C|0)==111?z|0:0){e=z;break}e=Fg(f[y>>2]|0,0)|0;e=(e|0)==0?101:e}while(0);if(D|0){Eg(f[E>>2]|0,0)|0;Fg(f[E>>2]|0,0)|0}E=(e|0)==3082?7:e;f[F>>2]=E;F=E;t=G;return F|0}function Hj(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]}Sh(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)zg(b,0)}else zg(b,c);Gi(f[a>>2]|0);if(f[a>>2]|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](a);break}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);break}}while(0);Gi(d);d=c;return d|0}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,q=0,r=0,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[36052]|0;b[G+1>>0]=b[36053]|0;b[G+2>>0]=b[36054]|0}else Cc(J,36052,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;$u((f[L>>2]|0)+g|0,c|0,a|0)|0}}else Cc(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=(zt(c)|0)&1073741823;if(a>>>0>=100){Cc(J,c,a);break}if(!a)break;f[M>>2]=a;$u(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=Jj(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;$u((f[L>>2]|0)+e|0,c|0,a|0)|0}}else Cc(J,c,a);c=c+a|0;if(!k)break a;do if((b[c>>0]|0)==63)if((k|0)>1){Nd(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(($t(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;of(J,32662,B);break}if(e&8|0){p[C>>3]=+p[a>>3];of(J,32397,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;of(J,36056,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;Ze(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)?(Pi(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;of(J,36056,F);if((d[q>>1]&9216)==0&(f[v>>2]|0)==0)break;df(z);break}if(e&16384|0){f[D>>2]=f[a>>2];of(J,36063,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 Cc(J,36076,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];of(J,36079,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{Cc(J,36084,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{Cc(J,31267,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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{J=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Jj(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[8096+(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[8096+(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[8352+(((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[8480+g>>0]|0)){i=8896+(j[8624+(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[9520+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[9664+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 Kj(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]=33820;yc(21,33775,e);f[g>>2]=31157;f[g+4>>2]=155123;f[g+8>>2]=31184;yc(21,31132,g);c=35880;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=Gc(c,1)|0}if(c|0)break a}while(0);c=f[a+64>>2]|0;switch(c|0){case 516:{c=35490;break a}case 100:{c=35468;break a}case 101:{c=35445;break a}default:{c=c&255;if(c>>>0>=29){c=35431;break a}if(!(520028155>>>c&1)){c=35431;break a}c=f[7968+(c<<2)>>2]|0;break a}}}else c=35544}else c=35544;while(0);t=i;return c|0}function Lj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{i=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Mj(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){Cc(a,b,c);return}if(!c)return;f[d>>2]=g;$u((f[a+4>>2]|0)+e|0,b|0,c|0)|0;return}function Nj(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=hi(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=Oj(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;Pj(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;Pj(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 Oj(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=Qj((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=Qj(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 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,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=Yu(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=Yu(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=Zu(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[7920+((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(!(_e(36682,a,32231,91)|0)){r=h[c>>0]|h[c+1>>0]<<8|4;b[c>>0]=r;b[c+1>>0]=r>>8}else{if(_e(36693,a,32231,91)|0){if(_e(36703,a,32231,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;Nd(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=Zu(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=Yu(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=Yu(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[7920+((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 Qj(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=55580;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=55580;e=14;break}}if((e|0)==14){k=d+8|0;k=f[k>>2]|0;return k|0}return 0}function Rj(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]=33143;f[e+4>>2]=122737;f[e+8>>2]=31184;yc(11,31132,e);c=11;break}f[g>>2]=(c|0)==0?36715:c;c=Gg(k,36717,g)|0;if((d|0)!=0?(b[d>>0]|0)!=0:0){f[h>>2]=c;f[h+4>>2]=d;c=Gg(k,36773,h)|0}f[f[m>>2]>>2]=c;f[i>>2]=33143;f[i+4>>2]=122744;f[i+8>>2]=31184;yc(11,31132,i);c=11;break}a:do if(!d)c=0;else{h=(zt(d)|0)+1|0;b:do if(!k){k=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;l=28;break}c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){k=f[14051]|0;i=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){c=0;break a}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(k,h,0)|0;l=28}while(0);if((l|0)==28)if(!c){c=0;break}$u(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 Sj(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;pb[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]=33143;f[g+4>>2]=69212;f[g+8>>2]=31184;yc(11,31132,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=oh(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=jb[f[28780>>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=ah(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]=33143;f[s+4>>2]=69249;f[s+8>>2]=31184;yc(11,31132,s);c=11}}if((m|0)==22){m=0;c=rj(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)){$g(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]=33143;f[r+4>>2]=69229;f[r+8>>2]=31184;yc(11,31132,r);c=11}else if((m|0)==30){t=u;return c|0}s=c;t=u;return s|0}function Tj(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=Uj(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=Vj(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{fi((f[e>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[d>>2]|0))}if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{j=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{j=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Wj(a,g)|0;if(b|0){j=b;t=i;return j|0}j=f[g>>2]|0;f[a+20>>2]=j;j=Xj(a,j,a+32|0)|0;t=i;return j|0}function Uj(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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}else d=c}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){y=f[14051]|0;x=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}x=Uu(C|0,D|0,h|0,g|0)|0;ba()|0;g=Ou(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=Yu(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else d=d+1|0}l=Nu(g|0,e|0,h|0,j|0)|0;l=Nu(l|0,ba()|0,p|0,k|0)|0;l=Nu(l|0,ba()|0,d|0,0)|0;d=ba()|0;m=f[r>>2]|0;m=Nu(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=Yi(z,p,k)|0;if((d|0)>0){E=24;break}else break}else{d=Yu(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;$u(y+h|0,z+(d-k)|0,j|0)|0;h=j+h|0;if((h|0)==(w|0)){l=Nu(g|0,e|0,w|0,s|0)|0;m=ba()|0;h=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[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;$u(y+h|0,k+(p-j)|0,d|0)|0;h=d+h|0;if((h|0)==(w|0)){n=Nu(g|0,e|0,w|0,s|0)|0;o=ba()|0;h=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[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=pj(f[A>>2]|0,B)|0;if(d){j=d;break}}if((E|0)==35)j=0;d=a+56|0;if(c){D=Nu(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=Nu(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=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,h-i|0,E,c)|0}else c=0;D=Nu(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[7160]|0)){nb[f[28688>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}else{E=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}return 0}function Vj(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[7225]|0;if(g|0?hb[g&127](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=Uu(d|0,e|0,i|0,c|0)|0;ba()|0;h=b+36|0;g=f[h>>2]|0;if(!g){n=Nu(i|0,c|0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](i)|0;break}g=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;a=55352;c=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&c>>>0>0){n=f[14051]|0;m=Ou(c|0,a|0,g|0,((g|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Nu(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=Ou(k|0,e|0,m|0,n|0)|0;ba()|0;j=f[j>>2]|0;n=lb[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 Wj(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=(Rh(e+g|0,c)|0)&255;c=a;h=Nu(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=Uu(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;ba()|0;if((d|0)!=0&(e-d|0)>8){h=(Rh((f[a+36>>2]|0)+d|0,c)|0)&255;c=a;h=Nu(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=Xj(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){Rh(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 Xj(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=Nu(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=Uu(h|0,g|0,d|0,e|0)|0;ba()|0;do if(!j){i=a+8|0;i=Ou(f[i>>2]|0,f[i+4>>2]|0,h|0,g|0)|0;n=ba()|0;o=f[a+24>>2]|0;d=lb[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=Nu(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=Lc(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);$u(d|0,(f[a+36>>2]|0)+j|0,i|0)|0;n=a;n=Nu(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=Xj(a,g,l)|0;if(e|0)break;$u((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 Yj(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[7225]|0;if(c|0?hb[c&127](202)|0:0){i=3338;t=j;return i|0}g=f[a>>2]|0;e=f[g+4>>2]|0;d=Nu(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[7160]|0)){a=hb[f[28684>>2]&127](e)|0;if(!a){a=7;break}else c=a}else{a=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){k=f[14051]|0;d=Ou(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=k>>>0)&1}c=hb[f[28684>>2]&127](a)|0;if(!c){a=7;break}a=hb[f[28696>>2]&127](c)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0>(f[14060]|0)>>>0)f[14060]=a}bv(c|0,0,e|0)|0;a=lb[f[g+24>>2]&127](g,0,c,4126,i)|0;if(a|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{jb[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 Zj(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{Rh(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{Rh(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=Kt(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)){fj(k,i,g,l);f[c>>2]=1}i=jj(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 _j(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)){fj(f[(f[a+8>>2]|0)+28>>2]|0,g,e,h);f[b>>2]=1}return jj(d,c,h,0)|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;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[36781+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)){fj(l,i,g,k);f[c>>2]=1}r=jj(e,d,k,1)|0;return r|0}function ak(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]=33143;f[k+4>>2]=69484;f[k+8>>2]=31184;yc(11,31132,k);f[g>>2]=11;t=q;return}i=fk(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{av(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 bk(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=Lg(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=Mg(i)|0;w=16;break}else{m=Ng(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]=33143;f[o+4>>2]=64547;f[o+8>>2]=31184;yc(11,31132,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=gk(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=hk(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;$u(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;av(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?(pb[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;Mh(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{$u(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 ck(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=Lg(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=Mg(c)|0;_=14;break}else{g=Ng(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=Jh(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];$u(Z+Y|0,aa+Y|0,(f[c+36>>2]|0)-Y|0)|0;$u(Z+$|0,aa+g|0,(j[da+22>>1]<<1)+(j[da+18>>1]|0)|0)|0;b[k>>0]=0;g=Nh(k)|0;if(g|0){f[ea>>2]=g;break}if(!(b[c+17>>0]|0))g=0;else{g=Lh(k)|0;f[ea>>2]=g}}while(0);if(b[l+17>>0]|0){Mh(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)){$g(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}}$u(k+26|0,da+26|0,h[ca>>0]<<1|0)|0;$u(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;bv(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]=126;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]=127;g=173}else{b[g>>0]=1;g=171}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]=172;d[da+14>>1]=d[m+24>>1]|0;g=m+26|0;_=38;break}default:{f[Sa>>2]=33143;f[Sa+4>>2]=64757;f[Sa+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(c)|0;_=52;break}else{g=Ng(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=Jh(u,ma,La,0,0)|0;f[xa>>2]=g;if(!g){p=f[da+36>>2]|0;f[Ma>>2]=p;q=ib[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;bv(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]=126;l=f[s>>2]|0;b[r+2>>0]=1;b[r+3>>0]=1;i=r+80|0;f[i>>2]=171;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=dk(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?(Mh(u,f[La>>2]|0,5,f[Aa>>2]|0,xa),(q&65535)>(j[k>>1]|0)):0)do if(!(f[xa>>2]|0)){pb[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;Mh(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))bk(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)){$g(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]=33143;f[Xa+4>>2]=69985;f[Xa+8>>2]=31184;yc(11,31132,Xa);g=11}while(0);break}l=f[(f[la>>2]|0)+32>>2]|0;if((f[13883]|0)>=(l|0)?(Na=f[13889]|0,(Na|0)!=0):0){f[13889]=f[Na>>2];$=f[13890]|0;f[13890]=$+-1;f[13891]=($|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=l;c=(f[14052]|0)+1|0;f[14052]=c;if(c>>>0>(f[14056]|0)>>>0){f[14056]=c;$=Na}else $=Na}else _=90;do if((_|0)==90){$=Nu(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;_=ba()|0;if(!(_>>>0>0|(_|0)==0&$>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](l)|0;if(!c){$=0;break}}else{c=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){$=f[14051]|0;_=Ou(g|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;Z=ba()|0;f[13840]=((Z|0)<0|(Z|0)==0&_>>>0<=$>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){$=0;break}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=g}g=hb[f[28696>>2]&127](c)|0;if((f[14059]|0)>>>0>>0)f[14059]=l;g=(f[14053]|0)+g|0;f[14053]=g;if(g>>>0>(f[14057]|0)>>>0){f[14057]=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;_=_i(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];_=(ib[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=(ib[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}$u($+o|0,i|0,m|0)|0;f[l>>2]=$+(n-(f[V>>2]|0))}ak(aa,p-(h[z>>0]|0)|0,m,ma)}i=xa+(q<<2)|0;_=_i(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]=33143;f[_a+4>>2]=70326;f[_a+8>>2]=31184;yc(11,31132,_a);f[ma>>2]=11;bv(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](i)|0;f[va>>2]=i;if(!i)break}else{l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){U=f[14051]|0;T=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;S=ba()|0;f[13840]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){_=141;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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;bv(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;$u(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]=33143;f[Ta+4>>2]=70391;f[Ta+8>>2]=31184;yc(11,31132,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+((ib[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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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]=33143;f[Ua+4>>2]=70500;f[Ua+8>>2]=31184;yc(11,31132,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]=33143;f[Va+4>>2]=70533;f[Va+8>>2]=31184;yc(11,31132,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)){ek(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)){ek(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)){ek(ja,l)|0;k=f[Ca>>2]|0}o=l;while(1){l=n+-1|0;if(!(d[k+(l<<1)>>1]|0))ek(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]=33143;f[Wa+4>>2]=70575;f[Wa+8>>2]=31184;yc(11,31132,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=Jh(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;bv(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]=126;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]=127;i=173}else{b[i>>0]=1;i=171}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]=172;d[s+14>>1]=d[l+24>>1]|0;i=l+26|0;_=289;break}default:{f[Ya>>2]=33143;f[Ya+4>>2]=64757;f[Ya+8>>2]=31184;yc(11,31132,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}Mh(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=Lg(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=Mg(i)|0;break}else{k=Ng(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]=33143;f[Za+4>>2]=70649;f[Za+8>>2]=31184;yc(11,31132,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;qb[f[28788>>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;qb[f[28788>>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)Mh(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=ek(ja,q)|0;if((k&65535)>(j[i+16>>1]|0))do if(!(f[ma>>2]|0)){pb[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;Mh(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=(ib[f[P>>2]&255](aa,i)|0)&65535}while(0);bk(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{pb[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=Yu(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=Yi(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);k=i+4|0;l=0;i=m}bk(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)fk(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;fk(L,n-v&65535,l&65535)|0}while(0);z=f[B>>2]|0;av(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)fk(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;fk(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;av(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=ek(ja,q)|0;p=o&65535;if((b[u>>0]|0)==0?(b[v>>0]|0)==0:0)_=432;else{o=gk(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}av(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;av(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=ek(ja,s)|0;o=l&65535;if((b[n+1>>0]|0)==0?(b[n+2>>0]|0)==0:0)_=445;else{l=gk(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}av(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=ek(ja,m)|0;l=k&65535;if((b[r>>0]|0)==0?(b[s>>0]|0)==0:0)_=457;else{k=gk(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}av(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=ib[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=dk(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=hk(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];$u(W+V|0,Y+V|0,(f[i+36>>2]|0)-V|0)|0;$u(W+X|0,Y+g|0,(j[l+22>>1]<<1)+(j[l+18>>1]|0)|0)|0;b[aa>>0]=0;g=Nh(aa)|0;if(g|0){f[ma>>2]=g;break}if(!(b[i+17>>0]|0))g=f[ma>>2]|0;else{g=Lh(aa)|0;f[ma>>2]=g}if(g|0)break;aa=rj(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;Mh(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=rj(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){bv(xa|0,0,(c<<2)+4|0)|0;c=0}g=f[va>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{aa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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)){$g(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[e>>2]=f[13889];f[13889]=e;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;e=$;break a}else{c=hb[f[28696>>2]&127](e)|0;break}else c=hb[f[28696>>2]&127](e)|0;while(0);f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=$;break}else{aa=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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[13886]|0)>>>0>c>>>0)c=hb[f[28696>>2]&127](e)|0;else{if((f[13887]|0)>>>0<=c>>>0){c=hb[f[28696>>2]&127](e)|0;break}f[14052]=(f[14052]|0)+-1;f[e>>2]=f[13889];f[13889]=e;_a=(f[13890]|0)+1|0;f[13890]=_a;f[13891]=(_a|0)<(f[13885]|0)&1;t=$a;return g|0}while(0);f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](e);t=$a;return g|0}else{_a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-_a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=$a;return g|0}return 0}function dk(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);$u(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;$u(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]=33143;f[u+4>>2]=69695;f[u+8>>2]=31184;yc(11,31132,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 ek(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;c=ib[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 fk(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]=33143;f[r+4>>2]=64637;f[r+8>>2]=31184;yc(11,31132,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]=33143;f[s+4>>2]=64642;f[s+8>>2]=31184;yc(11,31132,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]=33143;f[u+4>>2]=64654;f[u+8>>2]=31184;yc(11,31132,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]=33143;f[v+4>>2]=64657;f[v+8>>2]=31184;yc(11,31132,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]=33143;f[x+4>>2]=64670;f[x+8>>2]=31184;yc(11,31132,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]=33143;f[A+4>>2]=64676;f[A+8>>2]=31184;yc(11,31132,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]=33143;f[D+4>>2]=64684;f[D+8>>2]=31184;yc(11,31132,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;bv(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 gk(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]=33143;f[o+4>>2]=64476;f[o+8>>2]=31184;yc(11,31132,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]=33143;f[p+4>>2]=64499;f[p+8>>2]=31184;yc(11,31132,p);f[g>>2]=11;d=0;t=q;return d|0}function hk(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]=33143;f[i+4>>2]=64372;f[i+8>>2]=31184;yc(11,31132,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;av(E+(m+l)|0,E+l|0,o-l|0)|0;l=m+c|0}c=l+e|0;av(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=(ib[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];$u(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;$u(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]=33143;f[y+4>>2]=64406;f[y+8>>2]=31184;yc(11,31132,y);G=11;t=H;return G|0}else if((B|0)==21){f[z>>2]=33143;f[z+4>>2]=64412;f[z+8>>2]=31184;yc(11,31132,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;bv(E+C|0,0,e|0)|0;G=0;t=H;return G|0}else{f[G>>2]=33143;f[G+4>>2]=64432;f[G+8>>2]=31184;yc(11,31132,G);G=11;t=H;return G|0}return 0}function ik(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]=33143;f[i+4>>2]=71188;f[i+8>>2]=31184;yc(11,31132,i);q=11;t=r;return q|0}a=kk(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=kb[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=kk(k,a+4|0,c,m,e)|0;i=e}else{f[q>>2]=33143;f[q+4>>2]=71207;f[q+8>>2]=31184;yc(11,31132,q);a=11}e=f[l>>2]|0;do if(e|0)if(!(d[e+28>>1]&32)){$g(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 jk(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=cj(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[7160]|0)){k=hb[f[28684>>2]&127](n)|0;o=26;break}m=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[14051]|0;l=Ou(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}m=hb[f[28684>>2]&127](m)|0;if(!m){s=7;t=u;return s|0}k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;fj(f[s>>2]|0,e,c,m);if(!(d[q>>1]|0)){f[r>>2]=33143;f[r+4>>2]=63743;f[r+8>>2]=31184;yc(11,31132,r);l=11}else l=cj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);s=l;t=u;return s|0}else{s=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);s=l;t=u;return s|0}return 0}function kk(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=Lg(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=Mg(e)|0;n=14;break}else{m=Ng(e)|0;n=14;break}}while(0);if((n|0)==14?m|0:0){n=m;return n|0}bv(l|0,0,h-i|0)|0;n=0;return n|0}else{if((j|0)<(h|0)){i=kk(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(!(Kt(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=Lg(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=Mg(j)|0;n=27;break}else{i=Ng(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);$u(c|0,i|0,l|0)|0;n=0;return n|0}return 0}function lk(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[k+4>>2]=68561;f[k+8>>2]=31184;yc(11,31132,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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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)){$g(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=dj(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]=33143;f[w+4>>2]=67897;f[w+8>>2]=31184;yc(11,31132,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=_i(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=_i(C,D,x,a,h[k>>0]|0)|0;if(c|0){z=c;n=44;break}}if((n|0)==27){f[A>>2]=33143;f[A+4>>2]=67897;f[A+8>>2]=31184;yc(11,31132,A);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}return 0}function mk(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){Rh(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]=33143;f[o+4>>2]=80289;f[o+8>>2]=31184;yc(11,31132,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=Kt(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=jj(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 nk(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=jj(a,c,d,0)|0;return d|0}default:{d=jj(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=jj(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 ok(a,b,c){a=a|0;b=b|0;c=c|0;return jj(a,b,c,0)|0}function pk(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=Lg(c)|0;if(!e){e=Ah(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=Bh(a,1)|0,e|0):0)break;e=Ch(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}pb[f[28784>>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]=74;c=e;return c|0}function qk(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;Nh(c)|0;return}function rk(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=ib[c&255](f[e+400>>2]|0,d)|0;else a=jb[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 sk(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 tk(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=hf(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;gf(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),(Kt(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 uk(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;bv(p+4|0,0,268)|0;n=p+196|0;b[n>>0]=1;f[p>>2]=a;f[p+128>>2]=1;if((((($f(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;tg(a,1,m?0:31564,j);if(!m){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);l=1;break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)dg(j)|0;i=f[j>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{o=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(a,e);break}n=e+32|0;o=(f[n>>2]|0)+-1|0;f[n>>2]=o;if(!o)fg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[p+68>>2]|0;if(e|0)hg(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{Bi(a);a=7;t=q;return a|0}}f[a+64>>2]=21;zg(a,21);f[e>>2]=31157;f[e+4>>2]=134300;f[e+8>>2]=31184;yc(21,31132,e);a=21;t=q;return a|0}function vk(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?mi(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?mi(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?mi(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?mi(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?mi(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?mi(a,c)|0:0){a=2;return a|0}a=0;return a|0}function wk(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=ib[d&255](a,c)|0;a:do if(!d){b:while(1){if(vk(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?wk(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?mi(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)ob[d&127](a,c);c=f[c+52>>2]|0;if(!c){d=0;c=23;break}d=ib[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 xk(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(yk(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(Kk(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(!(Ak(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;li(D,40066,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;li(D,40188,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;Lk(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;li(D,40066,E);H=1;t=G;return H|0}function yk(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=yk(f[a+12>>2]|0,c)|0;break a}case -95:break;default:{a=0;break a}}if(!(yk(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 zk(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=Ek(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=Bc(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=((zt(l)|0)&1073741823)+1|0;else h=0;if(n){g=(g&16384|0)==0?((g&8192|0)==0?48:28):12;$u(q|0,c|0,g|0)|0;if(g>>>0<48)bv(q+g|0,0,48-g|0)|0}else $u(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;$u(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=Gk(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}else{d=Fk(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=zk(a,g,0,0)|0;f[q+12>>2]=g}g=f[c+16>>2]|0;if(!g)g=0;else g=zk(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=((zt(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=zk(a,g,1,r)|0;f[q+12>>2]=g;g=f[c+16>>2]|0;if(!g)g=0;else g=zk(a,g,1,r)|0;f[q+16>>2]=g;g=f[o>>2]|0}if(g&16777216|0){a=Hk(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 Ak(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;Ck(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[7160]|0)){i=hb[f[28684>>2]&127](40)|0;p=32;break}i=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;l=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){n=0;l=0;m=0;k=1;break a}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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(bf(k,(r|0)>1?r:1,1)|0)break;r=k+16|0;bv((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(ef(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;Gc(k,1)|0}while(0);n=(lf(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))df(q);i=f[q+32>>2]|0;do if(i){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{r=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(!k){if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))df(l);i=f[l+32>>2]|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{r=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ak(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?(Ak(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(!(Dk(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(!(wt(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?Ak(a,f[c+12>>2]|0,f[e+12>>2]|0,g)|0:0){g=2;t=s;return g|0}if(Ak(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(Ak(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 Bk(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)?Nd(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=Bc(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{$u(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 Tl(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=ql(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){li(a,41825,l);t=Ea;return}r=Fl(k,c)|0;if((r|0)<0){f[m>>2]=c;li(a,41842,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=aj(f[v>>2]|0,0,v,wa,0,542)|0;if(k|0){li(a,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Ca=(f[13890]|0)+1|0;f[13890]=Ca;f[13891]=(Ca|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=26;break}else{k=hb[f[28696>>2]&127](l)|0;za=26}while(0);do if((za|0)==26){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Ca=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Ca;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[s>>2]=0}Ca=gh(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=nl(Da,c)|0;if(!Ca){t=Ea;return}if(!i)Ba=nl(Da,g)|0;else{f[w>>2]=g;Ba=Gg(Da,46093,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=mb[x&127](f[k+316>>2]|0,19,Ca,Ba,la,f[a+236>>2]|0)|0;if((k|0)==1){li(a,40490,z);f[a+12>>2]=23;za=2130;break}if((k|2|0)==2)if(!k){za=52;break}else{za=2130;break}else{li(a,40505,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=Tm(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=jb[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;li(a,31564,A);l=f[B>>2]|0;if(!l)break b;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break b}else{Aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break b}}}Ki(Aa,1);if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze(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=rl(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;sl(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 rl(Aa,81,1,1,0)|0;k=f[B>>2]|0;if(!k){za=2130;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](k);za=2130;break a}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[6064+(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[6064+(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=6064+(v<<4)|0;m=b[6064+(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=oi(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=oi(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[6064+(v<<4)+7>>0]|0;m=E&255;E=E<<24>>24==0;Ki(Aa,E?1:m);if(E){if(b[(f[Aa>>2]|0)+81>>0]|0)break;Ze(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;break}c=Aa+100|0;k=0;l=h[6064+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze((f[c>>2]|0)+(k*40|0)|0,f[9808+(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[6064+(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=ul(Aa,9,22752)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+124>>2]=-2e3;break e}f[wa>>2]=0;Nd(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=aj(f[s>>2]|0,0,s,wa,0,542)|0;if(m|0){li(g,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=132;break}else{l=hb[f[28696>>2]&127](m)|0;za=132}while(0);do if((za|0)==132){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{za=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);za=gh(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 rl(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[7193]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=Tu(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=Ru(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[m&127](c,k);break e}case 28:{k=f[ca+(r<<4)+4>>2]|0;if(Ba|0){f[wa>>2]=0;Nd(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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Aa=(f[13890]|0)+1|0;f[13890]=Aa;f[13891]=(Aa|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=203;break}else{k=hb[f[28696>>2]&127](l)|0;za=203}while(0);do if((za|0)==203){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Aa=gh(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=46097;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=(Fd(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=aj(f[X>>2]|0,0,X,wa,0,542)|0;if(k|0){li(c,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=285;break}else{k=hb[f[28696>>2]&127](l)|0;za=285}while(0);do if((za|0)==285){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=gh(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{rl(Aa,167,r,n,0)|0;m=l;break}}else{f[wa>>2]=0;if(Ba){Nd(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{rl(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{rl(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=46102;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=46112;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=rl(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;sl(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,46102,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{rl(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=rl(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;sl(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,46112,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{rl(Aa,81,1,1,0)|0;break e}}}case 20:{n:do if(Ba){m=(zt(Ba)|0)&1073741823;if(m){c=Ba;o=36094;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=36101;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=36109;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=36113;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=36122;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=36129;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{rl(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{rl(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){Um(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(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=46119;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=46124;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=46129;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;Nd(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=ul(Aa,5,22800)|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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 16:{if(!((Ba|0)!=0?(ya=(Nd(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(g,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=517;break}else{k=hb[f[28696>>2]&127](l)|0;za=517}while(0);do if((za|0)==517){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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 rl(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=rl(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 rl(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 rl(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 rl(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=55600;f[k+8>>2]=l;break e}case 4:{if(Ba|0){f[wa>>2]=0;Nd(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[7193]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=Tu(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=Ru(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 5:{if(Ba|0){f[wa>>2]=1;do if(!(Nd(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=Tu(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=Ru(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=(Fd(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=Tu(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=Ru(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,l,-14);l=o;break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);l=o;break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=38555;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=36122;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;$h(n);f[(f[c>>2]|0)+20>>2]=0;Th(l);break z}while(0);li(a,46141,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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;za=2130;break a}}case 36:{if(!Ba){l=f[13842]|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=rl(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;sl(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{rl(Aa,81,1,1,0)|0;break e}}do if(b[Ba>>0]|0){Aa=f[Da>>2]|0;Aa=(kb[f[Aa+32>>2]&127](Aa,Ba,1,wa)|0)!=0;if(Aa|(f[wa>>2]|0)==0){li(a,46203,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;$h(m);f[(f[l>>2]|0)+20>>2]=0;Th(k);break C}while(0);li(a,46141,J)}while(0);k=f[13842]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Aa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);if(!(b[Ba>>0]|0)){f[13842]=0;za=2130;break a}else{f[L>>2]=Ba;za=ud(31564,L)|0;f[13842]=za;za=2130;break a}}case 33:{if(Ba|0){k=Da+79|0;if(!(b[k>>0]|0)){li(a,46228,I);za=2130;break a}if(aa){za=2130;break a}Aa=(Fd(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 2:{if(Ba|0){l=6064+(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(!((Fd(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 rl(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[6064+(v<<4)+7>>0]|0;c=za&255;za=za<<24>>24==0;Ki(Aa,za?1:c);if(za)if(!(b[(f[Aa>>2]|0)+81>>0]|0)){Ze(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[6064+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze((f[m>>2]|0)+(k*40|0)|0,f[9808+(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=6064+(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;za=2130;break a}}case 34:{if(!Ba)break e;s=ni(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=932;break}else{k=hb[f[28696>>2]&127](l)|0;za=932}while(0);do if((za|0)==932){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=gh(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);ii(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=6064+(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?46281:46288;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=56244;else m=c+(zt(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;Vm(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?46281:46288;p=f[r>>2]|0;if(!(n&4))c=56244;else c=p+(zt(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;Vm(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=Oj(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=6064+(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=990;break}else{k=hb[f[28696>>2]&127](l)|0;za=990}while(0);do if((za|0)==990){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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;Vm(Aa,1,46296,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 rl(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;Vm(Aa,1,46296,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;Vm(Aa,4,46301,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 rl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}break}case 18:{if(!Ba)break e;r=hi(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1038;break}else{k=hb[f[28696>>2]&127](l)|0;za=1038}while(0);do if((za|0)==1038){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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[29700+(((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;Vm(Aa,1,46306,_);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=56244;f[T>>2]=c;f[T+4>>2]=l;f[T+8>>2]=k;Vm(Aa,1,46312,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;Vm(Aa,1,46316,K);k=f[k>>2]|0;if(!k)break;else l=l+1|0}break}case 14:{if(!Ba)break e;r=hi(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1084;break}else{k=hb[f[28696>>2]&127](l)|0;za=1084}while(0);do if((za|0)==1084){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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=46358;break}case 9:{k=46346;break}case 10:{k=46338;break}case 7:{k=46329;break}default:k=46319}switch(b[r>>0]|0){case 8:{l=46358;break}case 9:{l=46346;break}case 10:{l=46338;break}case 7:{l=46329;break}default:l=46319}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]=46376;Vm(Aa,1,46367,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=ni(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=aj(f[r>>2]|0,0,r,wa,0,542)|0;if(m|0){li(n,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=1136;break}else{l=hb[f[28696>>2]&127](m)|0;za=1136}while(0);do if((za|0)==1136){za=0;f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);sa=gh(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);lm(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;tl(a,0,s,x,109)}else tl(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=rl(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;sl(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=hi(Da,f[o+8>>2]|0,la)|0;Q:do if(m|0){f[va>>2]=0;lm(a,s,f[m+28>>2]|0,0,f[m>>2]|0);if(Wm(a,m,o,va,0)|0)break O;n=f[va>>2]|0;if(!n){tl(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 rl(Aa,109,l,m,s)|0;c=f[ta>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{sa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=hi(Da,f[g>>2]|0,la)|0;f[va>>2]=0;f[ua>>2]=0;s=(m|0)!=0;if(s)Wm(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;ym(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 rl(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 rl(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{rl(Aa,11,0,r,0)|0;break}}else{q=zm(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=rl(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);sl(Aa,n,q,p)}else{if((p|0)==-12)break;og(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=rl(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{rl(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{rl(Aa,73,0,K,0)|0;break}while(0);f[ma>>2]=f[g>>2];f[ma+4>>2]=i+-1;Vm(Aa,A,46381,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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=55600;f[l+8>>2]=m}while(0)}while((k|0)!=0)}while(0);break e}case 6:{if(!Ba)break e;l=(Fd(Ba,1,0)|0)<<24>>24!=0;Aa=l?46385:32240;Xm(Da,32244,2,1,Aa,158,0,0,0,0,0)|0;Xm(Da,32244,3,1,Aa,158,0,0,0,0,0)|0;Xm(Da,32235,2,1,32231,158,0,0,0,0,0)|0;Aa=Pk(Da,32235,2,1,0)|0;k=Aa+4|0;if(Aa|0)f[k>>2]=f[k>>2]|12;Aa=Pk(Da,32244,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){Nd(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 rl(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(c,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;na=(f[13890]|0)+1|0;f[13890]=na;f[13891]=(na|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1314;break}else{k=hb[f[28696>>2]&127](l)|0;za=1314}while(0);do if((za|0)==1314){za=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{na=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);na=gh(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=Bc(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=rl(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{sl(Aa,l+(k*20|0)|0,o,-15);break}}else{do if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(Aa,50,2,0,0)|0;f[qa>>2]=f[(f[ya>>2]|0)+(C<<4)>>2];n=Gg(Da,46389,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{na=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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 rl(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=55600;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);Ym(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 rl(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 rl(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 rl(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=rl(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 rl(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;ym(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=rl(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=Gg(Da,46413,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{na=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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=55600;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=Gk(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{na=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{na=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,f[i+4+(m*20|0)>>2]|0,s,0)}while((na|0)>2);Am(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=Gg(Da,46433,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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);hg(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 rl(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=55600;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=Jc(g,o,s,0)|0;if(p|0){o=p;break}if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=vm(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 rl(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=rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(c*20|0)|0,46463,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 rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(c*20|0)|0,46468,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 rl(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=rl(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;sl(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 rl(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 rl(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=rl(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 rl(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=55600;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=Jc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{na=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=rl(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 rl(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=55600;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=rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(n*20|0)|0,46489,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 rl(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=55600;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 rl(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=55600;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=rl(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;sl(Aa,(f[P>>2]|0)+(m*20|0)|0,46516,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 rl(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=rl(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=rl(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;sl(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 rl(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 rl(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 rl(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 rl(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=55600;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=ul(Aa,7,22832)|0;if(k|0){f[k+8>>2]=1-(f[va>>2]|0);b[k+41>>0]=-1;f[k+56>>2]=46545;b[k+101>>0]=-1;f[k+116>>2]=35722}if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=f[Aa+88>>2]|0;else k=55600;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=oi(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=oi(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[22864+((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=rl(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;sl(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{rl(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=46548;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=46624;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=22872;break}k=46630;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=22880;break}k=46639;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=46648;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=46656;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=46664;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=46671;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;else break ha}else k=22864;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;li(a,46553,$);break e}case 0:{k=f[6064+(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=ul(Aa,2,46578)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+28>>2]=k;f[wa>>2]=0;Nd(Ba,wa)|0;f[Aa+32>>2]=f[wa>>2];break e}while(0);Aa=ul(Aa,3,46586)|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=rl(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;sl(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 rl(Aa,81,1,1,0)|0}while((m|0)!=6);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=46124;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=46598;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=36113;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 rl(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{rl(Aa,81,1,3,0)|0;break e}}case 38:{if(!Ba)k=f[Da+236>>2]|0;else{f[wa>>2]=0;Nd(Ba,wa)|0;za=f[wa>>2]|0;ya=(za|0)>0;k=ya?77:0;f[Da+236>>2]=k;f[Da+240>>2]=ya?za:0}if((k|0)==77){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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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{nb[f[28800>>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;Nd(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;tl(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{rl(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=Gg(Da,46606,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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{wa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{wa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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{rl(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{rl(Aa,159,0,0,0)|0;break e}}case 32:{if((Ba|0?(Um(Ba,wa)|0)==0:0)?(G=wa,F=f[G>>2]|0,G=f[G+4>>2]|0,!((G|0)<0|(Kc()|0)!=0)):0){za=55352;f[za>>2]=F;f[za+4>>2]=G;f[13840]=((F|0)!=0|(G|0)!=0)&((G|0)<0|(G|0)==0&F>>>0<=(f[14051]|0)>>>0)&1}m=(Kc()|0)==0;n=55352;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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(Aa,81,1,1,0)|0;break e}case 37:{if(Ba|0?(a=(Um(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(Aa,81,1,1,0)|0;za=2130;break a}default:{if(!Ba)k=f[Da+448>>2]|0;else{f[wa>>2]=0;Nd(Ba,wa)|0;k=f[wa>>2]|0;l=Da+396|0;if((k|0)>0){f[l>>2]=90;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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,m,-14);m=o;break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=o;break}else{ya=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Ca);break}else{Aa=hb[f[28696>>2]&127](Ca)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Ca);break}while(0);if(!Ba){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](Ba);t=Ea;return}else{Da=hb[f[28696>>2]&127](Ba)|0;f[14051]=(f[14051]|0)-Da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Ba);t=Ea;return}} -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;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;li(a,47084,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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Jc(q,k,p,0)|0;if(!m){if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{ua=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;bv(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;un(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;Im(a,0,47112,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=Bc(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=zk(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=Bc(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}hl(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;li(a,33384,G);r=0}while(0);do if((na|0)==98){if(!q){r=1;o=0;break}gg(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=Bc(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;hl(m);n=f[(f[a>>2]|0)+120>>2]|0;if((n|0)>=(f[m+24>>2]|0))break;f[E>>2]=n;li(a,33384,E)}while(0);do if((na|0)==118){na=0;gg(m,n);if(r){m=0;break}gg(m,o);m=0}while(0);vn(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;li(a,47130,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;wn(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){xm(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]=142;f[r>>2]=133;if(m){mi(xa,m)|0;if(!(b[p>>0]|0))break}xm(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=yn(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=yn(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=Xk(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=yn(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=yn(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=yn(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=yn(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=Zu(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=An(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=Zu(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=zn(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=Bn(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}yc(28,47166,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);o=k;break}else{o=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Y=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(H,k);k=f[Y>>2]|0;na=315;break y}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);na=313;break}else{na=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{X=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-X;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}Cn(g,0);if(b[va>>0]|0){na=714;break}if(f[W>>2]|0){Cn(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=Dn(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=Dn(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)){av(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)){av(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=rl(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){sl(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){lm(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}tl(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=Yu(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{sl(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 rl(la,o,k,m,v)|0;m=f[ya>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{fa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=aj(f[s>>2]|0,0,s,xa,0,542)|0;if(m|0){li(o,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;fa=(f[13890]|0)+1|0;f[13890]=fa;f[13891]=(fa|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](m)|0;na=484;break}else{k=hb[f[28696>>2]&127](m)|0;na=484}while(0);do if((na|0)==484){na=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{fa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);fa=gh(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=rl(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]=132;f[Y>>2]=133;f[Z>>2]=ma;mi(xa,o)|0;if(!(b[W>>0]|0))break;ma=f[a>>2]|0;k=il(ma,k,zk(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(!(En(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=Zu(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;yc(284,47201,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=Bc(s,r,0)|0}if(!p)break G;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{ma=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(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=Nu(p|0,o|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&ma>>>0>2147483390)break J;if(!(f[7160]|0)){m=hb[f[28684>>2]&127](p)|0;na=575;break}m=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){ma=f[14051]|0;l=Ou(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;la=ba()|0;f[13840]=((la|0)<0|(la|0)==0&l>>>0<=ma>>>0)&1}n=hb[f[28684>>2]&127](m)|0;if(!n)break J;m=hb[f[28696>>2]&127](n)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0){K=n;break}f[14060]=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=Bc(r,p,o)|0;na=575}while(0);if((na|0)==575){na=0;if(!m)break;else K=m}bv(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]=47227;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(!(En(s,b[(f[(f[L>>2]|0)+4>>2]|0)+(r<<4)+13>>0]|0)|0)){o=u;break}ma=(r|0)>63;o=Zu(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=Xk(a,p)|0;na=593;break L}while(0);o=Xk(a,o)|0;if(o|0){na=594;break}o=Xk(a,p)|0;na=593}else{o=Xk(a,o)|0;na=593}while(0);if((na|0)==593){na=0;if(!o)o=33704;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=Zu(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]=33704;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]=33704;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]=33704;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 rl(S,112,m,D,0)|0;m=f[ya>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ma=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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=rl(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=Jc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{ma=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(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=vm(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 rl(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{rl(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=55600;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=55600;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{rl(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=55600;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=55600;f[m+8>>2]=n}while(0);if(k|0)gg(f[a>>2]|0,k);if(b[va>>0]|0){na=714;break h}}Fn(a,c,T,wa);f[ta+(V*80|0)+32>>2]=f[aa>>2];U=Gn(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);k=b[Aa>>0]|0}n=n+1|0}while(n>>>0<(k&255)>>>0)}while(0);sn(ua);m=g+60|0;k=f[m>>2]|0;if(k|0)do{f[m>>2]=f[k+52>>2];tn(Ba,k);k=f[m>>2]|0}while((k|0)!=0);if(Ba|0){if(f[Ba+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}return 0}function rn(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 rl(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=rl(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{rl(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 rl(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=55600;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=55600;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=rl(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{rl(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=55600;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 rl(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[13902]=g;e=55600}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{rl(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=rl(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{rl(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{rl(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{rl(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{rl(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=55600;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=55600;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=55600;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[7160]|0)){nb[f[28688>>2]&127](c);break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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);sn(a+80|0);e=a+60|0;c=f[e>>2]|0;if(c|0)do{f[e>>2]=f[c+52>>2];tn(I,c);c=f[e>>2]|0}while((c|0)!=0);if(I|0){if(f[I+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{J=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function sn(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){gg(q,m);c=d[e>>1]|0}c=c&65535;do if(!(c&16)){if(c&32|0?(n=f[h+28>>2]|0,sn(n),n|0):0){if(!p){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{e=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}}else{c=f[h+28>>2]|0;sn(c);if(c|0){if(!p){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{q=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function tn(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,e);e=f[i>>2]|0;h=35;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);h=33;break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{h=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function un(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;un(a,f[e+12>>2]|0,d);c=f[e+16>>2]|0;if(!c)break a}vn(a,c,0)|0;return}while(0);b[h>>0]=d;return}function vn(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=Bc(l,i,0)|0;p=14}if((p|0)==14?(f[n>>2]=h,h|0):0){$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=hb[f[28696>>2]&127](g)|0;f[m>>2]=(g>>>0)/48|0;m=f[o>>2]|0;break}if(!((c|0)==0|(e&1)==0))gg(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=Zu(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=Yu(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=Yu(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[7920+((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 wn(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=Dn(ma,g)|0;D=ba()|0}x=b[ya>>0]|0;v=x&255;a:do switch(x<<24>>24){case 49:{if(Fm(sa,ya)|0){t=Aa;return}g=ya+20|0;if(f[ya+4>>2]&2048|0){k=Nn(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=Dn(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=Dn(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=Dn(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=Zu(1,0,g|0)|0;m=ba()|0}else{l=0;m=0}while(0);g=l|n;k=m|p;n=Nu(l|0,m|0,-1,-1)|0;p=ba()|0;qa=Yu(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{li(sa,47580,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=Nu(C|0,D|0,-1,-1)|0,(U&C|0)==0&((ba()|0)&D|0)==0):0)?Xn(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=Nu(k|0,l|0,-1,-1)|0;if(!((U&k|0)==0&((ba()|0)&l|0)==0)){g=y;break}if(!(Xn(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=zk(na,ya,0,0)|0;do if(!(b[ca>>0]|0)){g=vn(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=Wk(i)|0;l=s+16|0;k=f[l>>2]|0;U=Wk(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=Xk(sa,k)|0;ia=87;break g}while(0);i=Xk(sa,i)|0;if(i|0){ia=88;break}i=Xk(sa,k)|0;ia=87}else{i=Xk(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)==77?(f[i+8>>2]|0)==0:0)break;k=f[l>>2]|0;i=Xk(sa,f[m>>2]|0)|0;if(!i)i=f[(f[sa>>2]|0)+8>>2]|0;k=Xk(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;gg(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(!(Xk(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=zk(na,g,0,0)|0;g=f[n+4>>2]|0;if(!g)l=0;else l=zk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[u>>2]=i;li(sa,33384,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)gg(g,m);if(!l)g=0;else{gg(g,l);g=0}}ia=vn(c,g,3)|0;wn(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=zk(na,g,0,0)|0;g=f[n+24>>2]|0;if(!g)l=0;else l=zk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[z>>2]=i;li(sa,33384,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)gg(g,m);if(!l)g=0;else{gg(g,l);g=0}}U=vn(c,g,3)|0;wn(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[7160]|0)){g=hb[f[28684>>2]&127](416)|0;ia=168;break}g=hb[f[28700>>2]&127](416)|0;if((f[14058]|0)>>>0<416)f[14058]=416;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[14051]|0;M=Ou(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;L=ba()|0;f[13840]=((L|0)<0|(L|0)==0&M>>>0<=ia>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){k=hb[f[28696>>2]&127](g)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(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;bv(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;un(g,R,43);k=f[L>>2]|0;if((k|0)>0)do{J=k;k=k+-1|0;wn(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=Bc(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;bv(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;un(l,f[A>>2]|0,44);n=f[q>>2]|0;if((n|0)>0)do{x=n;n=n+-1|0;wn(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=Zu(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=Zu(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=Zu(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;Zn(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=Zu(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=Wk(f[N+16>>2]|0)|0;if(!(L<<24>>24==0|L<<24>>24==(Wk(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=Zu(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=Wk(f[S+16>>2]|0)|0;if(!(N<<24>>24==0|N<<24>>24==(Wk(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=zk(P,g,0,0)|0;g=kl(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=zk(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=Bc(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}hl(i);g=f[(f[Q>>2]|0)+120>>2]|0;if((g|0)<(f[i+24>>2]|0)){f[U>>2]=g;li(Q,33384,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=vn(c,i,3)|0;wn(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)gg(f[Q>>2]|0,l);if(m|0)hg(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=Pk(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[7160]|0)){i=hb[f[28684>>2]&127](40)|0;ia=329;break}i=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Y=f[14051]|0;X=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;W=ba()|0;f[13840]=((W|0)<0|(W|0)==0&X>>>0<=Y>>>0)&1}l=hb[f[28684>>2]&127](i)|0;if(!l){i=0;m=0;n=0;break y}i=hb[f[28696>>2]&127](l)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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(bf(l,(_|0)>1?_:1,1)|0)break A;bv((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(ef(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=Gc(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=(zt(i)|0)&1073741823;f[ka+4>>2]=r;r=Bk(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((Wk(x)|0)<<24>>24!=66)break;if(!(f[(f[x+44>>2]|0)+56>>2]|0))break B}while(0);gg(z,r);if(!s)break w;if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))df(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break w}else{ea=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}vl(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=55600;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))df(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{$=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=zk(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=(zt(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?33704:47621;m=(s|0)==0;if(m)i=0;else i=zk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Bk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[da>>2]=i;li(sa,33384,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)gg(g,i);if(p){g=0;break}gg(g,r);g=0}while(0);n=vn(c,g,259)|0;wn(a,c,n);if(m)i=0;else i=zk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Bk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[ea>>2]=i;li(sa,33384,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)gg(g,i);if(!u){g=0;break}gg(g,u);g=0}while(0);i=vn(c,g,259)|0;wn(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=38430;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=32235;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=32244;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=47628;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[22976+(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=lb[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=Dn(ma,l)|0;u=ba()|0}r=k;if(!k){p=0;q=0}else{p=Dn(ma,r)|0;q=ba()|0}if((p&s|0)==0&(q&u|0)==0){if(o)p=0;else p=zk(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=Bc(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}hl(g);l=f[(f[sa>>2]|0)+120>>2]|0;if((l|0)<(f[g+24>>2]|0)){f[oa>>2]=l;li(sa,33384,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{gg(f[sa>>2]|0,p);g=0}la=vn(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=Bc(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;hl(l);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[ta>>2]=k;li(sa,33384,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=zk(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=Bc(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;hl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[ua>>2]=k;li(sa,33384,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=zk(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=il(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=Bc(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}hl(i);ia=634;break N}while(0);if(l|0)gg(i,l);if(!m){i=0;break}gg(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;li(sa,33384,va)}oa=i+4|0;f[oa>>2]=f[oa>>2]|f[ra>>2]&1;d[i+36>>1]=d[q>>1]|0}wn(a,c,vn(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=vn(c,ya,2)|0;g=k+1|0;f[(f[xa>>2]|0)+(wa*48|0)+24>>2]=g;wn(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 xn(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 yn(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(Ak(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(!(En(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=Xk(k,j)|0;E=51;break}g=Xk(k,i)|0;if(!g){g=Xk(k,j)|0;E=51}}else{g=Xk(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 zn(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=Nu(n|0,0,-1,-1)|0;D=ba()|0;if(!(D>>>0>0|(D|0)==0&F>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](n)|0;E=38;break}k=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){F=f[14051]|0;D=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&D>>>0<=F>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,n,0)|0;E=38}while(0);if((E|0)==38)if(!k)E=39;else F=k;if((E|0)==39){li(K,35544,p);K=7;t=L;return K|0}bv(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=Bc(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;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{C=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);K=7;t=L;return K|0}else{K=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);K=7;t=L;return K|0}}while(0);l=Wn(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=Wn(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=Wn(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=Wn(a,c,e,c,e,0,F,g,I)|0;k=(f[I>>2]|0)==0?1:k}if(!(k|l))l=Wn(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[7160]|0)){nb[f[28688>>2]&127](J);break}else{I=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);break}while(0);k=f[K>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);K=l;t=L;return K|0}else{K=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);K=l;t=L;return K|0}return 0}function An(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=Yu(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=Yu(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[7920+((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=22944+(43-n)|0;r=22944+(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?(En(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=Pn(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?(En(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=Pn(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?(Rn(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(!(Ak(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;Sn(aa,ia,y);g=Pn(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[7164]|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]=143;f[G>>2]=ga;if(i){mi(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[22944+(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[22944+(i-m)>>0]|0)+i&65535;break}else g=l;while(0);d[W>>1]=g}Sn(aa,ia,y);g=Pn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}while(0);f[X>>2]=0;g=Tn(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 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,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=An(ea,c,e)|0;else l=zn(ea,c,e,g,i)|0;if(!l)l=Bn(ea,c,e,g,i)|0;m=d[fa>>1]|0;if(!(m<<16>>16)){k=0;break c}if(n|0){$u(M|0,N|0,(m&65535)<<4|0)|0;n=0;k=m;break}d[ga>>1]=k;C=k&65535;$u(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[22944+(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[22944+(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[22944+(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[22944+(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=Pn(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 Cn(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=Bc(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)bv(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[22944+(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[22944+(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[22944+(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[22944+(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=On(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=Zu(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=Yu(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=Yu(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[7920+((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=Yu(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=Yu(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[7920+((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[22944+(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[22944+(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;$u(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}}}li(aa,47536,ca);if(la|0){if(f[la+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](ga);t=oa;return}else{pa=hb[f[28696>>2]&127](ga)|0;f[14051]=(f[14051]|0)-pa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(On(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=(On(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=(On(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ga);t=oa;return}else{pa=hb[f[28696>>2]&127](ga)|0;f[14051]=(f[14051]|0)-pa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ga);t=oa;return}}function Dn(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=Zu(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=Zu(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=Dn(a,d)|0;l=l|e;g=ba()|0|g}d=f[c+16>>2]|0;if(d|0){a=Dn(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=Nn(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=Dn(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 En(a,b){a=a|0;b=b|0;var c=0,d=0;d=Wk(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=Wk(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=Wk(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 Fn(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;$u(l|0,(i?47273:47280)|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];of(D,47298,n)}else{f[m>>2]=f[e+20>>2];of(D,47285,m)}e=f[c+8+(s*72|0)+12>>2]|0;if(e|0){f[p>>2]=e;of(D,47308,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=47400;else break;else if(!(q&131072))e=(q&16384|0)==0?((q&64|0)==0?47315:47324):47342;else e=47367;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[47412]|0;b[s+1>>0]=b[47413]|0;b[s+2>>0]=b[47414]|0;b[s+3>>0]=b[47415]|0;b[s+4>>0]=b[47416]|0;b[s+5>>0]=b[47417]|0;b[s+6>>0]=b[47418]|0}else Cc(D,47412,7);f[u>>2]=f[l>>2];of(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 Cc(D,47420,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=47423;break}case -1:{e=38544;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[47430]|0;b[u+1>>0]=b[47431]|0;b[u+2>>0]=b[47432]|0;b[u+3>>0]=b[47433]|0;b[u+4>>0]=b[47434]|0;break}else{Cc(D,47430,5);break}}while(0);f[v>>2]=e;of(D,l>>>0>>0?47436:47444,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{Mn(D,p,j[y+26>>1]|0,g,g,47449);i=1;e=f[w>>2]|0}if(e&16|0)Mn(D,p,j[y+28>>1]|0,g,i,47451);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{Cc(D,33721,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;of(D,47507,o);break}if(!(q&5))e=(g|0)==48?47453:(q&32|0)==0?47451:47449;else e=47467;f[r>>2]=e;of(D,47469,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=Ac(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{E=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);t=F;return}t=F;return} -function ir(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=jr(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=ud(51097,i)|0;if(!i){h=7;Z=236;break}h=Ii(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(i|0,((i|0)<0)<<31>>31|0,c|0,p|0)|0;m=((e|0)<0)<<31>>31;i=Nu(i|0,ba()|0,e|0,m|0)|0;i=Zu(i|0,ba()|0,10)|0;j=ba()|0;do if(!(Jp(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{$e(k,i,j);break}}while(0);j=f[o>>2]|0;j=Tu(j|0,((j|0)<0)<<31>>31|0,c|0,p|0)|0;j=Nu(j|0,ba()|0,e|0,m|0)|0;j=Zu(j|0,ba()|0,10)|0;i=ba()|0;j=j|1023;do if(!(Jp(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{$e(k,j,i);break}}while(0);if((Ci(n)|0)==100){k=Ep(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)Fi(i,n);h=dg(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{Bi(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=Tu(q|0,n|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Nu(s|0,ba()|0,p|0,m|0)|0;s=Zu(s|0,ba()|0,10)|0;j=((r|0)<0)<<31>>31;s=Nu(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=ud(51163,x)|0;if(!i){h=7;Z=236;break a}h=Ii(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(q|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Nu(k|0,ba()|0,p|0,m|0)|0;k=Zu(k|0,ba()|0,10)|0;j=Nu(k|0,ba()|0,r|0,j|0)|0;k=ba()|0}else{j=s;k=u}m=l;do if(!(Jp(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{$e(h,j,k);break}}while(0);if((Ci(m)|0)==100)j=Dp(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)Fi(h,m);i=dg(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{Bi(h);h=7;Z=236;break a}}while(0);if((j|0)>15){h=ir(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=kr(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=lr(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(Kc()|0){h=7;Z=236;break a}if(!(f[7160]|0)){h=hb[f[28684>>2]&127](64)|0;if(!h){h=7;Z=236;break a}else l=h}else{h=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){y=f[14051]|0;x=Ou(i|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}i=hb[f[28684>>2]&127](h)|0;if(!i){h=7;Z=236;break a}h=hb[f[28696>>2]&127](i)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0){f[14060]=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=Dd(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=ud(51228,O)|0;if(!i){Z=81;break}h=Ii(f[M>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}i=f[S>>2]|0;f[I>>2]=i;if(!h)h=i;else{Z=223;break}}j=h;if((Ci(j)|0)==100){w=Ep(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)Fi(h,j);i=dg(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=Yu(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=Yu(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=Yu(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=Nu(u|0,h|0,1,0)|0;r=ba()|0;f[s>>2]=p;f[s+4>>2]=r;h=mr(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=nr(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=Yu(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=Yu(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=Nu(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(Kc()|0){k=i;h=7;break}h=Lc(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=Yu(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=Yu(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;$u((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=Yu(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;$u((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(Kc()|0){k=i;h=7;break}h=Lc(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;$u(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){Bi(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=ud(51296,P)|0;if(!k){Z=136;break e}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{Z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(m,h,l);break}}while(0);m=p+24|0;l=f[m>>2]|0;m=f[m+4>>2]|0;if(Jp(o,2)|0){Ci(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 $e(h,l,m);Ci(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)Fi(k,o);h=dg(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){Bi(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=ud(51355,Q)|0;if(!k){h=7;Z=222;break d}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{R=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(o|0,((o|0)<0)<<31>>31|0,c|0,m|0)|0;n=((e|0)<0)<<31>>31;o=Nu(o|0,ba()|0,e|0,n|0)|0;o=Zu(o|0,ba()|0,10)|0;p=ba()|0;do if(!(Jp(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{$e(q,o,p);break}}while(0);k=f[k>>2]|0;m=Tu(k|0,((k|0)<0)<<31>>31|0,c|0,m|0)|0;m=Nu(m|0,ba()|0,e|0,n|0)|0;m=Zu(m|0,ba()|0,10)|0;k=ba()|0;m=m|1023;if(!(Jp(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{$e(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=ud(51410,R)|0;if(!k){h=7;Z=222;break d}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{R=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(k|0,((k|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;k=Nu(k|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;k=Zu(k|0,ba()|0,10)|0;k=Nu(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;if(!(Jp(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{$e(n,k,m);break}}}while(0);Ci(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)Fi(h,l);k=dg(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){Bi(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=or(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=Nu(B|0,C|0,1,0)|0;e=ba()|0;h=k;f[h>>2]=c;f[h+4>>2]=e;h=mr(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=Yu(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=Yu(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=mr(a,m,n,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;m=Nu(m|0,n|0,1,0)|0;n=ba()|0;o=(f[k+12>>2]|0)+1|0;r=Nu(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=Yu(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=Yu(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=Nu(v|0,u|0,-1,-1)|0;e=ba()|0;S=A;h=i+56|0;h=or(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=pr(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[k+36>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);qr(f[k>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](j);Z=236;break}else{Z=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](_);break}else{a=hb[f[28696>>2]&127](_)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](_);break}while(0);do if((b[l+5>>0]|0)==0?($=f[l+40>>2]|0,$|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127]($);break}else{a=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127]($);break}while(0);m=f[l+52>>2]|0;do if(m|0){n=f[m+20>>2]|0;Di(f[m+16>>2]|0)|0;if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);j=h;break}else{$=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}else{aa=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}return 0}function jr(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(Kc()|0){r=0;o=p;n=7;q=0;break b}n=Lc(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)?(Kt(f[r+12>>2]|0,h,i)|0)==0:0){if((n|0)==(s|0)){q=n+16|0;o=q<<2;if(Kc()|0){r=0;o=p;n=7;q=0;break b}r=Lc(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{ku(o,n,4,150);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=ib[(b[r>>0]<<24>>24==1?148:149)&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?78:79,n=f[u+(s<<3)+4>>2]|0,(o|0)!=0&(n|0)!=0):0){while(1){o=o+-1|0;if(!(kb[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=Dd(o)|0;if(!q){r=q;o=p;n=7;q=0}else{bv(q|0,0,o|0)|0;f[q>>2]=2147483647;r=q+96|0;f[q+56>>2]=r;$u(r|0,p|0,n|0)|0;r=q;o=p;n=0}}do if(w?o|0:0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Kc()|0)==0?(z=Lc(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[7160]|0)){nb[f[28688>>2]&127](x);break}else{I=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](y);break}else{I=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](y);break}while(0);n=f[r+52>>2]|0;do if(n|0){o=f[n+20>>2]|0;Di(f[n+16>>2]|0)|0;if(o|0){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{I=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if(!q){n=7;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);n=7;break a}else{n=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51824,A)|0;if(!p){n=7;break}n=Ii(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](p);else{I=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;q=((e|0)<0)<<31>>31;r=Nu(r|0,ba()|0,e|0,q|0)|0;r=Zu(r|0,ba()|0,10)|0;s=ba()|0;do if(!(Jp(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{$e(u,r,s);break}}while(0);r=f[n>>2]|0;r=Tu(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;r=Nu(r|0,ba()|0,e|0,q|0)|0;r=Zu(r|0,ba()|0,10)|0;q=ba()|0;r=r|1023;if(!(Jp(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{$e(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=ud(51959,p)|0;if(!p){n=7;break}n=Ii(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](p);else{I=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}n=o;q=f[a+252>>2]|0;q=Tu(q|0,((q|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;q=Nu(q|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;q=Zu(q|0,ba()|0,10)|0;q=Nu(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;r=ba()|0;if(!(Jp(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{$e(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=Ci(C)|0;if((n|0)==100){while(1){z=Ep(C,1)|0;A=ba()|0;g=N;f[g>>2]=z;f[g+4>>2]=A;g=Ep(C,2)|0;A=ba()|0;z=K;f[z>>2]=g;f[z+4>>2]=A;z=Ep(C,3)|0;A=ba()|0;g=Bp(C,4)|0;if(D)q=jf(28920)|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;zg(n,25);n=28920}q=jf(n)|0;n=f[C>>2]|0;p=f[H>>2]|0;if((p|0)==3082|(b[n+81>>0]|0)!=0){Bi(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=yr(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=Dd(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=Nu(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;$u(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(Kc()|0)break;p=Lc(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=Ci(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[7160]|0)){nb[f[28688>>2]&127](L);break}else{N=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{N=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}while(0);n=f[y+52>>2]|0;do if(n|0){p=f[n+20>>2]|0;Di(f[n+16>>2]|0)|0;if(p|0){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{N=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](y);else{N=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(o,q);p=dg(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){Bi(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 kr(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=tr(a,j)|0;if(g|0){q=43;break b}}else{do{g=tr(a,j)|0;if(g|0){q=43;break b}if(!(f[k>>2]|0))break c;r=f[h>>2]|0;g=Kt(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{r=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Kt(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 lr(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?151:152;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=tr(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Kt(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(Kt(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(Kt(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;ur(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(Up(j,e+i|0,g,i,80)|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;Di(f[j+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{C=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(C&127|0,0,i|0)|0;e=Nu(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((ib[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;vr(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;vr(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=Ou(z|0,A|0,o|0,n|0)|0;j=ba()|0;y=Ou(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=Yu(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(Kc()|0){D=182;break a}j=Lc(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=Yu(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;$u((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=Yu(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=Zu(v&127|0,0,p|0)|0;m=Nu(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=Yu(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=Yu(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((ib[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(Kc()|0){d=Z;e=7;break}d=Lc(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;$u(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 mr(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=ud(51747,j)|0;if(!i){n=7;t=o;return n|0}j=Ii(f[a+12>>2]|0,i,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(j,c,e);break}}while(0);if((g|0)==0|(Jp(k,2)|0)!=0){Ci(k)|0;if(!i)i=0;else n=19}else{i=Ze((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,zg(m,i),m=f[k>>2]|0,(i|0)==3082|(b[m+81>>0]|0)!=0):0)Bi(m);Ci(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)Fi(i,k);j=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&j;break}}while(0);Jp(k,2)|0;n=i;t=o;return n|0}function nr(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=Yu(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=Yu(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=Dd(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=Yu(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=Yu(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;$u((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(Kc()|0){e=7;t=y;return e|0}g=Lc(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;$u(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=Dd(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=nr(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=nr(a,p,d,e)|0;g=f[p>>2]|0}f[c>>2]=g;e=h;t=y;return e|0}function or(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=ud(51689,s)|0;if(!r){y=7;t=z;return y|0}s=Ii(f[a+12>>2]|0,r,-1,129,0,u,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](r);else{a=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(r,c,e);break}}while(0);r=((g|0)<0)<<31>>31;do if(!(Jp(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{$e(s,g,r);break}}while(0);do if(!(Jp(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{$e(r,h,i);break}}while(0);do if(!(Jp(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{$e(r,j,k);break}}while(0);do if((n|0)==0&(o|0)==0){if(!(Jp(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{$e(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=ud(51737,w)|0;if(!r){y=7;t=z;return y|0}else{Np(v,5,r,-1,94,1)|0;break}}while(0);if((p|0)==0|(Jp(v,6)|0)!=0){Ci(v)|0;if(!u)r=0;else y=38}else{r=Ze((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,zg(x,r),x=f[v>>2]|0,(r|0)==3082|(b[x+81>>0]|0)!=0):0)Bi(x);Ci(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)Fi(r,v);s=dg(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){Bi(r);r=7;break}else{r=f[r+68>>2]&s;break}}while(0);Jp(v,6)|0;y=r;t=z;return y|0}function pr(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=ud(51453,k)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{A=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(k){e=k;t=B;return e|0}}n=Ru(c|0,e|0,1024,0)|0;n=Zu(n|0,ba()|0,10)|0;m=ba()|0;n=n|1023;s=Tu(g|0,h|0,3,0)|0;s=Ru(s|0,ba()|0,2,0)|0;u=ba()|0;A=i;k=Nu(c|0,e|0,1,0)|0;l=ba()|0;do if(!(Jp(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{$e(g,k,l);break}}while(0);do if(!(Jp(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{$e(k,n,m);break}}while(0);a:do if((Ci(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;zg(k,25);k=28920}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=Gc(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){Bi(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=Tu(g|0,h|0,10,0)|0;g=(l&255)+-48|0;g=Nu(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=Tu(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((Ci(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)Fi(i,A);k=dg(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}Bi(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=ud(51559,w)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{w=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51632,x)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,c,e);break}}while(0);c:do if((Ci(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(!(Jp(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{$e(i,h,0);break}}while(0);i=Dp(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Jp(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{$e(l,i,k);break}}while(0);i=Dp(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Jp(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 $e(l,i,k);Ci(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)Fi(i,m);k=dg(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 Ci(m)|0;if((Ci(A)|0)==100)h=h+1|0;else break c}}else{h=0;while(1){do if(!(Jp(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{$e(i,h,0);break}}while(0);i=Dp(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Jp(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{$e(l,i,k);break}}while(0);i=Dp(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Jp(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 $e(l,i,k);Ci(m)|0}else Ci(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)Fi(i,m);k=dg(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((Ci(A)|0)==100)h=h+1|0;else break c}}while(0);if((v|0)==113){Bi(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)Fi(i,A);e=dg(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}Bi(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)Fi(i,A);k=dg(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){Bi(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(Jp(l,1)|0){Ci(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 $e(i,c,e);Ci(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)Fi(i,l);k=dg(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){Bi(i);e=7;t=B;return e|0}else{e=f[i+68>>2]&k;t=B;return e|0}return 0}function qr(a){a=a|0;var b=0,c=0,d=0;if(!a)return;a=f[a+8>>2]|0;qr(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[c+28>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}}while((a|0)!=0);return}function rr(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 sr(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 tr(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{q=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(h)|0;if(!d){r=7;return r|0}$u(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{p=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(d|0,e|0,1,0)|0;d=ba()|0;n=g;f[n>>2]=p;f[n+4>>2]=d;d=wr(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=Up(g,d+e|0,h,e,80)|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;Di(f[l+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{m=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Zu(h|0,i|0,1)|0;g=ba()|0;j=c+64|0;h=f[j>>2]|0;if(Kc()|0){s=7;return s|0}g=Lc(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=Up(j,g+h|0,i,h,80)|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;Di(f[j+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[n>>2]=0;f[k>>2]=0}while(0);$u((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 ur(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=Zu(q&127|0,0,m|0)|0;k=Nu(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=Tu(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=Nu(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=Zu(r&127|0,0,k|0)|0;a=Nu(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=Tu(a|0,d|0,(n?1:-1)|0,(n?0:-1)|0)|0;n=ba()|0;r=g;n=Ou(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 vr(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}ur(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=Up(i,k,l,j,80)|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;Di(f[i+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Up(j,a+i|0,g,i,80)|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;Di(f[j+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(s&127|0,0,i|0)|0;a=Nu(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=Ou(0,0,a|0,g|0)|0;s=ba()|0;u=Nu((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 wr(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=ud(51806,j)|0;f[i>>2]=h;if(!h){e=7;t=l;return e|0}}h=Rp(f[a+12>>2]|0,f[a+16>>2]|0,h,51818,c,d,0,k)|0}else h=Wp(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=Dd(j+20|0)|0;do if(i){h=Up(f[k>>2]|0,i,j,0,80)|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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 xr(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=Kt(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 yr(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=Zu(y&127|0,0,k|0)|0;l=Nu(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=Nu(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=Zu(o|0,q|0,1)|0;r=ba()|0;if(Kc()|0){g=7;break a}o=Lc(k,q,r)|0;if(!o){g=7;break a}else k=o}else q=u;$u(k+e|0,s|0,p|0)|0;u=p+e|0;o=s+p|0;e=(u|0)>(d|0);p=Kt(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=Nu(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=wr(a,B,C,F,D)|0;if(!k)k=yr(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=wr(a,f[k>>2]|0,f[k+4>>2]|0,F,D)|0;if(!k)k=yr(a,c,d,f[F>>2]|0,f[D>>2]|0,i,j)|0;i=f[F>>2]|0;if(i)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{F=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);F=k;t=G;return F|0}function zr(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;Ze(f[a>>2]|0,52408,-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)?(wt(f[g>>2]|0,52099)|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=Dc(+p[c>>3])|0;ba()|0;ga=18;break a}if(!(g&18)){h=0;ga=18}else{h=Ec(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=52456;i=-1;h=15;ga=30;break}case 2:{m=52467;l=52456;i=-1;h=15;ga=36;break}default:{ka=52472;la=52467;ma=52456;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=Dc(+p[c>>3])|0;ba()|0;ga=24;break}if(!(g&18)){i=0;ga=24}else{i=Ec(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=Gc(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=Gc(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=Gc(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((Ze(f[a>>2]|0,56244,-1,1,0)|0)!=18){t=Aa;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=Aa;return}if(Or(a,ra)|0){t=Aa;return}ja=f[ra>>2]|0;U=ra+16|0;b:do if(!(f[U>>2]|0)){if((Ze(f[a>>2]|0,56244,0,1,0)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Er(c,sa,91,ta)|0;e=f[Y>>2]|0;do if(!c){c=e*24|0;g=Dd(c)|0;f[Z>>2]=g;if(!g){c=7;break}bv(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=Er(c,sa,92,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=Zu(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=Zu(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=Zu(1,0,s-G|0)|0;w=ba()|0;x=(r|h)&B;y=(o|S)&C;u=0;do{Ba=Yu(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(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;zg(c,25);c=28920;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){Bi(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=Bp(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=kb[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=ib[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=mb[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=Zu(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=Zu(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=kb[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=ib[f[o+24>>2]&255](f[sa>>2]|0,e)|0;if(!c)break;hb[f[o+16>>2]&127](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=mb[f[l>>2]&127](m,sa,ua,va,xa,ta)|0;if(c|0){ga=219;break}}if((ga|0)==217){ga=0;hb[f[o+16>>2]&127](m)|0;c=0}else if((ga|0)==219){ga=0;hb[f[o+16>>2]&127](m)|0;if((c|0)==101)c=1;else break}e=c-ha+(f[ta>>2]|0)|0;Ba=(e|0)>0;o=Yu(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=zt(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){n=v;m=1;c=7;l=o;i=q;break p}c=Lc(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}}$u(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=zt(A)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){n=v;m=1;c=7;l=o;i=q;break p}i=Lc(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}}$u(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=Zu(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=zt(m)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){c=7;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}$u(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=zt(ka)|0;m=l+h|0;if((m+1|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){c=7;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;break}else{k=c;g=i}}$u(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=zt(m)|0;e=c+h|0;if((e+1|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){c=7;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}$u(k+h|0,m|0,c|0)|0;c=k+e|0;b[c>>0]=0;if(!n){c=0;h=e;break}m=zt(la)|0;h=m+e|0;if((h+1|0)>=(g|0)){l=g+100+m|0;if(Kc()|0){c=7;h=e;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;h=e;break}c=i+e|0;k=i;g=l}$u(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=zt(l)|0;if((h+1+m|0)>=(g|0)){i=g+100+m|0;if(Kc()|0){c=7;ga=266;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}$u(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=zt(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){c=7;ga=266;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}$u(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;hb[f[D+16>>2]&127](C)|0}E=E+1|0;if(!(E>>>0>>0&(c|0)==0))break n;else r=g}if((ga|0)==194){hb[f[D+16>>2]&127](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;Di(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{Ba=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);f[g>>2]=0;if(!c){if((Ze(f[a>>2]|0,k,-1,1,94)|0)!=18)break;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(g,c,-1,1,0)|0}if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Ba=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{af(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]=50634;c=ud(52110,k)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Aa;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=Aa;return}else{Ba=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=Aa;return}}function Ar(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)?(wt(f[c>>2]|0,52099)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){if(Or(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((Ze(f[a>>2]|0,56244,0,1,0)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Er(c,E,91,F)|0;B=f[F+8>>2]|0;a:do if(!i){A=Dd(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;Er(k,E,93,N)|0;k=f[A>>2]|0;p=q;q=q+1|0;i=(k|0)==0;do if(i)c=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}c=Bp(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;zg(c,25);c=28920;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){Bi(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=kb[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=ib[f[k+24>>2]&255](f[E>>2]|0,i)|0,M|0):0){P=46;break}o=f[E>>2]|0;c=mb[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=mb[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;td(64,E,52395,L)|0;k=zt(E)|0;l=k+h|0;do if((l+1|0)>=(g|0)){i=g+100+k|0;if(Kc()|0){c=7;break}c=Lc(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;$u(e+h|0,E|0,k|0)|0;b[e+l>>0]=0;c=0;h=l}}hb[f[r>>2]&127](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){hb[f[k+16>>2]&127](f[E>>2]|0)|0;f[E>>2]=0;c=M;P=47}else if((P|0)==78)hb[f[r>>2]&127](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[7160]|0)){nb[f[28688>>2]&127](c);k=e;break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{S=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);f[c>>2]=0;if(!i){if((Ze(f[a>>2]|0,k,h+-1|0,1,94)|0)!=18)break;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=i&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0}if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{S=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);t=Q;return}f[g>>2]=50642;c=ud(52110,g)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Q;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=Q;return}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=Q;return}}function Br(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)?(wt(f[c>>2]|0,52099)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){g=f[h>>2]|0;e=g+12|0;c=sj(f[e>>2]|0,52251,0,0,0)|0;a:do if(!c){c=cs(g,1)|0;switch(c|0){case 0:case 101:{h=sj(f[e>>2]|0,52266,0,0,0)|0;c=(h|0)==0?c:h;break a}default:{sj(f[e>>2]|0,52279,0,0,0)|0;sj(f[e>>2]|0,52266,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;Di(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0;switch(c|0){case 0:{if((Ze(f[a>>2]|0,52296,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=i;return}case 101:{if((Ze(f[a>>2]|0,52312,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0;t=i;return}}}f[g>>2]=39185;c=ud(52110,g)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=i;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=i;return}else{j=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=i;return}}function Cr(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)?(wt(f[g>>2]|0,52099)|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=Gc(j,1)|0;else c=0}else c=0;while(0);_=f[S>>2]|0;N=(c|0)==0?52139: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))df(g);f[g+16>>2]=56244;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;Ze(f[a>>2]|0,32336,-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(!(wt(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{M=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Er(c,Y,94,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;Iq(Y,52143,o);c=f[Y>>2]|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);break a}while(0);e=(c<<3|4)+20|0;g=(zt(N)|0)+1|0;i=Dd(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{bv(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;$u(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=102;break}c=e+4|0;g=Dd(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=94}else{$u(g|0,e+20|0,f[c>>2]<<2|0)|0;M=g;i=94}}else{b[c>>0]=1;M=e+20|0;i=102}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=Gr(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){k=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(u&127|0,0,l|0)|0;c=Nu(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=Gr(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){l=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(u&127|0,0,j|0)|0;c=Nu(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=Yu(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=Zu(u&127|0,0,k|0)|0;e=Nu(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=Nu(e|0,0,o|0,p|0)|0;u=Vu(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=ud(52178,X)|0;if(!j){c=7;v=161;break}c=Ii(f[E>>2]|0,j,-1,129,0,Y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](j);else{v=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(c,k,l);break}}while(0);c=(e|0)==0;do if((Ci(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;zg(j,25);j=28920;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){Bi(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;zg(c,25);c=28920;j=o}k=jf(c)|0;c=f[j>>2]|0;j=f[n>>2]|0;if((j|0)==3082|(b[c+81>>0]|0)!=0){Bi(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=Zu(v&127|0,0,k|0)|0;c=Nu(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)Fi(c,o);e=dg(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{Bi(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)Fi(e,k);u=dg(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)Bi(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=Er(c,Y,91,T)|0;f[V>>2]=c;if(!c){u=Dd(f[H>>2]<<4)|0;g:do if(u){bv(u|0,0,f[H>>2]<<4|0)|0;c=f[O>>2]|0;f[Y>>2]=0;Er(c,Y,95,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=Jr(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=Zu(r&127|0,0,j|0)|0;c=Nu(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=Zu(aa&127|0,0,k|0)|0;j=Nu(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=Zu(aa&127|0,0,k|0)|0;j=Nu(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[7160]|0)){nb[f[28688>>2]&127](u);c=0;break}else{c=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Er(m,Y,91,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=Gr(I,Z)|0;if(c|0)break;c=f[Z>>2]|0;if(c|0){v=270;break}k=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(aa&127|0,0,l|0)|0;e=Nu(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=Er(m,Y,96,W)|0;f[V>>2]=c;Mr(S,V)|0;c=f[V>>2]|0;if(c|0)break e}f[Y>>2]=0;Er(m,Y,97,W)|0;c=0}}}while(0);if((v|0)==263){v=0;bv(e|0,0,c<<2|0)|0;Kr(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)Fi(j,e);aa=dg(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)Bi(j)}if(!L){Z=f[R>>2]|0;f[Z+8>>2]=1;aa=f[Z+4>>2]|0;$u(Z+16+(aa+2<<2)|0,Z+20|0,aa<<2|0)|0}if(!c){if((Ze(f[a>>2]|0,M,f[(f[R>>2]|0)+4>>2]<<2,0,i)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0}if(i|0)nb[i&127](g)}c=_+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{aa=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);f[c>>2]=0;t=$;return}f[i>>2]=50650;c=ud(52110,i)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=$;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=$;return}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=$;return}}function Dr(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 Er(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=Er(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=jb[c&127](a,f[b>>2]|0,d)|0;f[b>>2]=(f[b>>2]|0)+1;return d|0}function Fr(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function Gr(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=ud(51055,e)|0;if(!e){k=7;j=g;f[c>>2]=j;t=l;return k|0}a=Ii(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,0,0);break}}while(0);if((Ci(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;zg(e,25);e=28920}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){Bi(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)Fi(e,k);a=dg(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){Bi(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 Hr(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 Ir(a,b,c){a=a|0;b=b|0;c=c|0;f[c+(b<<4)>>2]=a;return 0}function Jr(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;Vr(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}Wr(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}Wr(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}Wr(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=Zu(p&127|0,0,j|0)|0;i=Nu(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=Ou(i|0,m|0,l|0,k|0)|0;Tu(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=Zu(I&127|0,0,n|0)|0;k=Nu(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=Tu(k|0,j|0,w|0,x|0)|0;i=Nu(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=Ou(i|0,m|0,l|0,k|0)|0;J=Tu(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}}ur(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 Kr(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}Kr(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 Lr(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=Dd((f[a>>2]|0)*12|0)|0;f[g+40>>2]=e;if(!e){h=16;break}bv(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}Vr(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)Fi(c,r);z=dg(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)Bi(c)}Wr(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)?(Mr(v,s)|0)!=0:0)){c=f[s>>2]|0;if(c|0)break b;if(b[i>>0]|0){c=0;break b}Xr(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)){Vr(v,d,s);do{Wr(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 Mr(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=Or(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=Ep(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=28920;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;zg(e,25);e=28920}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=Gc(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){Bi(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=kb[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=ib[f[h+24>>2]&255](f[z>>2]|0,g)|0,E|0):0){hb[f[h+16>>2]&127](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=mb[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(Kt(f[z>>2]|0,f[l>>2]|0,k)|0){i=0;break}Pr(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)hb[f[p>>2]&127](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=Qr(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=(Rr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{K=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Nr(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=Jr(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 Or(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=ud(52225,i)|0;if(!e){h=7;break}h=Ii(f[h+12>>2]|0,e,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,h,i);break}}while(0);b[k>>0]=0;if((Ci(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)Fi(g,e);h=dg(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{Bi(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=35490;break}case 100:{e=35468;break}case 101:{e=35445;break}default:{e=h&255;if(e>>>0<29?(520028155>>>e&1|0)!=0:0)e=f[7968+(e<<2)>>2]|0;else e=35431}}Ze(g,e,-1,1,0)|0;a=h;t=m;return a|0}function Pr(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=Ou(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=Qr(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=Qr(m,1,0)|0;if(j|0)break;j=Qr(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=Nu(g|0,h|0,2,0)|0;e=ba()|0;j=j+32|0;j=Ou(d|0,e|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=Qr(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 Qr(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((Kc()|0)==0?(i=Lc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[a>>2]=0;a=7;return a|0}}else{if(Kc()|0){a=7;return a|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](140)|0;if(!e){a=7;return a|0}}else{e=hb[f[28700>>2]&127](140)|0;if((f[14058]|0)>>>0<140)f[14058]=140;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[14051]|0;k=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=ba()|0;f[13840]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){a=7;return a|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Yu(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 Rr(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(Rr(a,f[j>>2]|0,d)|0?(k=c+16|0,Rr(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=Dd((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=Sr(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=Sr(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[7160]|0))nb[f[28688>>2]&127](i);else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{u=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Rr(a,f[c+12>>2]|0,d)|0;u=(Rr(a,f[c+16>>2]|0,d)|0|u|0)!=0;u=u&1;t=v;return u|0}case 2:{if(!(Rr(a,f[c+12>>2]|0,d)|0)){u=0;u=u&1;t=v;return u|0}u=(Rr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{o=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(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;$u(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;Tr(s,l-j|0,0,1,u,p)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==85){if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{w=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(i+8|0)|0;f[p>>2]=e;if(!e){do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);e=7;break}f[c>>2]=e;if(!(Tr(p,h,0,1,s,u)|0)){e=f[p>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{w=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Sr(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;Tr(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;Tr(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;$u(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[m>>2]=a;a=1}else{if(!a){Ur(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;$u(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;bv(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 Tr(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=Yu(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=Zu(z&127|0,0,o|0)|0;l=Nu(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=Nu(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=Zu(z&127|0,0,o|0)|0;l=Nu(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=Nu(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=Nu(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=Ou(2,0,o|0,l|0)|0;o=Nu(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=Yu(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=Zu(d&127|0,0,o|0)|0;l=Nu(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=Nu(w|0,x|0,-2,-1)|0;o=Nu(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=Zu(E&127|0,0,o|0)|0;l=Nu(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=Nu(z|0,y|0,-2,-1)|0;p=Nu(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 Ur(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=Yu(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;$u(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=Yu(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;$u(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=Yu(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=Zu(y&127|0,0,i|0)|0;e=Nu(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=Zu(y&127|0,0,j|0)|0;e=Nu(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=Ou(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=Yu(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=Nu(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=Zu(t&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;m=Nu(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=Zu(t&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;k=Nu(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=Zu(s&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;j=Nu(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=Zu(s&127|0,0,k|0)|0;j=Nu(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=Nu(t|0,l|0,-2,-1)|0;k=Nu(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 Vr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{l=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=_r(h,o+72+(g*24|0)|0,f[i>>2]|0,m,n)|0;if(e|0)break;e=$r(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;Vr(a,f[c+12>>2]|0,d);Vr(a,f[c+16>>2]|0,d);t=p;return}function Wr(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){Wr(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;Wr(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}Wr(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=Ou(f[k>>2]|0,f[k+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=Tu(E|0,ba()|0,g|0,h|0)|0;k=ba()|0;if((E|0)==0&(k|0)==0)break;if((k|0)<0)Wr(a,n,d);else Wr(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;bv(f[g>>2]|0,0,f[e>>2]|0)|0;Wr(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}bv(f[g>>2]|0,0,f[e>>2]|0)|0;Wr(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=Ou(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;e=Tu(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){Wr(a,i,d);break}else{Wr(a,h,d);Wr(a,i,d);break}else F=33;while(0);if((F|0)==33)Wr(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=Ou(e|0,g|0,h|0,i|0)|0,Tu(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))Wr(a,k,d);Wr(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=Ou(f[E>>2]|0,f[E+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=Tu(F|0,ba()|0,h|0,i|0)|0;E=ba()|0;if(!((E|0)>0|(E|0)==0&F>>>0>0))break;Wr(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{D=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ur(e,f[E>>2]|0,g,F,E+16|0,w,D);f[x>>2]=f[F>>2];e=0;break}Zr(u,E,D);e=0}else{b[C>>0]=0;s=E+64|0;do if((f[s>>2]|0)==1){e=Yr(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=Yr(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{Zr(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=Ou(i|0,j|0,g|0,h|0)|0,Tu(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=Ou(f[o>>2]|0,f[o+4>>2]|0,i|0,j|0)|0;Tu(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)){Zr(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=Yr(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=Ou(k|0,o|0,i|0,j|0)|0;n=Tu(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=Dd(g)|0;if(!n){F=112;break}$u(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=(Tr(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[7160]|0))nb[f[28688>>2]&127](n);else{o=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Xr(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);Xr(f[a+12>>2]|0);a=f[a+16>>2]|0}while((a|0)!=0);return}function Yr(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?151:152;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=vr(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=vr(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((ib[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(Kc()|0){h=7;C=45;break}i=Lc(j,(i|0)>0?i:0,0)|0;if(!i){h=7;C=45;break}f[r>>2]=i}$u(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))bv(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 Zr(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=Zu(p&127|0,0,i|0)|0;e=Nu(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=Ou(0,0,e|0,g|0)|0;p=ba()|0;p=Nu(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 _r(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=kr(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=lr(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=Dd(c+11|0)|0;f[u>>2]=b;f[o>>2]=c;if(!b)b=7;else{$u(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=as(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{c=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);b=f[g>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{i=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=as(h[p>>0]|0,j,f[u+64+(k<<2)>>2]|0,i,c,r,q)|0;c=(f[7160]|0)==0;if(b|0)break d;if(c)nb[f[28688>>2]&127](j);else{a=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j)}if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;bs(v);f[w>>2]=0;t=x;return u|0}if(c)nb[f[28688>>2]&127](i);else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}}while(0);c=0;do{g=f[u+(c<<2)>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{s=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);c=c+1|0}while((c|0)!=16);bs(v);f[w>>2]=0;t=x;return b|0}function $r(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{L=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);j=0;break}else{j=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(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=Zu(A&127|0,0,e|0)|0;j=Nu(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=Zu(A&127|0,0,e|0)|0;g=Nu(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=Ou(j|0,s|0,g|0,m|0)|0;q=Tu(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=Zu(r&127|0,0,o|0)|0;a=Nu(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=Ou(0,0,a|0,e|0)|0;q=ba()|0;j=Nu((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=Zu(N&127|0,0,o|0)|0;a=Nu(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=Ou(0,0,a|0,e|0)|0;q=ba()|0;g=Nu((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=Ou(j|0,s|0,w|0,v|0)|0;N=ba()|0;o=Ou(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=Yu(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(!(Tr(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=Zu(N&127|0,0,n|0)|0;e=Nu(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=Ou(0,0,e|0,a|0)|0;N=ba()|0;j=Nu((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=Zu(N&127|0,0,n|0)|0;e=Nu(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=Ou(0,0,e|0,a|0)|0;p=ba()|0;g=Nu((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[7160]|0)){nb[f[28688>>2]&127](l);j=0;break}else{j=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);j=0;break}else{j=0;k=F}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](K);else{N=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 as(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=Dd(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=Zu(v&127|0,0,l|0)|0;d=Nu(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=Zu(v&127|0,0,m|0)|0;k=Nu(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=Ou(d|0,r|0,k|0,q|0)|0;o=Tu(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=Ou(d|0,r|0,c|0,m|0)|0;p=ba()|0;o=Ou(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=Yu(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;$u(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=Zu(p&127|0,0,g|0)|0;m=Nu(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=Ou(0,0,m|0,l|0)|0;o=ba()|0;o=Nu((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=Ou(k|0,q|0,c|0,m|0)|0;p=ba()|0;o=Ou(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=Yu(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;$u(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=Zu(p&127|0,0,g|0)|0;m=Nu(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=Ou(0,0,m|0,l|0)|0;g=ba()|0;g=Nu((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=Ou(d|0,r|0,c|0,m|0)|0;p=ba()|0;g=Ou(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=Yu(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);Ur(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=Zu(p&127|0,0,c|0)|0;l=Nu(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=Ou(0,0,l|0,m|0)|0;o=ba()|0;o=Nu((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=Zu(p&127|0,0,c|0)|0;l=Nu(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=Ou(0,0,l|0,m|0)|0;g=ba()|0;g=Nu((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 bs(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{d=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{d=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);c=f[e+52>>2]|0;do if(c|0){d=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{k=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);f[j>>2]=0;f[a>>2]=0;f[c>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function cs(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=ud(52334,g)|0;if(!e){j=0;i=7;break}i=Ii(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,g,h);break}}while(0);k=a+252|0;g=f[k>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Jp(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{$e(i,g,h);break}}while(0);if((Ci(l)|0)==100){g=0;h=0;while(1){j=Dp(l,0)|0;a:do if(!g){i=0;while(1){if((i|0)>=(f[k>>2]|0)){g=0;break a}g=ir(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((Ci(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)Fi(e,l);g=dg(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){Bi(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;er(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;Di(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Ic(h,g);f[e>>2]=0;er(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;er(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[7160]|0)){nb[f[28688>>2]&127](g);f[e>>2]=0;er(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=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);f[e>>2]=0;er(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 ds(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=Jr(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 es(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=Jr(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 fs(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,ib=0,jb=0,kb=0,lb=0,mb=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,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;ob=Ib+240|0;if(Kc()|0){Hb=7;t=Ib;return Hb|0}if(!(f[7160]|0)){g=hb[f[28684>>2]&127](640)|0;if(!g){Hb=7;t=Ib;return Hb|0}else Gb=g}else{g=hb[f[28700>>2]&127](640)|0;if((f[14058]|0)>>>0<640)f[14058]=640;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){Gb=f[14051]|0;ib=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;gb=ba()|0;f[13840]=((gb|0)<0|(gb|0)==0&ib>>>0<=Gb>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(!i){Hb=7;t=Ib;return Hb|0}g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;Gb=i}else Gb=i}gb=Gb+568|0;ib=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=ud(51055,l)|0;if(!g){i=7;g=0;break}i=Ii(f[a+12>>2]|0,g,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{fb=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-fb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(g,1,0);break}}while(0);do if((Ci(o)|0)==100){if(!n)i=jf(28920)|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;zg(g,25);g=28920;i=o}l=jf(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){Bi(g);g=7}else g=f[g+68>>2]&i;f[k>>2]=g;i=l}l=Bp(o,0)|0;if(i){if((l|0)>0){if(Kc()|0){m=7;g=0;l=0;p=0;break}g=Lc(0,l,0)|0;if(!g){m=7;g=0;l=0;p=0;break}else k=l}else{g=0;k=0}$u(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)Fi(i,o);k=dg(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){Bi(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=ud(52524,sb)|0,(jb|0)!=0):0){Ii(f[Q>>2]|0,jb,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](jb);else{N=hb[f[28696>>2]&127](jb)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](jb)}i=f[Fb>>2]|0;f[db>>2]=i}c=i;do if(!(Jp(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{$e(m,P,0);break}}while(0);if((Ci(c)|0)==100){o=Ep(c,0)|0;e=ba()|0;u=Dp(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)Fi(i,c);m=dg(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{Bi(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=Zu(N&127|0,0,m|0)|0;i=Nu(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=Uu(o|0,e|0,v|0,w|0)|0,I=ba()|0,N=Uu(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}}bv(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=ud(51163,Db)|0;if(!i){s=0;L=116;break}l=Ii(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{L=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);Ci(c)|0;m=Dp(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)Fi(i,c);l=dg(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){Bi(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=Nu(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=ud(51097,pb)|0;if(!l){m=K;i=7;l=p;L=789;break c}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,2,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);l=Ru(c|0,q|0,1024,0)|0;l=Zu(l|0,ba()|0,10)|0;l=Nu(l|0,ba()|0,1024,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);if((Ci(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;zg(l,25);l=28920;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){Bi(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)Fi(i,r);l=dg(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){Bi(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=ib;D=C+56|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));i=J<<2;l=Dd(i)|0;f[ib>>2]=l;if(!l){m=K;i=7;l=p;L=789}else{bv(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=ud(51959,qb)|0;if(!l){m=K;i=7;l=p;L=789;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(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)&(Ci(B)|0)==100)){m=0;o=1;break d}i=Ep(B,1)|0;l=ba()|0;m=Ep(B,2)|0;o=ba()|0;e=Ep(B,3)|0;c=ba()|0;q=jf(28920)|0;r=Bp(B,4)|0;s=(f[ib>>2]|0)+(w<<2)|0;v=(i|0)==0&(l|0)==0?r+20|0:0;u=Dd(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=Nu(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;$u(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)&(Ci(B)|0)==100)){m=0;o=1;break d}c=Ep(B,1)|0;q=ba()|0;r=Ep(B,2)|0;s=ba()|0;u=Ep(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;zg(i,25);i=28920}e=jf(i)|0;i=f[B>>2]|0;l=f[A>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Bi(i);i=7}else i=f[i+68>>2]&l;f[A>>2]=i;i=Bp(B,4)|0;l=(f[ib>>2]|0)+(w<<2)|0;o=(c|0)==0&(q|0)==0?i+20|0:0;m=Dd(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=Nu(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;$u(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)Fi(i,B);l=dg(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){Bi(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=kr(a,ib,f[gb>>2]|0,f[Z>>2]|0)|0;if(i|0){m=K;l=p;L=789;break}i=lr(a,ib)|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=ud(52643,rb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);l=((A|0)<0)<<31>>31;do if(!(Jp(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{$e(m,A,l);break}}while(0);do if((Ci(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)Fi(i,E);l=dg(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){Bi(i);m=K;c=J;i=7;l=p;L=738;break e}else{i=f[i+68>>2]&l;break}}else{w=Ep(E,1)|0;x=ba()|0;u=Ep(E,2)|0;v=ba()|0;B=(i|0)==0;f:do if(B)i=28920;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;zg(i,25);i=28920}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=Gc(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){Bi(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=Tu(o|0,m|0,10,0)|0;o=(l&255)+-48|0;o=Nu(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=Tu(e|0,c|0,10,0)|0;e=(l&255)+-48|0;e=Nu(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=Tu(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=Ou(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=Bp(E,4)|0;if(B)q=jf(28920)|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;zg(i,25);i=28920;l=E}e=jf(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){Bi(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=ud(52750,tb)|0;if(!i){m=7;break}m=Ii(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{I=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,o,r);break}}while(0);e=(Ci(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)Fi(l,c);m=dg(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){Bi(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=wr(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=Zu(I&127|0,0,e|0)|0;i=Nu(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=gs(lb)|0;if((m|0)==0&(f[lb>>2]|0)!=0)do m=gs(lb)|0;while((m|0)==0&(f[lb>>2]|0)!=0);l=f[Xa>>2]|0;I=f[Ya>>2]|0;i=Kt(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0)}else i=1;l=f[Fb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0)}if(!((m|0)==0&(i|0)!=0))break;e=b[q>>0]|0;c=e<<24>>24;l=Ou(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=Nu(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=Nu(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(Kc()|0){m=7;break}i=Lc(i,(l|0)>0?l:0,0)|0;if(!i){m=7;break}f[m>>2]=l;f[o>>2]=i}$u(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=Zu(I&127|0,0,o|0)|0;i=Nu(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=gs(Fb)|0;l=(i|0)==0;if(l&(f[Fb>>2]|0)!=0)do{i=gs(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(Kc()|0){i=7;L=352;break}i=Lc(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;$u(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=wr(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(Kc()|0){i=7;break}i=Lc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[l>>2]=o;f[m>>2]=i}$u(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(i,E);l=dg(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){Bi(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=ud(52815,ub)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);l=f[T>>2]|0;m=((l|0)<0)<<31>>31;do if(!(Jp(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{$e(o,l,m);break}}while(0);if((Ci(c)|0)==100)o=Dp(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)Fi(i,c);l=dg(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{Bi(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=ud(51228,vb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(m)|0)==100){G=o<<4;G=Nu(G|0,((G|0)<0)<<31>>31|0,-1,-1)|0;L=ba()|0;I=Ep(m,0)|0;H=ba()|0;F=ta;f[F>>2]=I;f[F+4>>2]=H;H=Nu(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)Fi(i,m);l=dg(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{Bi(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=ua;i=mr(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Yu(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=Yu(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=Yu(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=mr(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=Yu(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=Yu(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=mr(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=Nu(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=Yu(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=Nu(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(Kc()|0){i=7;break}i=Lc(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=Yu(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(Kc()|0){i=7;break}i=Lc(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(Kc()|0){i=7;break}i=Lc(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=Yu(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=Yu(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;$u((f[q>>2]|0)+i|0,F+y|0,x|0)|0;f[z>>2]=(f[z>>2]|0)+x;$u(f[A>>2]|0,F|0,D|0)|0;f[C>>2]=D;i=0}while(0);m=la;m=Nu(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=Yu(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=Yu(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=Nu(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=Nu(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(Kc()|0){m=K;c=J;i=7;l=p;L=738;break i}i=Lc(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=hs(ia,ga,F,G,H,I)|0;if(i|0)break;i=lr(a,ib)|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[ib>>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=ud(51296,wb)|0;if(!l){L=490;break o}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,i,m);break}}while(0);e=o+24|0;m=f[e>>2]|0;e=f[e+4>>2]|0;if(Jp(q,2)|0){Ci(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 $e(i,m,e);Ci(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)Fi(i,q);l=dg(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=ud(52918,xb)|0;if(!l){L=514;break o}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);m=((e|0)<0)<<31>>31;if(Jp(o,2)|0){Ci(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 $e(i,e,m);Ci(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)Fi(i,o);l=dg(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=ud(52643,yb)|0;if(!l){i=7;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);v=((w|0)<0)<<31>>31;do if(!(Jp(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{$e(l,w,v);break}}while(0);if((Ci(c)|0)==100){if(!i)l=jf(28920)|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;zg(l,25);l=28920;m=c}l=jf(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){Bi(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=Bp(c,4)|0;r=Ep(c,1)|0;s=ba()|0;m=is(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)Fi(i,c);l=dg(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){Bi(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[ob>>2]=0;i=wr(a,l,m,Fb,ob)|0;do if(!i){i=is(f[Fb>>2]|0,f[ob>>2]|0,lb,q,u,mb)|0;if(i|0)break;i=mr(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{K=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51296,zb)|0;if(!o){i=7;break p}i=Ii(f[Q>>2]|0,o,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](o);else{K=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o)}o=f[Fb>>2]|0;f[Oa>>2]=o;if(!i)i=o;else break p}q=i;do if(!(Jp(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{$e(o,r,s);break}}while(0);e=Nu(l|0,m|0,-1,-1)|0;c=ba()|0;if(Jp(q,2)|0){Ci(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 $e(i,e,c);Ci(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)Fi(i,q);o=dg(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){Bi(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=ud(52973,Ab)|0;if(!l){i=7;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l)}l=f[Fb>>2]|0;f[Qa>>2]=l;if(!i)i=l;else break}c=i;do if(!(Jp(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{$e(l,e,m);break}}while(0);l=f[kb>>2]|0;m=f[Ra>>2]|0;do if(!((l|0)==0|(Jp(c,2)|0)!=0)){l=Ze((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;zg(m,l);m=f[c>>2]|0;if(!((l|0)==3082|(b[m+81>>0]|0)!=0))break;Bi(m)}while(0);do if(!(Jp(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{$e(l,N,M);break}}while(0);if(Jp(c,4)|0){Ci(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 $e(i,w,v);Ci(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)Fi(i,c);l=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&l;break}}while(0);Jp(c,2)|0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[lb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Bi(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;Bi(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=ud(53052,Bb)|0;if(!l){i=7;l=0;L=686;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);r:do if((Ci(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(Kc()|0){o=7;break r}m=Lc(e,(m|0)>0?m:0,0)|0;if(!m){o=7;break r}else{c=m;l=m;e=m}}K=Dp(r,0)|0;m=q+1|0;f[c+(q<<2)>>2]=K;if((Ci(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)Fi(i,r);m=dg(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){Bi(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=ud(53112,Cb)|0;if(!m){i=7;L=686;break}i=Ii(f[Q>>2]|0,m,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{K=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}m=f[Fb>>2]|0;f[bb>>2]=m;if(!i)i=m;else{L=686;break}}E=i;do if(!(Jp(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{$e(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(!(Jp(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{$e(o,i,m);break}}while(0);if(Jp(E,1)|0){Ci(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 $e(i,r,0);Ci(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)Fi(i,E);m=dg(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}Bi(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(!(Jp(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{$e(o,i,m);break}}while(0);if(!(Jp(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 $e(i,r,0);Ci(E)|0}else Ci(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)Fi(i,E);m=dg(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}Bi(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[7160]|0)){nb[f[28688>>2]&127](l);c=F;break}else{c=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Kc()|0){m=G;k=1;i=7;l=p;L=739;break}i=Lc(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=Yu(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=Yu(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=Ou(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Kc()|0){i=7;m=1;L=761;break}i=Lc(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=Yu(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=mr(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(e<<5)+8>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);e=e+1|0}while((e|0)!=(m|0))}if(!i){i=ra;i=Nu(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=or(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;if(!l)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;l=ba()|0;m=ca;pr(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[ib>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);do if(!(b[e+5>>0]|0)){l=f[e+40>>2]|0;if(!l)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[e+52>>2]|0;t:do if(l|0){m=f[l+20>>2]|0;Di(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{K=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);c=c+1|0;l=f[ib>>2]|0}while((c|0)<(f[T>>2]|0))}do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[W>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);f[T>>2]=0;f[ib>>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=ud(53170,Eb)|0;if(!k){i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{a=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[Fb>>2]|0;f[l>>2]=k;if(i)break}m=k;do if(!(Jp(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{$e(i,1,0);break}}while(0);if((g|0)==0|(Jp(m,2)|0)!=0){Ci(m)|0;if(!k)i=0;else L=845}else{i=Ze((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,zg(Hb,i),Hb=f[m>>2]|0,(i|0)==3082|(b[Hb+81>>0]|0)!=0):0)Bi(Hb);Ci(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)Fi(i,m);k=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);Jp(m,2)|0}}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](Gb);else{Hb=hb[f[28696>>2]&127](Gb)|0;f[14051]=(f[14051]|0)-Hb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Gb)}if(!g){Hb=i;t=Ib;return Hb|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);Hb=i;t=Ib;return Hb|0}else{Hb=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Hb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);Hb=i;t=Ib;return Hb|0}return 0}function gs(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=Nu(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(Kc()|0){a=7;return a|0}d=Lc(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);$u(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 hs(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(Kc()|0){h=7;return h|0}i=Lc(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;$u(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=Yu(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=Yu(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;$u((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=Yu(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;$u((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 is(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(Kc()|0){z=7;t=A;return z|0}j=Lc(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=Zu(u&127|0,0,c|0)|0;j=Nu(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=gs(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=Kt(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=Yu(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=hs(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=gs(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=Yu(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{y=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}while(0);j=f[z>>2]|0;if(!j){z=p;t=A;return z|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](j);z=p;t=A;return z|0}else{z=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);z=p;t=A;return z|0}return 0}function js(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;er(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=ud(53488,d)|0;if(!c){k=7;t=l;return k|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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){Bi(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=ud(53516,g)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(d,e);c=dg(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){Bi(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=ud(53545,h)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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}Bi(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=ud(53572,i)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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}Bi(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=ud(53600,j)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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){Bi(c);m=7;t=l;return m|0}else{m=f[c+68>>2]&d;t=l;return m|0}return 0}function ks(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=kb[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=ib[f[r+24>>2]&255](f[i>>2]|0,b)|0,h|0):0){hb[f[r+16>>2]&127](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=mb[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=qs(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=qs(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=mb[i&127](l,q,m,n,o,p)|0}while((c|0)==0)}else b=0;while(0);hb[f[r+16>>2]&127](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 ls(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=Dd((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=Yu(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=ud(53745,p)|0;if(h){g=Ii(f[c+12>>2]|0,h,-1,129,0,q,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h)}h=f[q>>2]|0;f[i>>2]=h;if(!g)break}else g=7;if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break a}else{s=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(j,g,i);break}}while(0);if(Jp(l,2)|0){do if(94!=-1)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{s=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);Ci(l)|0;if(!h){g=0;break}}else{g=Ze((f[l+116>>2]|0)+40|0,r,m,0,94)|0;if(g|0?(s=f[l>>2]|0,f[s+64>>2]=g,zg(s,g),s=f[l>>2]|0,(g|0)==3082|(b[s+81>>0]|0)!=0):0)Bi(s);Ci(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)Fi(g,l);h=dg(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){Bi(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 ms(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=Dd(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=ud(51055,k)|0;if(k){j=Ii(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j){j=k;break}}else j=7;if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{B=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);s=j;do if(!(Jp(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{$e(k,0,0);break}}while(0);if((Ci(s)|0)==100){if(!j)n=jf(28920)|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;zg(k,25);k=28920;l=s}n=jf(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){Bi(k);k=7}else k=f[k+68>>2]&l;f[m>>2]=k}Bp(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=Zu(E&127|0,0,m|0)|0;k=Nu(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 bv(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)Fi(j,s);k=dg(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{Bi(j);j=7}if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Yu(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=ud(53170,x)|0;if(k){j=Ii(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{F=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j)break}else j=7;if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);m=k;do if(!(Jp(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{$e(j,0,0);break}}while(0);if((z|0)==0|(Jp(m,2)|0)!=0){Ci(m)|0;if(!k)j=0;else B=83}else{j=Ze((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,zg(A,j),A=f[m>>2]|0,(j|0)==3082|(b[A+81>>0]|0)!=0):0)Bi(A);Ci(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)Fi(j,m);k=dg(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){Bi(j);j=7;break}else{j=f[j+68>>2]&k;break}}while(0);f[a>>2]=j;Jp(m,2)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](C);t=D;return}else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C);t=D;return}}function ns(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=ps(a,7,u,x)|0;s=f[u>>2]|0;a:do if(!h){b:do if((Ci(s)|0)==100){if(!(f[a+44>>2]|0))r=0;else r=Dp(s,(f[a+24>>2]|0)+1|0)|0;i=Ep(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=gr(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;zg(c,25);c=28920}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=Gc(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){Bi(c);c=7}else c=f[c+68>>2]&h;f[o>>2]=c;c=ks(a,r,i,-1,g+(k<<2)|0)|0;i=Bp(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)Fi(h,s);r=dg(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}Bi(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)Fi(h,s);i=dg(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){Bi(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)Fi(c,s);r=dg(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){Bi(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=ps(a,1,u,x)|0;do if(!c){c=f[u>>2]|0;if((Ci(c)|0)==100)k=Dp(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)Fi(h,c);i=dg(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){Bi(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=js(a,1)|0;f[e>>2]=0;bv(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=ps(a,0,x,w)|0;do if(!c){c=f[x>>2]|0;Ci(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)Fi(h,c);i=dg(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){Bi(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=ps(a,19,x,w)|0;if(!c){c=f[x>>2]|0;Ci(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)Fi(h,c);i=dg(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){Bi(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 Il(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=ql(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=mb[i&127](f[g+316>>2]|0,21,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,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{li(a,40505,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)hg(Qa,i);f[g>>2]=0;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-2;ag(a,c,0)}else ag(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;Ki(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))Ze((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=38544;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;Ze((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=Gg(B,40899,C)|0;if(b[(f[A>>2]|0)+81>>0]|0)break b;Ze((f[q>>2]|0)+(l*40|0)|0,g,-1,1,108)|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=Gg(B,41007,D)|0}else{k=(zt(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=Bc(B,k,0)|0}if(!g){g=0;break}$u(g|0,i|0,k|0)|0}while(0);if(b[(f[A>>2]|0)+81>>0]|0)break;Ze((f[q>>2]|0)+(l*40|0)|0,g,-1,1,108)|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=Vk(Ha,f[z+4+(i*20|0)>>2]|0)|0;Ze((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=ql(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=Gk(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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(Ak(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)hg(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]=134;f[Ha+8>>2]=135;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?mi(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]=134;f[Ha+8>>2]=135;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?mi(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(B,k,0,0)|0;g=kl(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 rl(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=Bk(B,143,1e4,0)|0;k=kl(f[a>>2]|0,0,k)|0}else k=g;g=Jl(a,k,v,w,x,y,u,0,0)|0;i=ml(B,0,0,0)|0;f[z>>2]=i;do if(i){f[i+28>>2]=g;Rk(a,i);if(!(gl(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;ag(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{rl(A,113,m,i,0)|0;break}}else{if(!g){g=0;break}kg(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]=136;f[L>>2]=0;f[M>>2]=0;b[N>>0]=0;f[O>>2]=X;if(!k)break;mi(Ha,k)|0;if(b[N>>0]|0?(d[ya>>1]&8192)==0:0){b[g>>0]=b[g>>0]&-41;ko(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=mb[k&127](f[I+316>>2]|0,21,0,0,0,g)|0;if((g|0)==1){li(a,40490,aa);f[$>>2]=23;break}if((g|2|0)==2)break;li(a,40505,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=Fk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{wa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[p>>2]|0;k:do if(g|0){if(f[I+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{wa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ml(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=Jc(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=hb[f[28696>>2]&127](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;bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(f[z>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{wa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=zk(I,g,0,0)|0;if(!E)jl(g,n);wa=v+36|0;X=il(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];lo(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}kg(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;li(a,47890,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;ro(Ha,f[va>>2]|0);p:do if(f[l>>2]|0){f[u>>2]=0;f[Da>>2]=a;f[o>>2]=137;f[p>>2]=125;f[q>>2]=0;f[r>>2]=0;f[s>>2]=Ha;g=f[va>>2]|0;if(g|0)mi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[g&127](f[qa+316>>2]|0,20,oa,56244,pa,f[Z>>2]|0)|0;if((g|0)==1){li(a,40490,ra);f[$>>2]=23;break}if((g|2|0)==2)break;li(a,40505,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{rl(Na,12,g,k,0)|0;break}}ma=to(c)|0;f[z>>2]=(f[z>>2]|0)+ma;if(!(d[ya>>1]&4096))uo(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 rl(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];Im(a,1,48067,ta);Il(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 rl(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=55600;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=rl(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=rl(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(!(Ak(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 rl(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];Im(a,1,48081,ua);Il(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=55600;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=rl(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=55600;f[g+4>>2]=i}b[K>>0]=0;f[L>>2]=0;if(b[Aa>>0]|0)break r;ma=to(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(Ak(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=Gk(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=Bc(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;bv(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=Xk(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{ua=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{ua=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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=55600;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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{ua=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=ql(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{rl(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=Bc(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;bv(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=Xk(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Ga=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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)==33002|(i|0)==33012){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{rl(g,111,i,l,0)|0;break}}if(!((i|0)==33024|(i|0)==33029))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{rl(g,111,i,l,0)|0;break}}while(0);w=f[w+24>>2]|0}while((w|0)!=0)}i=c+6|0;D=qn(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;og(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){mo(a,c,-1,Ma,Ia,e,f[D+32>>2]|0,f[D+36>>2]|0);rn(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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);vo(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)==33029|((Ga|0)==33024|((Ga|0)==33002|(Ga|0)==33012))){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=ql(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 rl(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=Bc(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;bv(m+24|0,0,o+-4|0)|0;if((q|0)<=0){l=0;break}i=r+4|0;k=0;while(1){g=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Ha=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(C,16,g,0,g)|0;Ao(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=rl(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=55600;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=Bc(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;bv(o+24|0,0,r+-4|0)|0;if((u|0)<=0){i=0;break}i=w+4|0;k=0;while(1){g=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{Ha=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(C,16,g,0,g)|0;break}}else k=0;while(0);Ao(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=55600;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 rl(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 rl(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 rl(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 rl(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 rl(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=55600;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);yo(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{rl(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 rl(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]=56244}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 rl(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 rl(C,122,g,A,B)|0;rn(D);Ao(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 rl(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 rl(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{rl(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=ql(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ga=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ga=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;wo(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=rl(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 rl(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 rl(K,111,A,i,0)|0;x=xo(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 rl(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 rl(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 rl(K,36,i,r,0)|0;do if(H){i=f[D>>2]|0;yo(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 rl(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{rl(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=Bc(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;bv(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=Xk(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 rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{La=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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{rl(K,78,F,u,g)|0;g=k;break}}else g=0;while(0);zo(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=55600;f[g+8>>2]=i}while(0);if(!H)yo(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 rl(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 rl(K,5,A,w,0)|0;zo(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 rl(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 rl(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=55600;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 rl(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;mo(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 rl(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(Ak(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{xa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-xa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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]=138;f[n>>2]=139;f[o>>2]=69;f[p>>2]=0;f[q>>2]=Da;if(i){mi(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]=138;f[o>>2]=139;f[p>>2]=69;f[q>>2]=0;f[r>>2]=Da;if(i){mi(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]=138;f[Ha+8>>2]=139;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;mi(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]=140;f[Ha+24>>2]=c;g=f[u>>2]|0;if(g|0)mi(Ha,g)|0;G=f[va>>2]|0;f[Ha+4>>2]=138;f[Ha+8>>2]=139;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;mi(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=31979;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=31983;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=Gk(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]=138;f[s>>2]=139;f[u>>2]=69;f[v>>2]=0;f[w>>2]=Da;if(k){mi(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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);p=0;break}else{p=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ha=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ha=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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 rl(Na,12,L,B,0)|0;y=qn(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=48105;else i=(f[Ga>>2]&1|0)==0?48096:48105;f[Fa>>2]=i;Im(a,0,48114,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=vl(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{rl(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)){ym(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 rl(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 rl(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);rn(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 rl(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 rl(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;og(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{rl(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{rl(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=vl(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{rl(m,78,i,o,0)|0;break Z}}else m=vl(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{rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);break}else{La=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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 rl(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 rl(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=55600;f[i+8>>2]=k;Fo(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 rl(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{rl(Na,3,i,u,0)|0;break}}else{rn(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;og(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 rl(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 rl(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 rl(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 rl(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 rl(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 rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;xm(a,X,i,16);mo(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 rl(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];Go(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 rl(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{rl(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=aj(f[q>>2]|0,0,q,Ha,0,542)|0;if(k|0){li(m,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;Ha=(f[13890]|0)+1|0;f[13890]=Ha;f[13891]=(Ha|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](k)|0;La=1901;break}else{i=hb[f[28696>>2]&127](k)|0;La=1901}while(0);do if((La|0)==1901){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Ha=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);Ha=gh(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);lm(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=mm(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=rl(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{sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Ha=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(Na,117,v,0,0)|0;if((b[a+195>>0]|0)!=2)break;do if(o){i=f[w>>2]|0;l=56244;k=56244}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=56244;k=56244;break}}else i=f[w>>2]|0;l=48137;k=f[p>>2]|0}while(0);f[Ea>>2]=i;f[Ea+4>>2]=l;f[Ea+8>>2]=k;Im(a,0,48160,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{rl(Na,70,0,l,0)|0;break}}else l=0;while(0);Go(a,Pa);m=qn(a,wa,G,g,0,x,0)|0;if(!m)break T;Fo(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{rl(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{rl(Na,11,0,i,0)|0;break}}while(0);rn(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;xm(a,X,U,16);mo(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]=48096;Im(a,0,48114,Ja)}do if(f[Ma>>2]|0){q=Ma+4|0;f[Ka>>2]=(f[q>>2]|0)>0?48178:47936;Im(a,0,48114,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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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=rl(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{rl(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=rl(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 rl(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=55600;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=rl(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{rl(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{rl(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 rl(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 rl(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 rl(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=rl(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);sl(G,l,n,D)}else{if((D|0)==-12)break;og(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=rl(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{rl(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{rl(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{rl(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{rl(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{rl(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}hg(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=ql(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 rl(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?56244:47987;Im(a,0,47989,ia);i=i&65535;if(!m){mo(a,g,-1,0,0,Ha,1,1);i=0;g=0;La=705;break}while(1){mo(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=oo(a,c,e)|0;break ja}if(!(f[r+52>>2]|0)){Im(a,1,48012,ga);Im(a,1,48027,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=Il(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=rl(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{rl(z,153,i,k,m)|0;u=g;break}}else u=0;while(0);Im(a,1,39940,ka);g=Il(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[22944+(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[22944+(l-n)>>0]|0)+l&65535;break}}while(0);d[s>>1]=i;i=f[ma>>2]|0;do if(i|0){Qa=(yk(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=Zu(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=Yu(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=Yu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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=55600;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=rl(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=Il(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[ja>>2]=g;Im(a,1,48046,ja);g=Il(a,c,Da)|0;i=f[Y>>2]|0;if(i|0)hg(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[22944+(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[22944+(l-n)>>0]|0)+l&65535;break}}while(0);d[o>>1]=i}i=f[p>>2]|0;if(i|0)gg(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(z,36,w,r,0)|0;l=f[n>>2]|0;mo(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 rl(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{rl(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=rl(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=Il(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=rl(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[la>>2]=g;Im(a,1,48046,la);g=Il(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)gg(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(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=rl(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=rl(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);mo(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 rl(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 rl(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 rl(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=55600;i=f[i+8>>2]|0}f[l>>2]=i}else{no(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=Bc(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;bv(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=qo(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;sl(z,i+(l*20|0)|0,u,-9)}else{f[13902]=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;sl(z,l+(k*20|0)|0,u,-9)}else{f[13902]=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{sl(z,i+(l*20|0)|0,u,-9);break}}else{f[13902]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{Qa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{sl(z,i+(l*20|0)|0,u,-9);break}}else{f[13902]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{Qa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);i=m;La=705;break}else{i=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);i=m;La=705;break}}else{i=m;La=705}}else La=342;while(0);if((La|0)==342){i=g?47930:47936;switch(b[c+4>>0]|0){case 124:{g=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[ea>>2]=i;f[ea+4>>2]=g;li(a,47945,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{kg(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=55600;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=55600;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0} -function wh(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=ib[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=xh(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=kb[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=fh(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=Ou(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=Ru(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=Nu(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=Ou(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=Ru(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=ib[f[j+24>>2]&255](i,I)|0;k=((o|0)<0)<<31>>31;l=Tu(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=jb[f[(f[d>>2]|0)+16>>2]&127](d,l,m)|0;K=24}else{j=Nu(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;bv(j|0,0,o|0)|0;i=f[s>>2]|0;K=Ou(l|0,m|0,o|0,k|0)|0;d=ba()|0;d=lb[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)hh(a);h=eh(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=gh(a,B,-1)|0;d=a+12|0;b[a+18>>0]=b[d>>0]|0;if(!g){s=f[C>>2]|0;g=xh(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=jb[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=ib[f[(f[E>>2]|0)+20>>2]&255](E,F&255)|0,G|0):0){g=G;break}}g=qh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;if(!e){e=7;break}else q=e}else{e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){H=f[14051]|0;G=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){e=7;break}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;q=g}else q=g}bv(q|0,0,k|0)|0;o=q+(f[j>>2]|0)|0;p=r+24|0;e=lb[f[p>>2]&127](r,s,q,16385,0)|0;e:do if(!e){e=ib[f[(f[q>>2]|0)+24>>2]&255](q,I)|0;if(!e){n=(f[r+8>>2]|0)+1|0;H=I;H=Nu(f[H>>2]|0,f[H+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;G=ba()|0;e=Nu(H|0,G|0,1,0)|0;ba()|0;if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){do if(!(f[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){e=7;break e}else g=e}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){H=f[14051]|0;G=Ou(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=hb[f[28684>>2]&127](i)|0;if(!g){e=7;break e}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=e}while(0);e=f[I>>2]|0;m=g+(e+1)|0;e=lb[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=kb[f[l>>2]&127](r,j,0,J)|0;if(e|0)break;do if(f[J>>2]|0){e=lb[f[p>>2]&127](r,j,o,2049,0)|0;if(e|0)break g;e=xh(o,m,n)|0;i=f[o>>2]|0;if(i|0){hb[f[i+4>>2]&127](o)|0;f[o>>2]=0}if(e|0)break g;if(!(b[m>>0]|0))break;if(!(wt(m,s)|0)){e=0;break g}}while(0);j=j+(((zt(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){hb[f[e+4>>2]&127](q)|0;f[q>>2]=0}e=jb[f[r+28>>2]&127](r,s,0)|0}if(!g)break}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else e=7}}while(0);g=f[q>>2]|0;if(g|0){hb[f[g+4>>2]&127](q)|0;f[q>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{J=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;yc(539,33294,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((hb[f[(f[L>>2]|0)+48>>2]&127](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=hb[e&127](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 xh(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=ib[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=Nu(e|0,g|0,-16,-1)|0;e=ba()|0;e=lb[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=Nu(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=Nu(e|0,g|0,-12,-1)|0;e=ba()|0;e=lb[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=Nu(f[q>>2]|0,f[q+4>>2]|0,-8,-1)|0;g=ba()|0;g=lb[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(Kt(o,33286,8)|0){q=0;t=p;return q|0}q=n;g=f[q>>2]|0;q=f[q+4>>2]|0;o=Ou(-16,-1,m|0,0)|0;q=Nu(o|0,ba()|0,g|0,q|0)|0;g=ba()|0;g=lb[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 yh(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=ph(a,e,j,o)|0;if(!i){n=b[j>>0]|0;c:do switch(n<<24>>24){case 1:{f[k>>2]=33143;f[k+4>>2]=66624;f[k+8>>2]=31184;yc(11,31132,k);i=11;break b}case 2:{if(!g){i=Jh(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)){$g(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=kb[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=Jh(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)){$g(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=Jh(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)){$g(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)){$g(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=Kh(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)){$g(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 zh(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[7225]|0;if(g|0?hb[g&127](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=Tu(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=Ru(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=Tu(j|0,0,100,0)|0;j=ba()|0}if(g|0?(p=Ru(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=kb[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=Lg(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=Mg(j)|0;B=53;break}else{g=Ng(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)){$g(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=Nu(g|0,k|0,-1,-1)|0;k=ba()|0;g=f[a+148>>2]|0;k=Ru(o|0,k|0,g|0,0)|0;k=Nu(k|0,ba()|0,1,0)|0;g=Tu(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=lb[f[(f[q>>2]|0)+12>>2]&127](q,A,4,l,k)|0;do if(!g){g=f[s>>2]|0;k=Nu(l|0,k|0,4,0)|0;l=ba()|0;g=lb[f[(f[g>>2]|0)+12>>2]&127](g,c,j,k,l)|0;if(!g){g=f[s>>2]|0;k=Nu(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=lb[f[(f[g>>2]|0)+12>>2]&127](g,A,4,k,l)|0;if(!g){E=f[s>>2]|0;q=Nu(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=lb[f[(f[E>>2]|0)+12>>2]&127](E,A,4,q,g)|0;if(!g){q=f[s>>2]|0;E=Nu(k|0,l|0,8,0)|0;g=ba()|0;g=lb[f[(f[q>>2]|0)+12>>2]&127](q,33286,8,E,g)|0;if(!g){q=p;q=Nu(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=ib[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=jb[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=Bh(a,0)|0;if(g|0){E=g;t=D;return E|0}g=a+212|0;i=Ch(a,dh(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)pb[f[28784>>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=ib[f[v+24>>2]&255](u,A)|0;j=((x|0)<0)<<31>>31;k=Tu(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=jb[f[(f[w>>2]|0)+16>>2]&127](w,k,l)|0;B=107}else{E=Nu(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;bv(E|0,0,x|0)|0;A=f[z>>2]|0;B=Ou(k|0,l|0,x|0,j|0)|0;w=ba()|0;w=lb[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=jb[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=ib[f[(f[g>>2]|0)+20>>2]&255](g,i&255)|0}else{f[A>>2]=0;j=a+212|0;g=dh(f[j>>2]|0)|0;if(!g){g=kb[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=Ah(a,g,f[a+24>>2]|0,1)|0;i=f[A>>2]|0;if(i)if(!(d[i+28>>1]&32)){$g(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)pb[f[28784>>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 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,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(!(Kt(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{xd(4,ra);k=xa+43|0;b:do if(!(b[k>>0]|0)){c=f[xa+4>>2]|0;c=kb[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;nb[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;kb[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;kb[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=Dh(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)xd(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=lb[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=ib[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=Tu(l|0,0,W|0,X|0)|0;i=Nu(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;lh(xa,f[p+24>>2]|0,ra)|0;k=f[ra>>2]|0;if(k>>>0>>0){$=47;break}c=Tu(k+-1|0,0,W|0,X|0)|0;c=Nu(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=lb[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;Eh(xa,f[p+24>>2]|0,M,m,ra);if(!(o>>>0<4294967295|(o|0)==-1&n>>>0<4294967272)){l=0-n|0;c=lb[f[(f[r>>2]|0)+12>>2]&127](r,ra,l,n,o)|0;if(c|0){F=c;$=63;break}c=Nu(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=ib[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=lb[f[(f[r>>2]|0)+12>>2]&127](r,K,I,N,O)|0}if(G|0){F=G;$=63;break}c=Nu(n|0,o|0,24,0)|0;i=ba()|0;Nu(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=lb[f[(f[r>>2]|0)+12>>2]&127](r,m,l,c,i)|0;if(j|0){F=j;$=63;break}c=Nu(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=ib[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=lb[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=Nu(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=Dd(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=Tu(p+-2|0,0,m|0,n|0)|0;p=Nu(p|0,ba()|0,48,0)|0;c=ba()|0;q=f[Y>>2]|0;c=lb[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=Tu(j+-1|0,0,m|0,n|0)|0;i=Nu(i|0,ba()|0,32,0)|0;k=ba()|0;c=f[Y>>2]|0;c=lb[f[(f[c>>2]|0)+8>>2]&127](c,w,m,i,k)|0;if(c|0)break f;Eh(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=lb[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[7160]|0))nb[f[28688>>2]&127](w);else{T=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=hb[i&127](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=Nu(Z|0,_|0,-1,-1)|0;z=Nu(z|0,ba()|0,c|0,i|0)|0;w=ba()|0;v=Uu(z|0,w|0,c|0,i|0)|0;v=Ou(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;Eh(xa,f[u>>2]|0,e,p,ra);n=Nu(r|0,q|0,24,0)|0;o=ba()|0;if(!((w|0)>(o|0)|(w|0)==(o|0)&v>>>0>n>>>0)){m=Ou(v|0,w|0,r|0,q|0)|0;ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,ra,m,r,q)|0;if(c|0){ca=c;break}c=Nu(r|0,q|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=24-m|0;l=ib[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=lb[f[(f[x>>2]|0)+12>>2]&127](x,ia,ga,ja,ka)|0}if(da|0){ca=da;break}_=Nu(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=Ou(v|0,w|0,n|0,o|0)|0;ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,p,m,n,o)|0;if(c|0){ca=c;break}c=Nu(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-m|0;l=ib[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=lb[f[(f[x>>2]|0)+12>>2]&127](x,ha,fa,la,ma)|0}if(aa|0){ea=aa;$=127;break}r=Nu(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=ib[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=Tu(k+na|0,0,W|0,X|0)|0;l=Nu(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=ib[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=jb[f[(f[c>>2]|0)+16>>2]&127](c,l,j)|0}if(c|0){f[ta>>2]=f[xa+108>>2];yc(c,33321,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=Fh(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=Fh(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;nb[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)ih(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 Bh(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=ib[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(!(hb[f[i>>2]&127](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=hb[f[(f[i>>2]|0)+48>>2]&127](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=Nu(e|0,g|0,-1,-1)|0;h=ba()|0;g=f[a+148>>2]|0;h=Ru(e|0,h|0,g|0,0)|0;h=Nu(h|0,ba()|0,1,0)|0;g=Tu(h|0,ba()|0,g|0,0)|0;h=ba()|0}e=f[j>>2]|0;e=lb[f[(f[e>>2]|0)+8>>2]&127](e,l,8,g,h)|0;if(!e)if(!(Kt(l,33286,8)|0)){e=f[j>>2]|0;e=lb[f[(f[e>>2]|0)+12>>2]&127](e,56245,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=ib[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=lb[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=ib[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=Rg(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 Ch(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=lb[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=Tu(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){jb[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=Tu(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=lb[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)ih(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 Dh(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;ib[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=Gh(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=kb[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;kb[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=kb[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;nb[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(!(Kt(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;kb[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=kb[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=lb[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=ib[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=lb[f[(f[e>>2]|0)+8>>2]&127](e,k,32,0,0)|0;if(!e)if(!(Kt(a+84|0,k+16|0,8)|0)){e=a+66|0;n=(j[e>>1]|0)+24|0;o=vd(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=Tu((j[e>>1]|0)+24|0,0,f[a+68>>2]|0,0)|0;h=Nu(h|0,ba()|0,32,0)|0;i=ba()|0;e=Nu(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=lb[f[(f[i>>2]|0)+8>>2]&127](i,o,n,g,e)|0;if(e|0)break;if(!(Hh(a,w,x,m,o)|0)){e=0;break}if(f[x>>2]|0){e=-1;break d}e=Nu(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[7160]|0)){nb[f[28688>>2]&127](o);u=34;break}else{u=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{x=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;kb[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;kb[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=kb[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=kb[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=kb[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=kb[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;kb[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=kb[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;nb[f[(f[c>>2]|0)+60>>2]&127](c)}if((f[m+4+(k<<2)>>2]|0)==(i|0)?(Kt(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;kb[f[(f[a>>2]|0)+56>>2]&127](a,g,1,5)|0;a=-1;t=B;return a|0}function Eh(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+(_u(f[g>>2]|0)|0)|0;c=(_u(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+(_u(f[e>>2]|0)|0)|0;c=(_u(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 Fh(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=ch(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)bv(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(!(ch(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;bv(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]=33143;f[u+4>>2]=59157;f[u+8>>2]=31184;yc(11,31132,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 Gh(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=ch(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=Ih(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=kb[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;kb[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=kb[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=ch(a,0,j)|0;if(!e)M=18}if((M|0)==18){g=Ih(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=kb[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=kb[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;kb[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=ib[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=lb[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=_u(f[m>>2]|0)|0;k=f[m+4>>2]|0;y=(_u(k|0)|0)+x|0;i=y+x+(_u(f[i>>2]|0)|0)|0;e=(_u(f[e>>2]|0)|0)+y+i|0;i=i+(_u(j|0)|0)+e|0;e=e+(_u(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]=31620;f[p+4>>2]=59295;f[p+8>>2]=31184;yc(14,31132,p);e=14;break a}r=l+24|0;s=((r|0)<0)<<31>>31;x=vd(r,s)|0;if(!x){e=7;break c}u=x+24|0;e=Nu(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=lb[f[(f[e>>2]|0)+8>>2]&127](e,x,r,k,l)|0;if(e|0)break;if(!(Hh(a,D,E,u,x)|0)){e=0;break}e=Fh(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=Nu(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[7160]|0))nb[f[28688>>2]&127](x);else{P=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-P;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;nb[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;yc(283,33347,H);e=0}}while(0);if((b[J>>0]|0)==0?(K=a+4|0,P=f[K>>2]|0,kb[f[(f[P>>2]|0)+56>>2]&127](P,F,G,9)|0,(b[J>>0]|0)==0):0){P=f[K>>2]|0;kb[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;kb[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]=31620;f[L+4>>2]=60273;f[L+8>>2]=31184;yc(14,31132,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[7160]|0)){nb[f[28688>>2]&127](k);break}else{P=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-P;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[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 Hh(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(Kt(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+(_u(f[g>>2]|0)|0)|0;o=(_u(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+(_u(f[j>>2]|0)|0)|0;a=(_u(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 Ih(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;nb[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(Kt(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(!(Kt(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 Jh(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]=33143;f[j+4>>2]=68756;f[j+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(k)|0;Y=190;break}else{j=Ng(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=kb[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))$g(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]=33143;f[o+4>>2]=65131;f[o+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(j)|0;break}else{k=Ng(j)|0;break}}while(0);j=f[m>>2]|0;if(!(d[j+28>>1]&32))$g(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=kb[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)){$g(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]=33143;f[r+4>>2]=65131;f[r+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(m)|0;Y=241;break}else{j=Ng(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)){$g(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=ph(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=Lg(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=Mg(k)|0;Y=18;break}else{m=Ng(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=kb[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=Lg(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=Mg(j)|0;Y=60;break}else{I=Ng(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=Lg(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=Mg(j)|0;Y=72;break}else{J=Ng(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=kb[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=Lg(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=Mg(n)|0;Y=94;break}else{K=Ng(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;$u((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))$g(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=Lg(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=Mg(j)|0;Y=112;break}else{L=Ng(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=Lg(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=Mg(w)|0;Y=134;break}else{M=Ng(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=kb[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)){$g(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]=33143;f[T+4>>2]=65131;f[T+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(n)|0;Y=170;break}else{k=Ng(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)){$g(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=Lg(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=Mg(w)|0;Y=45;break}else{k=Ng(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)){$g(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]=33143;f[S+4>>2]=68812;f[S+8>>2]=31184;yc(11,31132,S);j=l;k=11;break}case 31:{j=f[B+72>>2]|0;if(!(d[j+28>>1]&32))$g(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]=33143;f[W+4>>2]=65131;f[W+8>>2]=31184;yc(11,31132,W);j=l;k=11;break}case 35:{j=l;break}case 49:{f[P>>2]=33143;f[P+4>>2]=68841;f[P+8>>2]=31184;yc(11,31132,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]=33143;f[Q+4>>2]=68875;f[Q+8>>2]=31184;yc(11,31132,Q);k=11;j=B;Y=257;break}case 81:{j=f[o+72>>2]|0;if(!(d[j+28>>1]&32))$g(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]=33143;f[V+4>>2]=65131;f[V+8>>2]=31184;yc(11,31132,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]=33143;f[R+4>>2]=68940;f[R+8>>2]=31184;yc(11,31132,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)){$g(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)){$g(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)){$g(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 Kh(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]=33143;f[l+4>>2]=66526;f[l+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(D)|0;break}else{l=Ng(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=Lg(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=jb[f[28780>>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=ah(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;pb[f[28784>>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;qb[f[28788>>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;qb[f[28788>>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;qb[f[28788>>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)){$g(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=kb[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))$g(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;$u(J|0,q|0,500)|0;bv(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=Lh(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?(Mh(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=kb[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=Lg(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=Mg(l)|0;O=146;break}else{m=Ng(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)){$g(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]=33143;f[L+4>>2]=66454;f[L+8>>2]=31184;yc(11,31132,L);l=11;O=175;break}}else{if((b[w>>0]|0)==0?(K=Nh(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;pb[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]=33143;f[N+4>>2]=66473;f[N+8>>2]=31184;yc(11,31132,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]=33143;f[P+4>>2]=66491;f[P+8>>2]=31184;yc(11,31132,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)){$g(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}Mh(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 Lh(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=Nh(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?(pb[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;Mh(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))Mh(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;Mh(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 Mh(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]=33143;f[j+4>>2]=63923;f[j+8>>2]=31184;yc(11,31132,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=kb[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]=33143;f[l+4>>2]=63934;f[l+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(l)|0;o=21;break}else{n=Ng(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)){$g(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 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,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]=126;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]=127;e=173}else{b[e>>0]=1;e=171}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]=172;d[a+14>>1]=d[n+24>>1]|0;e=n+26|0;break}default:{f[e>>2]=33143;f[e+4>>2]=64757;f[e+8>>2]=31184;yc(11,31132,e);f[g>>2]=33143;f[g+4>>2]=64798;f[g+8>>2]=31184;yc(11,31132,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]=33143;f[m+4>>2]=64817;f[m+8>>2]=31184;yc(11,31132,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+((ib[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]=33143;f[r+4>>2]=64845;f[r+8>>2]=31184;yc(11,31132,r);D=11;t=C;return D|0}else if((e|0)==17){f[s>>2]=33143;f[s+4>>2]=64850;f[s+8>>2]=31184;yc(11,31132,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]=33143;f[w+4>>2]=64868;f[w+8>>2]=31184;yc(11,31132,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]=33143;f[z+4>>2]=64883;f[z+8>>2]=31184;yc(11,31132,z);D=11;t=C;return D|0}if(e>>>0<=u>>>0)break a;f[A>>2]=33143;f[A+4>>2]=64887;f[A+8>>2]=31184;yc(11,31132,A);D=11;t=C;return D|0}while(0);f[y>>2]=33143;f[y+4>>2]=64873;f[y+8>>2]=31184;yc(11,31132,y);D=11;t=C;return D|0}while(0);if((c|0)>(u|0)){f[B>>2]=33143;f[B+4>>2]=64899;f[B+8>>2]=31184;yc(11,31132,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 Oh(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 Ph(a,b,c){a=a|0;b=b|0;c=c|0;b=((Rh(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 Qh(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){Qg(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 Rh(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 Sh(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=Ig(d,0,0)|0,e|0):0){c=e;d=0;i=4}}else i=4;if((i|0)==4)Zh(a,c,d)|0;if((b[a+8>>0]|0)!=2){th(a);t=k;return}uh(f[j>>2]|0)|0;i=f[j>>2]|0;if(!(kb[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;$g(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))qh(d,0,0)|0;break}default:uh(d)|0}vh(d)}}b[j+20>>0]=1;j=j+60|0;Sg(f[j>>2]|0);f[j>>2]=0;th(a);t=k;return}function Th(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)){Uh(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;Vh(a);if(f[b>>2]|0)return;Wh(a);return}function Uh(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){ig(0,f[l+28>>2]|0);e=f[l>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[l+4>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[l+12>>2]|0;if(e|0)gg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);j=f[j>>2]|0}while((j|0)!=0)}do if(m|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{p=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);if(!k)do{e=c;c=f[c>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)fg(0,g);c=f[c>>2]|0}while((c|0)!=0)}do if(o|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{p=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);if(!e)do{c=b;b=f[b>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](c);else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Vh(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;Yh(e)}while((c|0)!=0);return}function Wh(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)){Xh(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];Xh(a,c);f[b>>2]=d;return}function Xh(a,b){a=a|0;b=b|0;var c=0;if(!b)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function Yh(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)hb[f[(f[c>>2]|0)+16>>2]&127](c)|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Zh(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[7160]|0)){nb[f[28688>>2]&127](h);m=94;break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);m=94;break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;mh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){k=7;break a}}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;h=55352;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){o=f[14051]|0;h=Ou(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=o>>>0)&1}e=hb[f[28684>>2]&127](i)|0;if(!e){k=7;break a}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}h=nh(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)){$g(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))$g(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;mh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){k=7;break a}}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;h=55352;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){p=f[14051]|0;o=Ou(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&o>>>0<=p>>>0)&1}e=hb[f[28684>>2]&127](i)|0;if(!e){k=7;break a}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}h=nh(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)){$g(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))$g(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)){$g(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))$g(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[7160]|0)){nb[f[28688>>2]&127](e);k=h;break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);k=h;break}else if((m|0)==53)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);k=h;break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);break}else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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))$g(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 _h(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[g+(j*56|0)+36>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[g+(j*56|0)+48>>2]|0;do if(e|0){ei(f[e+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{q=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);f[d>>2]=0;return}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);f[d>>2]=0;return}}function $h(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))ai(d)}while((c|0)!=0);Sh(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[13899]|0;if((c|0)==(i|0)){f[13899]=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){bi(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){nb[d&127](e);h=18}}else h=18;do if((h|0)==18?(g=f[c>>2]|0,g|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[d>>2]=f[13889];f[13889]=d;g=(f[13890]|0)+1|0;f[13890]=g;f[13891]=(g|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](d)|0;h=28;break}else{c=hb[f[28696>>2]&127](d)|0;h=28}while(0);do if((h|0)==28){f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](a);return}else{i=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function ai(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)){$g(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))$g(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,$g(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))qh(l,0,0)|0;break}default:uh(l)|0}vh(l)}c=f[a+12>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+16>>2]|0;if(!c)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);return}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function bi(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[7160]|0))nb[f[28688>>2]&127](e);else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=jb[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;ci(f[k>>2]|0,c,h[a+11>>0]|0,f[a+152>>2]|0,d)|0;f[k>>2]=0;hh(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=ib[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=ib[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?73:74}while(0);switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l>>0]|0))qh(a,0,0)|0;break}default:uh(a)|0}vh(a)}else vh(a);d=f[a+64>>2]|0;e=f[d>>2]|0;if(e|0){hb[f[e+4>>2]&127](d)|0;f[d>>2]=0}d=f[a+60>>2]|0;e=f[d>>2]|0;if(e|0){hb[f[e+4>>2]&127](d)|0;f[d>>2]=0}b:do if(n|0){d=n;do if((f[13886]|0)>>>0<=d>>>0)if((f[13887]|0)>>>0>d>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;n=(f[13890]|0)+1|0;f[13890]=n;f[13891]=(n|0)<(f[13885]|0)&1;break b}else{d=hb[f[28696>>2]&127](n)|0;break}else d=hb[f[28696>>2]&127](n)|0;while(0);f[14053]=(f[14053]|0)-d;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{m=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);nb[f[28796>>2]&127](f[(f[a+212>>2]|0)+44>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);t=o;return}else{n=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);t=o;return}}function ci(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=ib[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=di(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?(jb[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=ib[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=jb[f[(f[h>>2]|0)+16>>2]&127](h,0,0)|0}if(h|0){f[l>>2]=f[a+108>>2];yc(h,33321,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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[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){hb[f[d+4>>2]&127](c)|0;f[c>>2]=0}if(h|0){m=f[a>>2]|0;jb[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[7160]|0)){nb[f[28688>>2]&127](h);break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);a=j;t=n;return a|0}else{m=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);a=j;t=n;return a|0}return 0}function di(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=kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;if((q|0)!=5){fa=12;break b}if(!(hb[g&127](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=Gh(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]=33143;f[r+4>>2]=61695;f[r+8>>2]=31184;yc(11,31132,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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;if((q|0)!=5)break f;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0;if((q|0)!=5)break h;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0;if((q|0)!=5)break j;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0;if((q|0)!=5)break l;if(!(hb[g&127](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;kb[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=vd(p,((p|0)<0)<<31>>31)|0;if(!W){q=7;break c}bv(W|0,0,p|0)|0;R=W+4|0;f[R>>2]=Q+1;N=vd((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=ch(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;$u(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;$u(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[7160]|0)){nb[f[28688>>2]&127](N);break}else{V=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);break}while(0);if(q|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](W);p=0;l=0;fa=129;break}else{p=hb[f[28696>>2]&127](W)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=kb[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=kb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,10)|0;if((p|0)!=5){X=p;fa=95;break o}if(!(hb[g&127](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=ib[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=Tu($|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=ib[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;jb[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=Tu(s+-1|0,0,E|0,0)|0;Z=Nu(Z|0,ba()|0,56,0)|0;q=ba()|0;Y=f[F>>2]|0;q=lb[f[(f[Y>>2]|0)+8>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;Z=Tu(r+-1|0,0,aa|0,0)|0;q=ba()|0;Y=f[ca>>2]|0;q=lb[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=Tu(f[_>>2]|0,0,aa|0,0)|0;q=ba()|0;m=f[ca>>2]|0;q=jb[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=ib[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;kb[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){xd(4,ga);u=a+4|0;s:do if(!g)if(!(b[la>>0]|0)){q=f[u>>2]|0;q=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;if((q|0)!=5){fa=141;break s}if(!(hb[g&127](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;nb[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=jb[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;kb[f[(f[ga>>2]|0)+56>>2]&127](ga,4,4,9)|0}}}else q=0;else q=5;if(p)if(!(f[7160]|0)){nb[f[28688>>2]&127](v);break}else{ga=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;kb[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;kb[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 ei(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{fi((f[c>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[a>>2]|0))}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function fi(a){a=a|0;var b=0,c=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);gi(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 gi(a){a=a|0;var b=0;if(!a)return;ei(f[a+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function hi(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($k(a,34444)|0){h=0;a=18;break}if(!(_k(c,f[(f[d>>2]|0)+16>>2]|0)|0))a=39516;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=Qj((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(($k(c,f[e+(d<<4)>>2]|0)|0)==0?(i=Qj((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($k(b,34444)|0){h=0;a=18;break}if(!(_k(c,f[g>>2]|0)|0))b=39516;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 ii(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=55580;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=55580;break}}}while(0);e=f[e+8>>2]|0;if(!e){f[n>>2]=m;li(a,35406,n);f[p>>2]=(f[p>>2]|0)+-1;x=1;t=w;return x|0}f[o>>2]=0;g=qi(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;li(a,31564,r);f[a+12>>2]=g}do if(e|0){if(v|0){if(f[v+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{x=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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];li(a,40938,s);x=1;t=w;return x|0}i=Fk(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;Rk(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=Sk(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{Tk(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)Uk(a,c,i);if(!e)e=0;else u=50}while(0);do if((u|0)==50){if(f[v+480>>2]|0){fg(v,e);e=0;break}u=e+32|0;x=(f[u>>2]|0)+-1|0;f[u>>2]=x;if(!x){fg(v,e);e=0}else e=0}while(0);kg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{x=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[e+4>>2]|0;if(g|0)gg(v,g);g=f[e+8>>2]|0;do if(g|0){if(f[j>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{x=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{x=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}}while(0);f[n>>2]=0;d[p>>1]=0;x=o;t=w;return x|0} -function Pm(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=Gc(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=Gc(c,1)|0;else c=0}else c=0;while(0);B=(i|0)==0?56244:i;y=(c|0)==0?56244: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=Gg(H,45699,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=Bc(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=Bc(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=Jc(H,l,i,0)|0;break}c=Jc(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(Qm(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=aj(f[v>>2]|0,g,H,i,0,c)|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{v=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gg(H,45729,w)|0;f[G>>2]=e;e=1;break}case 0:{c=Rm(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=Gg(H,39609,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=(zt(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=Bc(H,i,0)|0;D=100}if((D|0)==100)if(!c)c=0;else $u(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=oi(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=oi(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){$h(i);C=f[z>>2]|0;f[C+(g<<4)+4>>2]=0;f[C+(g<<4)+12>>2]=0}Th(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=Gg(H,45758,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{E=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=Gg(H,35544,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;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=I;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=I;return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=I;return}}else{f[k>>2]=c;g=Gg(H,45662,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;Ze(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{H=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(g,c,-1,1,0)|0;t=I;return}function Qm(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=(zt(c)|0)&1073741823;if(i>>>0>4&(f[7163]|j&64|0)!=0?(Kt(c,45786,5)|0)==0:0){j=j|64;k=0;l=i+2|0;m=0;do{l=Nu(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=vd(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(!(Kt(45792,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=ud(45802,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+(((zt(k)|0)&1073741823)+1)|0;if(b[i>>0]|0){r=a;a=i;h:while(1){i:do if(!a){i=1;l=(zt(1)|0)&1073741823;v=71}else{c=zt(a)|0;i=a+((c&1073741823)+1)|0;l=(zt(i)|0)&1073741823;switch(c&1073741823|0){case 3:if(!(Kt(45830,a,3)|0)){m=i;break i}else{v=71;break i}case 5:{if(!(Kt(45834,a,5)|0)){o=393216;p=-393217;q=45834;n=22672}else{v=71;break i}break}case 4:{if(!(Kt(45840,a,4)|0)){o=j&135;p=-136;q=31365;n=22704}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)==((zt(a)|0)&1073741823|0)?(Kt(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=ud(45845,s)|0;v=86;break}else if((v|0)==69){f[u>>2]=q;f[u+4>>2]=i;l=k;i=3;k=ud(45865,u)|0;v=86;break}}else v=77}else v=73}else{i=0;v=73}while(0);if((v|0)==73){k=vd(i+2|0,0)|0;if(!k){g=7;t=x;return g|0}if(i|0)$u(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(!(Kc()|0)){i=f[13866]|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(!(wt(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=ud(45889,w)|0;v=86}while(0);do if((v|0)==86){f[h>>2]=k;if(l)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);k=0;break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Rm(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[7160]|0)){c=hb[f[28684>>2]&127](84)|0;if(!c)g=26;else g=27}else{c=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){g=f[14051]|0;e=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0){f[14060]=d;g=27}else g=27}else g=26}if((g|0)==26){f[h>>2]=0;f[i+52>>2]=99;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]=99;g=33;break}}else g=33}else{if(!(f[7160]|0)){c=hb[f[28684>>2]&127](84)|0;if(!c)break}else{c=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d)break;c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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 Sm(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 Tm(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=33138;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 Um(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=bn(a)|0;c=hf(a,c,i,1)|0;return c|0}switch(b[a+1>>0]|0){case 88:case 120:break;default:{i=bn(a)|0;c=hf(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=Zu(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 Vm(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;Lm(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;an(a,70,k,e+c|0)|0;break}default:{h=7;break a}}e=e+1|0}if((h|0)==7){t=i;return}an(a,81,c,e)|0;t=i;return}function Wm(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=Bc(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?33704: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;li(a,46761,A)}k=f[a>>2]|0;if(!x){D=1;t=C;return D|0}if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](x);D=1;t=C;return D|0}else{D=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](x);D=1;t=C;return D|0}return 0}function Xm(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)?((zt(c)|0)&1073741568|0)==0:0){q=e&2048;switch(e&7){case 4:{o=2;break}case 5:{o=Xm(a,c,d,q|1,g,i,j,k,l,m,n)|0;if(o|0){m=o;t=s;return m|0}o=Xm(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=Pk(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){tg(a,5,46698,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=Pk(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){nb[f[p+4>>2]&127](f[p+8>>2]|0);if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{u=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=31157;f[o+4>>2]=154438;f[o+8>>2]=31184;yc(21,31132,o);u=21;t=s;return u|0}function Ym(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=ql(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}tl(a,o,m,c,e)}else q=18;while(0);if((q|0)==18)lm(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 rl(y,e,n,p,m)|0;n=f[z>>2]|0;i=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{g=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)>(d|0))return 0;$m(b,c,0,0,0)|0;return 0}function _m(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;ib[f[c+60>>2]&255](c,1e6)|0;c=1;return c|0}function $m(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=33138;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;tg(a,1,46677,o);i=1}else p=23}else{i=10;p=23}do if((p|0)==23){f[a+404>>2]=0;i=Cj(a,i,d,e,g)|0;f[a+64>>2]=i;if(i|0){zg(a,i);break}if(!(f[a+256>>2]|0))i=0;else{zg(a,0);i=0}}while(0);if((i|0)==3082|(b[a+81>>0]|0)!=0){Bi(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 an(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=rl(a,c,e,g,0)|0;return i|0}return 0}function bn(a){a=a|0;if(!a){a=0;return a|0}a=(zt(a)|0)&1073741823;return a|0}function cn(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;rm(e)|0;return}function dn(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];li(a,47649,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];li(a,47678,j);k=1;t=l;return k|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,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?Ak(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=(Ak(0,f[c+36>>2]|0,f[a+36>>2]|0,-1)|0)==0&1;return u|0}function fn(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=Bc(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 gn(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 rl(p,55,g,h,m)|0;tl(a,0,f[k>>2]|0,f[(f[j+(l<<4)+12>>2]|0)+72>>2]|0,110);e=ul(p,5,23008)|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 hn(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[7160]|0)){g=hb[f[28684>>2]&127](g)|0;if(!g)break;else j=g}else{i=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[14051]|0;h=Ou(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}h=hb[f[28684>>2]&127](i)|0;if(!h)break;g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=(zt(j)|0)&1073741823;if(!c)return;if(!e){g=f[a>>2]|0;if(!(b[g+81>>0]|0)){sl(a,(f[a+88>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0,j,c);return}else{og(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=rl(a,91,e,c,0)|0;h=f[a>>2]|0;if(b[h+81>>0]|0){og(h,c,j);return}if((g|0)<0)g=(f[i>>2]|0)+-1|0;sl(a,(f[a+88>>2]|0)+(g*20|0)|0,j,c);return}function jn(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[7160]|0)){i=hb[f[28684>>2]&127](24)|0;P=24;break}i=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){_=f[14051]|0;U=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;T=ba()|0;f[13840]=((T|0)<0|(T|0)==0&U>>>0<=_>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){aa=0;t=ca;return aa|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){i=hb[f[28684>>2]&127](28)|0;P=48;break}i=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[14051]|0;T=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[13840]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(k){i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){i=hb[f[28684>>2]&127](272)|0;P=73;break}i=hb[f[28700>>2]&127](272)|0;if((f[14058]|0)>>>0<272)f[14058]=272;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[14051]|0;T=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;O=ba()|0;f[13840]=((O|0)<0|(O|0)==0&T>>>0<=U>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){aa=0;t=ca;return aa|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;bv(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=ql(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{Z=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)hg(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=Gg(aa,47635,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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{M=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}}while(0);i=f[c+12>>2]|0;do if(!i)i=0;else{r=zk(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]=123;f[W+8>>2]=124;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)){mi(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;li(U,33384,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=Jc(n,i,m,0)|0;if(!k){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{M=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(U,r,i,16)}else i=0;if(q)break}gg(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=Gg(K,35425,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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}}while(0);switch(b[k>>0]|0){case 118:{p=f[U>>2]|0;q=ml(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;g:do if(!n)l=0;else{o=(zt(n)|0)+1|0;h:do if(!p){u=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=189;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){u=f[14051]|0;g=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;s=ba()|0;f[13840]=((s|0)<0|(s|0)==0&g>>>0<=u>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break g}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=189}while(0);if((P|0)==189){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}e=Gk(K,f[k+20>>2]|0,0)|0;l=f[k+16>>2]|0;if(!l)l=0;else l=zk(K,l,0,0)|0;Ml(U,q,e,l,h[M>>0]|0,0);break}case 116:{p=f[U>>2]|0;u=ml(p,0,0,0)|0;if(u|0){n=f[k+12>>2]|0;k:do if(!n)l=0;else{o=(zt(n)|0)+1|0;l:do if(!p){g=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=239;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){g=f[14051]|0;s=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;r=ba()|0;f[13840]=((r|0)<0|(r|0)==0&s>>>0<=g>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break k}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=239}while(0);if((P|0)==239){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(l|0,m|0,n|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+4>>2]=l}}r=Fk(K,f[k+8>>2]|0,0)|0;s=Jk(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=Gk(K,f[e>>2]|0,0)|0;l=f[e+4>>2]|0;if(!l)p=0;else p=zk(K,l,0,0)|0;o=Gk(K,f[e+8>>2]|0,0)|0;l=f[e+12>>2]|0;if(!l)n=0;else n=zk(K,l,0,0)|0;o:do if(A){if(!(f[7160]|0)){V=hb[f[28684>>2]&127](36)|0;P=286;break}l=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[14051]|0;m=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&m>>>0<=da>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l)break;e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0){P=295;break}f[14060]=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=Bc(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)hg(K,q);if(p|0)gg(K,p);if(o|0)hg(K,o);if(!n){l=0;break}gg(K,n);l=0}while(0);Ol(U,u,r,s,g,l);break}case 117:{p=f[U>>2]|0;q=ml(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;p:do if(!n)l=0;else{o=(zt(n)|0)+1|0;q:do if(!p){da=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=323;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[14051]|0;u=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&u>>>0<=da>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break p}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=323}while(0);if((P|0)==323){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(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=zk(K,l,0,0)|0;Ll(U,q,l);break}default:{l=Fk(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;Il(U,l,W)|0;if(l|0)kg(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{rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{da=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;eo(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;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](O);break}else{da=hb[f[28696>>2]&127](O)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{da=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)hg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](U);da=_;t=ca;return da|0}else{da=hb[f[28696>>2]&127](U)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](U);da=_;t=ca;return da|0}return 0}function kn(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=ql(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{rl(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=rl(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=vl(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{rl(x,78,u,y,0)|0;break}}else{L=vl(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{rl(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=55600;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=Gg(W,40899,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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);break}else{Aa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=141;f[K>>2]=q;if(!B)v=0;else{mi(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=Jc(z,u,y,0)|0;if(!v){if(f[z+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);u=0;break}else{Aa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Am(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{rl(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=ql(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=rl(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;sl(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=rl(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=Jc(y,s,x,0)|0;if(!u){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);s=0;break}else{ya=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=(rl(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 rl(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 rl(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=55580;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=55580;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;ao(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;$n(a,c,s,g,i,k,1,0,5,1,-1);w=1;break}case 6:{ya=r+8|0;Ba=r+12|0;Ml(a,Ik(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=Gg(v,40899,T)|0}else{f[V>>2]=u;u=2579;z=Gg(v,46881,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=ql(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{ya=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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{rl(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=rl(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=55600;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=rl(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=55600;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=Jc(C,y,B,0)|0;if(!x){if(f[C+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);x=0;break}else{x=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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){hn(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 rl(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=zk(x,u,0,0)|0;if(!(b[x+81>>0]|0))xm(a,u,q,16);if(u|0)gg(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=zk(D,u,0,0)|0;i:do if(!(b[D+81>>0]|0)){do if(C){if((b[C>>0]|0)!=-92){A=vl(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{rl(u,78,x,B,0)|0;Ba=336;break i}}else A=vl(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{rl(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;gg(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{rl(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 rl(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=55580;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=55580;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=rl(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 rl(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 rl(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 rl(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=Yk(z,x,u,L&255)|0;do if(!(L<<24>>24)){if(!z){z=Zk(a,x,0,u)|0;break}if(f[z+12>>2]|0)break;z=Zk(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=rl(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){sl(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:{wm(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 rl(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 rl(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 rl(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=rl(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=rl(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]=41825;b[z>>0]=-1;break}else{sl(K,x+(u*20|0)|0,41825,-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=55600;f[u+8>>2]=x}while(0);Ml(a,Ik(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=55580;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=55580;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}$n(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{rl(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 rl(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=55600;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 rl(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=55600;f[s+8>>2]=u;f[p>>2]=w;t=Ia;return}function ln(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=ni(a,0,m,P)|0;else w=hi(Z,m,P)|0;m=(w|0)==0;if(!m?(Wm(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=(Ok(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=(Ok(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}lm(a,k,f[w+28>>2]|0,0,f[o>>2]|0);f[D>>2]=(f[D>>2]|0)+1;if(!E)nn(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}nn(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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 rl(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{rl(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=55580;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=55580;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?(on(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(Wm(a,c,k,X,Y)|0){if(o){T=110;break e}if(!(b[s>>0]|0))break;else{T=131;break e}}l=ml(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)pn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,g,-1);if(!v?($=b[k+25+x>>0]|0,pn(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;lg(Z,l)}l=f[Y>>2]|0;if(l){if(!u){if(f[w>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);T=128;break}else{T=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 mn(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=ql(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{rl(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=rl(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 rl(C,102,q,o,r)|0;if(!(u<<24>>24))hn(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 rl(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 nn(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=ql(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=Jc(t,o,s,0)|0;if(!p){if(f[t+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{B=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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 rl(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 rl(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=rl(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 rl(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}tl(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 rl(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 rl(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[13902]=p;o=55600}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 rl(H,109,I,o,c)|0;o=f[C>>2]|0;q=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{c=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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{rl(H,11,0,B,0)|0;break}}while(0);s=zm(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=rl(H,102,y,A,w)|0;p=f[H>>2]|0;c:do if(b[p+81>>0]|0){if((A|0)!=-12)og(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);sl(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=rl(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=ql(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=rl(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)sl(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{rl(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{rl(H,117,I,0,0)|0;return}}function on(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 pn(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=ql(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=rl(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=Bk(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=(zt(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(J=Bk(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=(zt(p)|0)&1073741823;f[H>>2]=N;if((N|0)!=0?(K=Bk(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=(zt(p)|0)&1073741823;f[C>>2]=p;u=Bk(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=Bc(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}hl(q);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[q+24>>2]|0)){f[L>>2]=o;li(a,33384,L);o=q}else o=q}while(0);if((N|0)==46){N=0;if(o|0)gg(p,o);if(!u)o=0;else{gg(p,u);o=0}}r=il(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=Bk(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=Bk(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=Bc(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}hl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break b;f[M>>2]=o;li(a,33384,M);break b}while(0);if(u|0)gg(n,u);if(s)n=0;else{gg(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=Bk(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=(zt(p)|0)&1073741823;f[F>>2]=N;if((N|0)!=0?(O=Bk(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=(zt(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(P=Bk(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=Bk(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=Bc(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}hl(s);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[s+24>>2]|0)){f[Q>>2]=o;li(a,33384,Q);o=s}else o=s}while(0);if((N|0)==120){N=0;if(o|0)gg(p,o);if(w)o=0;else{gg(p,v);o=0}}q=il(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=Bc(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}hl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break;f[R>>2]=o;li(a,33384,R);break}if(!q)n=0;else{gg(f[a>>2]|0,q);n=0}}while(0);r=il(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]=123;f[T+8>>2]=124;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;li(a,33384,U);break}mi(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=qn(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 rl(W,151,n,m,0)|0;if(q|0)rn(q)}if(!s)gg(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=55600;f[n+8>>2]=o;t=Y;return} -function Ck(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=Ck(a,f[n+12>>2]|0,e,k,i)|0;c=f[i>>2]|0;if(!c){i=r;t=I;return i|0}Ti(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)){Ri(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=Dc(o)|0;k=ba()|0;i=Nu(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(gf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(hf(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=Dc(o)|0;m=ba()|0;i=Nu(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=33713;n=c;r=k&255;m=-1;q=-1;H=39;break}default:{u=56244;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[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=64;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[14051]|0;C=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&C>>>0<=D>>>0)&1}k=hb[f[28684>>2]&127](c)|0;if(k){c=hb[f[28696>>2]&127](k)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Gg(a,40183,v)|0;if(!k){l=D;k=D;break f}Ze(D,k,-1,1,108)|0}else{v=f[n+8>>2]|0;v=Tu(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=Dc(o)|0;l=ba()|0;a=Nu(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,gf(f[x>>2]|0,E,f[y>>2]|0,w)|0):0){if(hf(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=Dc(o)|0;n=ba()|0;a=Nu(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)){Ri(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=Dc(o)|0;l=ba()|0;a=Nu(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,gf(f[A>>2]|0,E,f[B>>2]|0,z)|0):0){if(hf(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=Dc(o)|0;n=ba()|0;a=Nu(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=Pi(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[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=154;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){H=f[14051]|0;e=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&e>>>0<=H>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){k=hb[f[28696>>2]&127](c)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;tk(c);k=0;break e}break}case 142:{i:do if(!a){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=180;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[14051]|0;F=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}k=hb[f[28684>>2]&127](c)|0;if(k){c=hb[f[28696>>2]&127](k)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=(zt(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=Bc(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}}Ze(w,k,v,0,108)|0;k=0;break e}case 155:{k:do if(!a){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=223;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[14051]|0;F=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){k=hb[f[28696>>2]&127](c)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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))df(l);c=f[l+32>>2]|0;if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);i=7;t=I;return i|0}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);i=7;t=I;return i|0}}while(0);do if((H|0)==107){a=(Ck(a,c,e,g,G)|0)==0;n=f[G>>2]|0;r=n;if(a&(n|0)!=0){tk(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=Ou(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)){Ri(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=Dc(o)|0;l=ba()|0;H=Nu(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(gf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(hf(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=Dc(o)|0;m=ba()|0;a=Nu(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 Dk(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(Ak(a,f[c+16>>2]|0,f[d+16>>2]|0,-1)|0){d=1;return d|0}if(Ak(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(Ak(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(Ak(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 Ek(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=((zt(e)|0)&1073741823)+(d|1)|0;d=d+7&-8;if(!(c&1)){c=d;return c|0}else{e=Ek(f[a+12>>2]|0,c)|0;return e+d+(Ek(f[a+16>>2]|0,c)|0)|0}return 0}function Fk(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=Bc(a,76,0)|0}if(!g)break;h=Gk(a,f[c>>2]|0,e)|0;f[g>>2]=h;h=Ik(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=zk(a,h,e,0)|0;f[g+36>>2]=h;h=Gk(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=zk(a,h,e,0)|0;f[g+44>>2]=h;p=Gk(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=zk(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=Bc(a,k,i)|0}if(h){bv(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=Fk(a,f[o+8+(m<<4)+8>>2]|0,0)|0;f[n+(m<<4)+8>>2]=k;k=Gk(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=(zt(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=Bc(a,l,0)|0}if(i)$u(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=Hk(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 Gk(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=hb[f[28696>>2]&127](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=Bc(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=zk(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=(zt(l)|0)+1|0;do if(A){k=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](m)|0;y=50;break}h=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[14051]|0;k=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h){h=0;break b}i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;y=50}while(0);if((y|0)==50){y=0;if(!h){h=0;break}}$u(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=(zt(l)|0)+1|0;do if(A){B=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](m)|0;y=75;break}h=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[14051]|0;k=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h){h=0;break c}i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;y=75}while(0);if((y|0)==75){y=0;if(!h){h=0;break}}$u(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 Hk(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[7160]|0)){e=hb[f[28684>>2]&127](72)|0;m=25;break}e=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[14051]|0;k=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&k>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){c=0;return c|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=(zt(k)|0)+1|0;c:do if(i){i=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](l)|0;m=51;break}e=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){n=f[14051]|0;i=Ou(h|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,l,0)|0;m=51}while(0);if((m|0)==51)if(!e){e=0;break}$u(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=zk(a,e,0,0)|0;f[g+28>>2]=e;e=Gk(a,f[d+4>>2]|0,0)|0;f[g+4>>2]=e;e=Gk(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=zk(a,e,0,0)|0;f[g+16>>2]=e;e=f[d+20>>2]|0;if(!e)e=0;else e=zk(a,e,0,0)|0;f[g+20>>2]=e;f[g+60>>2]=c;n=g;return n|0}function Ik(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=Bc(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=Gk(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=Fk(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=zk(a,g,d,0)|0;f[m+(l*72|0)+44>>2]=g;h=Jk(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 Jk(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=Bc(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=Bc(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=(zt(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=Bc(a,k,0)|0}if(h)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);v=0;return v|0}else{v=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);v=0;return v|0}return 0}function Kk(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]=123;f[e+8>>2]=124;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;li(c,33384,h);n=1;t=m;return n|0}mi(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 Lk(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=zk(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]=130;f[k+24>>2]=h;mi(k,c)|0}if((b[e>>0]|0)==102){d=f[e+8>>2]|0;f[k>>2]=d;if(d){h=(zt(d)|0)&1073741823;f[k+4>>2]=h;if((h|0)!=0?(i=Bk(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;gg(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=(zt(n)|0)+1|0;a:do if(!m){k=Nu(a|0,0,-1,-1)|0;h=ba()|0;if(!(h>>>0>0|(h|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](a)|0;l=38;break}g=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;d=55352;h=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&h>>>0>0){k=f[14051]|0;h=Ou(h|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&h>>>0<=k>>>0)&1}d=hb[f[28684>>2]&127](g)|0;if(d){g=hb[f[28696>>2]&127](d)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,a,0)|0;l=38}while(0);if((l|0)==38)if(!d)d=0;else l=39;if((l|0)==39)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}function Mk(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 Nk(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 Ok(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=mb[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=ud(40899,h)|0;if(e|0?1:(f[j+20>>2]|0)>2){f[l>>2]=k;f[l+4>>2]=c;c=ud(40905,l)|0}f[m>>2]=c;li(a,40911,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}li(a,40505,i);f[a+12>>2]=1;m=g;t=n;return m|0}return 0}function Pk(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=(zt(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=55580;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=55580;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[55372+((((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=Nu(n|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&v>>>0>2147483390)break d;if(!(f[7160]|0)){i=hb[f[28684>>2]&127](n)|0;o=71;break}i=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){v=f[14051]|0;m=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=v>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break d;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,n,0)|0;o=71}while(0);if((o|0)==71)if(!i)break;else m=i;bv(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;$u(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=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{v=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Qk(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 Rk(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){Rk(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 Sk(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;ag(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=Xu(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[7160]|0)){c=hb[f[28684>>2]&127](80)|0;h=27;break}c=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){l=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=l>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){l=0;return l|0}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;Tk(f[a>>2]|0,f[i>>2]|0,c+42|0,c+4|0);Uk(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){fg(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}fg(k,c);l=0;return l|0}function Tk(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=Nu(m|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](m)|0;s=27;break}i=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){K=f[14051]|0;J=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;I=ba()|0;f[13840]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(i){k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,m,0)|0;s=27}while(0);if((s|0)==27)if(!i)K=0;else s=28;if((s|0)==28){bv(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=38544;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=Gg(a,41007,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=(zt(i)|0)+1|0;do if(G){s=Nu(p|0,0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](p)|0;s=74;break}k=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;o=55352;m=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&m>>>0>0){s=f[14051]|0;r=Ou(m|0,o|0,k|0,((k|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){m=hb[f[28696>>2]&127](k)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,p,0)|0;s=74}while(0);if((s|0)==74)if(!k)s=76;else s=75;if((s|0)==75){$u(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=55580;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=55580;break}}}while(0);if(!(f[k+8>>2]|0))break;Q=zt(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=Gg(a,41016,N)|0;if((f[L>>2]|0)>>>0>3)xd(4,L);if(!i){s=106;break d}}f[u>>2]=i;if(((ng(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](k);else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{Q=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Q=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[g>>2]=0;d[e>>1]=0;t=P;return}function Uk(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=Vk(G,m)|0;e=Wk(m)|0;n=q+13|0;b[n>>0]=e;if(l){k=(zt(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=Bc(H,g,0)|0}f[q>>2]=e;if(e|0){e=e+1|0;o=32}}else{h=(zt(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=Jc(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(H,g);while(0);f[q>>2]=0}while(0);if((o|0)==32){o=0;i=q+15|0;$u(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=Xk(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=(zt(i)|0)+1|0;do if(B){n=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;o=61;break}e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){n=f[14051]|0;m=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(H,k,0)|0;o=61}while(0);if((o|0)==61){o=0;if(!e){e=0;break}}$u(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 Vk(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=40999;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+(zt(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=Vk(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=Vk(m,n)|0;t=o;return n|0}default:{n=0;t=o;return n|0}}return 0}function Wk(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 Xk(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=Yk(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=Zk(a,b[k+78>>0]|0,0,f[c+8>>2]|0)|0;if(c){if((f[c+12>>2]|0)==0?(Zk(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 Yk(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=55580;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=55580;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=(zt(d)|0)&1073741823;m=l+61|0;b:do if(!a){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](m)|0;o=39;break}g=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){q=f[14051]|0;e=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&e>>>0<=q>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g)return 0;i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;o=39}while(0);if((o|0)==39)if(!g)return 0;bv(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;$u(i|0,d|0,l+1|0)|0;i=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);return 0}else{q=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);return 0}return 0}function Zk(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=Yk(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=(zt(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=Bc(q,m,0)|0;if(e|0){$u(e|0,g|0,m|0)|0;qb[f[l>>2]&127](f[q+252>>2]|0,q,k,e);if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);n=26;break}else{n=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Ze(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=Gc(i,2)|0;n=44}if((n|0)==44?o|0:0)qb[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))df(i);e=f[k>>2]|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}}while(0);c=Yk(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=55580;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=55580;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=55580;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=55580;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=55580;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=55580;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;li(a,40968,r);f[a+12>>2]=257;u=0;t=s;return u|0}function _k(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 $k(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 al(a,b){a=a|0;b=b|0;return 0}function bl(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[7160]|0)){e=hb[f[28684>>2]&127](76)|0;l=33;break}d=hb[f[28700>>2]&127](76)|0;if((f[14058]|0)>>>0<76)f[14058]=76;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[14051]|0;h=Ou(g|0,h|0,d|0,((d|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=hb[f[28684>>2]&127](d)|0;if(!g){o=2;t=p;return o|0}d=hb[f[28696>>2]&127](g)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ll(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=Bk(k,168,n,0)|0;n=kl(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 cl(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}Rk(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[7160]|0)){g=hb[f[28684>>2]&127](80)|0;fa=50;break}g=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[14051]|0;da=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){fa=51;break b}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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=(zt(n)|0)+1|0;h:do if(l){ea=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;fa=77;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ea=f[14051]|0;da=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break g}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(s,o,0)|0;fa=77}while(0);if((fa|0)==77){fa=0;if(!i){i=0;break}}$u(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=Fk(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]=41090;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];wk(a,da)|0;f[ea>>2]=0}else wk(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);Tk(f[v>>2]|0,e,g+42|0,g+4|0);if(p){f[u>>2]=(f[q+8>>2]&8192|0)==0?41151:41189;wk(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(wk(a,f[A+20>>2]|0)|0){e=2;fa=512;break b}if(gl(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=ni(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(ii(ra,e)|0){e=2;fa=512;break b}ca=Fk(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;wk(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;li(v,g,F);ua=2;t=va;return ua|0}else if((fa|0)==26){f[G>>2]=E;li(v,41024,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];li(v,41047,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;li(v,41113,L);f[w>>2]=l;ua=2;t=va;return ua|0}else if((fa|0)==115){f[H>>2]=f[e>>2];li(ra,41223,H);f[l>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==118){f[I>>2]=f[A+8>>2];li(ra,41024,I);ua=2;t=va;return ua|0}else if((fa|0)==132){f[J>>2]=m;f[J+4>>2]=0;li(ra,41262,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=Bc(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=Zu(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=Bc(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=Zu(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=Bc(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}hl(e);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)<(f[e+24>>2]|0)){f[Q>>2]=k;li(ra,33384,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)gg(e,n);if(m){e=0;break}gg(e,i);e=0}while(0);e=il(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){jl(e,f[D+40>>2]|0);e=f[A>>2]|0}ea=il(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=Bc(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=Zu(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=Bc(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=Zu(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=Bc(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}hl(e);g=f[(f[ra>>2]|0)+120>>2]|0;if((g|0)<(f[e+24>>2]|0)){f[S>>2]=g;li(ra,33384,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)gg(e,m);if(k){e=0;break}gg(e,l);e=0}while(0);ea=il(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;li(ra,41280,P);ua=2;t=va;return ua|0}else if((fa|0)==213){li(ra,41330,R);ua=2;t=va;return ua|0}else if((fa|0)==292){f[T>>2]=o;li(ra,41385,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=kl(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=41449;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=(zt(u)|0)&1073741823;f[P>>2]=i;o=Bk(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=(zt(F)|0)&1073741823;f[Q>>2]=i;n=Bk(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=Bc(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}hl(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;li(ra,33384,la);o=0}while(0);do if((fa|0)==381){fa=0;if(n|0)gg(i,n);if(!o){k=0;o=1;break}gg(i,o);k=0;o=1}while(0);A:do if(B)i=k;else{f[ja>>2]=E;p=(zt(E)|0)&1073741823;f[R>>2]=p;p=Bk(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=Bc(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}hl(i);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)>=(f[i+24>>2]|0))break A;f[ma>>2]=k;li(ra,33384,ma);break A}while(0);if(p|0)gg(i,p);if(o){i=0;break}gg(i,k);i=0}while(0);if(!O){s=0;r=u;break}f[na>>2]=F;f[na+4>>2]=u;r=Gg(sa,40899,na)|0;s=r}while(0);g=kl(f[ra>>2]|0,g,i)|0;q=r;i=(r|0)==0;if(i)p=0;else p=(zt(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=Bc(n,m,0)|0}if(!i){n=0;break}$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;fa=457;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[14051]|0;M=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i)break E;k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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=(zt(n)|0)+1|0;H:do if(S){N=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;fa=484;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[14051]|0;M=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break G}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(sa,o,0)|0;fa=484}while(0);if((fa|0)==484){fa=0;if(!i){i=0;break}}$u(i|0,n|0,o|0)|0}else{f[oa>>2]=E;f[oa+4>>2]=F;f[oa+8>>2]=r;i=Gg(sa,41451,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);i=1;break}else{i=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(ra,41478,qa);break}else{f[pa>>2]=K;li(ra,41460,pa);break}}while(0);L=L+1|0}while((L|0)<(f[ia>>2]|0));hg(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)){li(ra,41498,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 dl(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 el(a,b){a=a|0;b=b|0;return 0}function fl(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}Uk(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 gl(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[7160]|0)){g=hb[f[28684>>2]&127](80)|0;n=24;break}g=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){m=f[14051]|0;k=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(h){g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Gg(i,41531,l)|0}else{c=(zt(k)|0)+1|0;c:do if(!i){l=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](c)|0;n=51;break}g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[14051]|0;i=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break b}h=hb[f[28696>>2]&127](g)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(i,c,0)|0;n=51}while(0);if((n|0)==51)if(!g){g=0;break}$u(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}Tk(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 hl(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 il(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?(yk(c,g)|0)!=0:0)if(!(f[g>>2]|0)){gg(a,c);gg(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?(yk(e,g)|0)!=0:0){if(!(f[g>>2]|0)){gg(a,c);gg(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=Bc(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;hl(h);l=h;t=m;return l|0}gg(a,c);gg(a,e);l=0;t=m;return l|0}while(0);l=Bk(a,143,1e4,0)|0;t=m;return l|0}function jl(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{jl(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))}jl(f[a+12>>2]|0,c);a=f[a+16>>2]|0}while((a|0)!=0);return}function kl(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=Bc(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=Jc(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)gg(a,d);if(!c){h=0;return h|0}hg(a,c);h=0;return h|0}function ll(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?41543:41546;li(a,41552,m);break}else{q=ml(r,0,d,e)|0;n=6;break}}else{q=ml(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[7160]|0)){c=hb[f[28684>>2]&127](16)|0;n=35;break}c=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;d=55352;m=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&m>>>0>0){u=f[14051]|0;d=Ou(m|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&d>>>0<=u>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break a;m=hb[f[28696>>2]&127](c)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=nl(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)gg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(r,c);c=m;n=75;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);n=73;break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{u=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!i){u=0;t=s;return u|0}kg(r,i,1);u=0;t=s;return u|0}function ml(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=Bc(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=Jc(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=hb[f[28696>>2]&127](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){lg(a,c);e=0;return e|0}g=(f[c>>2]|0)+-1|0;if(e|0?f[e>>2]|0:0){e=nl(a,e)|0;f[c+8+(g*72|0)+8>>2]=e;e=nl(a,d)|0;f[c+8+(g*72|0)+4>>2]=e;e=c;return e|0}e=nl(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 nl(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=Nu(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=Bc(a,e,g)|0;if(!a){k=0;return k|0}$u(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} -function ji(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=(zt(u)|0)&1073741823;r=Pk(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=(zt(i)|0)&1073741823;gf(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;li(na,40419,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=mb[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{li(na,40505,A);g=1;ma=255;break}else{li(na,40490,z);g=23;ma=255}while(0);if((ma|0)==255){f[na+12>>2]=g;f[C>>2]=f[o>>2];li(na,40528,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]=40609;f[D+4>>2]=(B&32|0)==0?((B&4|0)==0?40563:40591):40256;li(na,40219,D);g=f[q>>2]|0}if(!(g&262144)){x=r;o=0;q=0}else{o=(b[na+18>>0]|0)==0&(f[7227]|0)==0;x=o?0:r;q=0}}else{x=Pk(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;li(na,40637,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]=40710;f[G+4>>2]=s;f[G+8>>2]=u;li(na,40681,G)}else{f[H>>2]=40720;f[H+4>>2]=s;f[H+8>>2]=u;li(na,40681,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;li(na,40727,I);ma=283;break}if(q|0){f[J>>2]=s;f[J+4>>2]=u;li(na,40750,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?mi(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]=128;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?mi(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?mi(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?mi(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{mi(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=Gk(f[na>>2]|0,f[n+4>>2]|0,0)|0;f[o+4>>2]=g;g=Gk(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=zk(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=zk(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;li(na,40795,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){li(na,40814,P);break}g=f[x+32>>2]|0;if((g|0)==32935|(g|0)==32985){k=o+16|0;g=f[k>>2]|0;if(g|0)gg(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)gg(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)==32975|((g|0)==32962|((g|0)==32946|(g|0)==32957))){k=o+16|0;g=f[k>>2]|0;if(g|0)gg(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)gg(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(!(Dk(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]=40877;f[q+4>>2]=(g&32|0)==0?((g&4|0)==0?40563:40591):40256;li(na,40219,q)}wk(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]=40888;f[n+4>>2]=(e&32|0)==0?((e&4|0)==0?40563:40591):40256;li(na,40219,n)}break}case -100:case 45:{e=f[c+16>>2]|0;if((b[e>>0]|0)==59){if((ji(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]=40239;f[o+4>>2]=40256;li(na,40219,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(Nk(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=40274;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=40278;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=40282;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=40291;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=40299;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=40305;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=40291;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=40299;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=40305;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;li(na,40309,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){li(na,40340,ga);qa=2;t=oa;return qa|0}Lk(na,C,A,c,56244,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=40358;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=40363;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=40391;ma=198;break}}b[c>>0]=-101;qa=1;t=oa;return qa|0}else{l=0;n=0;i=40391;ma=198}else if((ma|0)==197)if((n|0)==1){o=1;n=E;ma=204}else{l=q;i=40369;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;li(na,33467,ha);break}else{f[ia>>2]=i;f[ia+4>>2]=u;li(na,33477,ia);break}else{f[ja>>2]=i;f[ja+4>>2]=w;f[ja+8>>2]=v;f[ja+12>>2]=u;li(na,40406,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=Zu(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)gg(s,l);f[i>>2]=0;i=c+16|0;l=f[i>>2]|0;if(l|0)gg(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=40299}else ma=225;if((ma|0)==225)g=f[(f[k+4>>2]|0)+(g<<4)>>2]|0;if((Ok(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))li(na,40340,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 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,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)){ag(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]=123;f[S>>2]=124;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}mi(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]=123;f[_>>2]=124;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=0;wk(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]=123;f[_>>2]=124;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=ca;wk(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]=123;f[v>>2]=124;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}mi(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]=123;f[A>>2]=124;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}mi(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]=123;f[E>>2]=124;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}mi(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]=123;f[I>>2]=124;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}mi(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?xk(ga,p,f[p+48>>2]|0,39800)|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(xk(ga,p,m,39806)|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;li(Pa,33384,ra);H=13;break}case 46:{f[sa>>2]=ia;li(ha,33384,sa);H=50;break}case 57:{li(Pa,39756,wa);Sa=2;t=Ra;return Sa|0}case 61:{f[xa>>2]=ka;li(ja,33384,xa);H=65;break}case 70:{f[ya>>2]=ma;li(la,33384,ya);H=74;break}case 86:{f[ta>>2]=oa;li(na,33384,ta);H=90;break}case 104:{li(Pa,39812,ua);Sa=2;t=Ra;return Sa|0}case 108:{if(f[pa+8>>2]&512|0){li(Pa,39871,va);Sa=2;t=Ra;return Sa|0}switch(b[pa+4>>0]|0){case 124:{c=39940;break}case 126:{c=39930;break}case 125:{c=39923;break}default:c=39917}f[za>>2]=c;li(Pa,39950,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)){li(Pa,40032,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(!(yk(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=zk(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]=123;f[B>>2]=124;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)){mi(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;li(Pa,33384,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((Ak(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)gg(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=Bk(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)gg(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]=39800;f[Ma+8>>2]=Fa;li(Pa,40066,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;li(Pa,40122,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 li(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;zc(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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);t=n;return}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=n;return}}function mi(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=ib[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?mi(a,c)|0:0){h=2;c=54;break}d=f[p+16>>2]|0;if(!d){c=9;break}c=ib[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?mi(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=ib[i&255](a,d)|0;c:do if(!c){d:while(1){if(vk(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?wk(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?mi(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)ob[c&127](a,d);d=f[d+52>>2]|0;if(!d)break b;c=ib[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?mi(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?mi(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?mi(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 ni(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=oi(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=oi(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=hi(s,e,g)|0;if(i|0){a=i;t=E;return a|0}y=(c&1|0)==0?33432:33446;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=55580;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=55580;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=33459;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=33460;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=33461;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=33462;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=33463;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=33464;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=33465;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[6064+(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[6064+(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[6064+(i<<4)+5>>0]&48){z=pi(s,e,29380,6064+(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[7160]|0)){i=hb[f[28684>>2]&127](80)|0;w=75;break}i=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;p=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[13840]=((o|0)<0|(o|0)==0&p>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break h;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=(zt(n)|0)+1|0;k:do if(q){r=Nu(o|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&r>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](o)|0;w=102;break k}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[14051]|0;p=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&p>>>0<=r>>>0)&1}l=hb[f[28684>>2]&127](i)|0;if(!l)break;i=hb[f[28696>>2]&127](l)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){p=l;break k}f[14060]=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=Bc(u,o,0)|0;w=102}while(0);if((w|0)==102)if(!i){w=104;break}else p=i;$u(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=(zt(p)|0)+1|0;l:do if(q){r=Nu(n|0,0,-1,-1)|0;q=ba()|0;if(q>>>0>0|(q|0)==0&r>>>0>2147483390)i=0;else{if(!(f[7160]|0)){i=hb[f[28684>>2]&127](n)|0;w=137;break}i=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[14051]|0;q=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[13840]=((o|0)<0|(o|0)==0&q>>>0<=r>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break}l=hb[f[28696>>2]&127](i)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){w=138;break}f[14060]=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=Bc(u,n,0)|0;w=137}while(0);if((w|0)==137)if(!i)i=0;else w=138;if((w|0)==138)$u(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=Bc(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=Jc(u,l,o,p)|0;w=156;break m}while(0);l=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(u,l,n,o)|0;w=185;break p}while(0);x=Jc(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=(zt(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=Bc(u,n,0)|0;if(!i){p=0;break}$u(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=Bc(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=Jc(u,i,n,o)|0;w=219;break s}while(0);i=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{x=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(qi(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;li(a,31564,B);u:do if(k|0){if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{B=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;fg(u,i)}else fg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{B=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(a,33477,D)}else{f[C>>2]=y;f[C+4>>2]=g;f[C+8>>2]=e;li(a,33467,C)}b[a+17>>0]=1;a=0;t=E;return a|0}function oi(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?39516:34444;f[D>>2]=x;f[D+4>>2]=39535;f[D+8>>2]=39537;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;tj(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=Ji(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=35490;break}case 100:{l=35468;break}case 101:{l=35445;break}default:{i=m&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)l=f[7968+(i<<2)>>2]|0;else l=35431}}i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{F=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);c:do if(l){k=(zt(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=Bc(a,k,0)|0;if(i)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(a,68,0)|0;E=62}if((E|0)==62)if(!i)i=0;else{g=i;k=39609;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[7193]|0;m=f[k+44>>2]|0;if((g|0)<=-1){s=Tu(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=Ru(s|0,u|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}ob[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(a,24,0)|0;E=93}if((E|0)==93)if(!i)i=0;else{g=i;k=39677;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=Gg(a,39701,y)|0;e=a+312|0;y=f[e>>2]|0;f[e>>2]=0;k=sj(a,g,75,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=(k|0)==0;if(g)uj(a,c)|0;if(!(b[a+81>>0]|0)){if(!g){i=k;E=112}}else{Th(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],(Eg(F,0)|0)==0):0)Fg(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){Uh(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 pi(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=(zt(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[7160]|0)){i=hb[f[28684>>2]&127](h)|0;if(!i)break;else{j=i;h=i}}else{j=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[14051]|0;i=Ou(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(!i){i=0;break}h=hb[f[28696>>2]&127](i)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h;j=i;h=i}i=j+20|0;$u(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=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);l=0;return l|0}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 qi(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=Gg(a,33484,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=(zt(n)|0)+1|0;A=(a|0)==0;b:do if(A){z=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](o)|0;B=31;break}k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[14051]|0;m=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=z>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l){a=7;t=E;return a|0}k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,o,0)|0;B=31}while(0);if((B|0)==31)if(!k){a=7;t=E;return a|0}else z=k;$u(z|0,n|0,o|0)|0;if(!(f[7160]|0)){k=hb[f[28684>>2]&127](28)|0;if(!k)B=43;else n=k}else{k=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=f[14051]|0;n=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);a=7;t=E;return a|0}else{a=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[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=Gg(a,33556,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)hb[f[(f[k>>2]|0)+16>>2]&127](k)|0;if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);k=1;B=115;break c}else{k=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=56244;else{g=f[l+(s<<4)>>2]|0;g=g+(zt(g)|0)+1|0}q=(zt(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=Gg(a,31564,x)|0;f[i>>2]=l;l=f[v>>2]|0;if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{D=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else{f[w>>2]=z;D=Gg(a,33526,w)|0;f[i>>2]=D}while(0);if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);B=115;break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);B=115;break}}while(0);if((B|0)==115){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);a=k;t=E;return a|0}else{a=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);a=k;t=E;return a|0}return 0}function ri(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=38337;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[9808+(e<<2)>>2]|0;f[g>>2]=40;f[g+4>>2]=y;of(v,38352,g);if((h[k>>0]|0)>1){g=1;do{e=e+1|0;y=f[9808+(e<<2)>>2]|0;f[o>>2]=44;f[o+4>>2]=y;of(v,38352,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];of(v,38359,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=38365;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 Cc(v,38365,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=38377;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 Cc(v,38377,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 Cc(v,33721,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)Ac(v)|0;e=uk(a,w)|0;if(e|0){c=Kj(a)|0;f[x>>2]=c;c=ud(31564,x)|0;f[j>>2]=c;c=e;a=0;f[i>>2]=a;t=z;return c|0}if(Kc()|0){c=7;a=0;f[i>>2]=a;t=z;return c|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](24)|0;if(!e){c=7;a=e;f[i>>2]=a;t=z;return c|0}else g=e}else{e=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;k=55352;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){j=f[14051]|0;x=Ou(g|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=j>>>0)&1}k=hb[f[28684>>2]&127](e)|0;if(!k){c=7;a=0;f[i>>2]=a;t=z;return c|0}e=hb[f[28696>>2]&127](k)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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 si(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 ti(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){c=hb[f[28684>>2]&127](24)|0;if(!c){b=7;return b|0}}else{e=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[14051]|0;d=Ou(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c){g=7;return g|0}d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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 vi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Di(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function wi(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;Di(f[w>>2]|0)|0;f[w>>2]=0;y=a+16|0;c=f[y>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(c,1)|0}if(c|0?(f[l>>2]=c,p=ud(31564,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;Cc(s,38321,7);c=f[x>>2]|0;if(c|0){f[q>>2]=c;of(s,38329,q)}e=f[f[o>>2]>>2]|0;if(!e)c=0;else c=(zt(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;$u((f[g>>2]|0)+j|0,e|0,c|0)|0}}else Cc(s,e,c);c=f[y>>2]|0;if(c|0){f[r>>2]=c;of(s,38333,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=Ac(s)|0;else c=f[g>>2]|0;if(!c){y=7;t=z;return y|0}e=Ii(f[p>>2]|0,c,-1,128,0,w,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{s=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}if(e|0){y=Kj(f[p>>2]|0)|0;f[v>>2]=y;y=ud(31564,v)|0;f[u+8>>2]=y;y=e;t=z;return y|0}a=a+8|0;u=a;u=Nu(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((Ci(f[w>>2]|0)|0)==100){y=0;t=z;return y|0}e=Di(f[w>>2]|0)|0;f[w>>2]=0;Di(0)|0;f[w>>2]=0;c=f[y>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[y>>2]=0;c=f[x>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[x>>2]=0;y=e;t=z;return y|0}function xi(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;d=b;d=Nu(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((Ci(f[b>>2]|0)|0)==100){d=0;return d|0}d=Di(f[b>>2]|0)|0;f[b>>2]=0;Ei(a);return d|0}function yi(a){a=a|0;return (f[a+4>>2]|0)==0|0}function zi(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((Ze(f[c>>2]|0,f[a+16+(e-g<<2)>>2]|0,-1,1,-1)|0)!=18)return 0;f[c+20>>2]=18;Ze(f[c>>2]|0,32336,-1,1,0)|0;return 0}k=f[a+4>>2]|0;i=(k|0)==0;do if(i)l=28920;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;zg(l,25);l=28920}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){Bi(g);a=7}else a=f[g+68>>2]&a;f[e>>2]=a}kf(c,l);return 0}function Ai(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 Bi(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;zg(a,7);return}function Ci(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)yc(21,33647,Ha+216|0);else{Ga=f[a>>2]|0;if(!Ga){yc(21,33602,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)Fi(c,a);z=dg(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)Bi(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){ib[oa&255](c,ea)|0;break}ib[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=Hi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ia);break}else{v=hb[f[28696>>2]&127](ia)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](ha);break}else{v=hb[f[28696>>2]&127](ha)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ha);break}while(0);do if(f[x+104>>2]|0?(ka=f[x+100>>2]|0,ka|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](ka);break}else{v=hb[f[28696>>2]&127](ka)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ka);break}while(0);do if(f[x+144>>2]|0?(la=f[x+140>>2]|0,la|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](la);break}else{v=hb[f[28696>>2]&127](la)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](la);break}while(0);do if(f[x+184>>2]|0?(ma=f[x+180>>2]|0,ma|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](ma);break}else{v=hb[f[28696>>2]&127](ma)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ma);break}while(0);do if(f[x+224>>2]|0){c=f[x+220>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(f[x+264>>2]|0){c=f[x+260>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(f[x+304>>2]|0){c=f[x+300>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[x+344>>2]|0))break;c=f[x+340>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[g>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(l,i);while(0);f[g>>2]=0}}else df(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=bf(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;Dg(a,33687,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[7024+(h[o>>0]<<2)>>2]|0;f[x+96>>2]=q;q=(zt(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(bf(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];of(ga,33699,Da);if(d[k>>1]|0){l=i+16|0;g=0;do{e=f[i+20+(g<<2)>>2]|0;if(!e)e=56244;else e=f[e>>2]|0;y=(wt(e,33704)|0)==0;f[pa>>2]=(b[(f[l>>2]|0)+g>>0]|0)==0?56244:33713;f[pa+4>>2]=y?33711:e;of(ga,33715,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{Cc(ga,33721,1);break i}}case -2:{f[qa>>2]=f[f[o+16>>2]>>2];of(ga,33723,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;of(ga,33731,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;of(ga,32662,sa);break}case -3:{f[ta>>2]=f[o+16>>2];of(ga,33738,ta);break}case -13:{p[ua>>3]=+p[f[o+16>>2]>>3];of(ga,32656,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;of(ga,32662,va);break i}if(!(g&8)){c=(g&1|0)==0?33741:31267;break i}else{p[wa>>3]=+p[e>>3];of(ga,32656,wa);break i}}case -12:{f[xa>>2]=f[(f[o+16>>2]|0)+8>>2];of(ga,33748,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];of(ga,33756,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{Cc(ga,33760,1);break i}}case -4:{of(ga,33762,za);break}case -5:case -17:{b[c>>0]=0;break}case -6:{f[Aa>>2]=f[f[o+16>>2]>>2];of(ga,31564,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;Ac(ga)|0}while(0);if((c|0)==(f[m>>2]|0)){if(!c)c=0;else c=(zt(c)|0)&1073741823;f[q+132>>2]=c;b[q+130>>0]=1}else{f[q+132>>2]=0;Ze(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(bf(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];td(3,e,33770,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)Fi(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=kb[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{Bi(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=sg(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=Ii(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;$u(ga|0,q|0,216)|0;$u(q|0,a|0,216)|0;$u(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))df(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;dg(q)|0}g=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{A=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(c,a);A=dg(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)Bi(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=Gc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(zt(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=Bc(Ga,g,0)|0;if(c)$u(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){Bi(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]=31157;f[e+4>>2]=81396;f[e+8>>2]=31184;yc(21,31132,e);Ga=21;t=Ha;return Ga|0}function Di(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){yc(21,33602,l);f[c>>2]=31157;f[c+4>>2]=80816;f[c+8>>2]=31184;yc(21,31132,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)Fi(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=dg(a)|0;g=f[a>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{j=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);break}while(0);if((e|0)==3082|(b[k+81>>0]|0)!=0){Bi(k);c=7}else c=f[k+68>>2]&e;Gi(k);k=c;t=l;return k|0}function Ei(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Di(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](b);f[a>>2]=0;return}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);f[a>>2]=0;return}}function Fi(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){ib[h&255](g,e)|0;d=f[e>>2]|0;e=f[e+4>>2]|0}else{ib[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=Ou(d|0,e|0,f[g>>2]|0,f[g+4>>2]|0)|0;d=Tu(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)qb[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}kb[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 Gi(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);Cg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{r=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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?($h(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)Uh(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)hb[f[(f[i>>2]|0)+16>>2]&127](i)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){nb[f[e+4>>2]&127](f[e+8>>2]|0);if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=g;g=f[g+12>>2]|0;do if(e|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[e&127](f[g+8>>2]|0);e=f[g+36>>2]|0;if(e|0)nb[e&127](f[g+28>>2]|0);e=f[g+56>>2]|0;if(e|0)nb[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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[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;fg(a,g)}else fg(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?(zg(a,0),s=f[c>>2]|0,s|0):0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))df(s);c=f[s+32>>2]|0;do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{u=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{u=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}} -function ht(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[13909]|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[13910]|0)==(h|0)){a=j+4|0;b=f[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}f[13907]=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[13905]=f[13905]&~(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=55924+(b<<2)|0;if((f[c>>2]|0)==(h|0)){f[c>>2]=a;if(!a){f[13906]=f[13906]&~(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[13911]|0)==(j|0)){j=(f[13908]|0)+b|0;f[13908]=j;f[13911]=i;f[i+4>>2]=j|1;if((i|0)!=(f[13910]|0))return;f[13910]=0;f[13907]=0;return}if((f[13910]|0)==(j|0)){j=(f[13907]|0)+b|0;f[13907]=j;f[13910]=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[13905]=f[13905]&~(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=55924+(a<<2)|0;if((f[b>>2]|0)==(j|0)){f[b>>2]=c;if(!c){f[13906]=f[13906]&~(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[13910]|0)){f[13907]=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=55660+(a<<1<<2)|0;b=f[13905]|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=55924+(d<<2)|0;f[i+28>>2]=d;f[i+20>>2]=0;f[i+16>>2]=0;b=f[13906]|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[13913]|0)+-1|0;f[13913]=j;if(j|0)return;a=56076;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[13913]=-1;return}function it(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=gt(c)|0;if(!a)return a|0;if(!(f[a+-4>>2]&3))return a|0;bv(a|0,0,c|0)|0;return a|0}function jt(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=gt(b)|0;return b|0}if(b>>>0>4294967231){b=pt()|0;f[b>>2]=12;b=0;return b|0}c=kt(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=gt(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;$u(c|0,a|0,(d>>>0>>0?d:b)|0)|0;ht(a);b=c;return b|0}function kt(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[14025]<<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;lt(k,c);return a|0}if((f[13911]|0)==(i|0)){k=(f[13908]|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[13911]=d;f[13908]=c;return a|0}if((f[13910]|0)==(i|0)){d=(f[13907]|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[13907]=c;f[13910]=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[13905]=f[13905]&~(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=55924+(c<<2)|0;if((f[d>>2]|0)==(i|0)){f[d>>2]=e;if(!e){f[13906]=f[13906]&~(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;lt(i,k);return a|0}return 0}function lt(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[13910]|0)==(h|0)){a=i+4|0;c=f[a>>2]|0;if((c&3|0)!=3)break;f[13907]=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[13905]=f[13905]&~(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=55924+(c<<2)|0;if((f[d>>2]|0)==(h|0)){f[d>>2]=a;if(!a){f[13906]=f[13906]&~(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[13911]|0)==(i|0)){i=(f[13908]|0)+b|0;f[13908]=i;f[13911]=h;f[h+4>>2]=i|1;if((h|0)!=(f[13910]|0))return;f[13910]=0;f[13907]=0;return}if((f[13910]|0)==(i|0)){i=(f[13907]|0)+b|0;f[13907]=i;f[13910]=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[13905]=f[13905]&~(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=55924+(b<<2)|0;if((f[a>>2]|0)==(i|0)){f[a>>2]=c;if(!c){f[13906]=f[13906]&~(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[13910]|0)){f[13907]=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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[h+28>>2]=d;f[h+20>>2]=0;f[h+16>>2]=0;a=f[13906]|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 mt(a,b){a=a|0;b=b|0;if(a>>>0<9){b=gt(b)|0;return b|0}else{b=nt(a,b)|0;return b|0}return 0}function nt(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=pt()|0;f[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;c=gt(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;lt(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;lt(e,i)}i=b+8|0;return i|0}function ot(a){a=a|0;var b=0;if(a>>>0>4294963200){b=pt()|0;f[b>>2]=0-a;a=-1}return a|0}function pt(){return 56180}function qt(a){a=a|0;return a|0}function rt(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function st(){return 30108}function tt(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function ut(a){a=a|0;var b=0;b=(vt(a)|0)==0;return (b?a:a&95)|0}function vt(a){a=a|0;return (a+-97|0)>>>0<26|0}function wt(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 xt(a){a=a|0;return (a+-65|0)>>>0<26|0}function yt(a){a=a|0;var b=0;b=(xt(a)|0)==0;return (b?a:a|32)|0}function zt(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 At(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Bt(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Bt(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=Ct(f[a+8>>2]|0,o)|0;e=Ct(f[a+12>>2]|0,o)|0;g=Ct(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=Ct(f[a+(g<<2)>>2]|0,o)|0;g=Ct(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=wt(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=Ct(f[a+(e<<2)>>2]|0,o)|0;e=Ct(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 Ct(a,b){a=a|0;b=b|0;var c=0;c=_u(a|0)|0;return ((b|0)==0?a:c)|0}function Dt(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=ot(Ha(221,d|0)|0)|0;break}case 9:{f[g>>2]=a;f[g+4>>2]=16;f[g+8>>2]=j;c=Ha(221,g|0)|0;switch(c|0){case -22:{f[m>>2]=a;f[m+4>>2]=9;f[m+8>>2]=n;c=Ha(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=ot(c)|0}break}case 1030:{f[e>>2]=a;f[e+4>>2]=1030;f[e+8>>2]=n;c=Ha(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;Ha(221,k|0)|0}c=ot(c)|0;break a}f[l>>2]=a;f[l+4>>2]=1030;f[l+8>>2]=0;c=Ha(221,l|0)|0;if((c|0)==-22){f[p>>2]=a;f[p+4>>2]=0;f[p+8>>2]=n;c=Ha(221,p|0)|0;if((c|0)>-1){f[q>>2]=c;f[q+4>>2]=2;f[q+8>>2]=1;Ha(221,q|0)|0}c=ot(c)|0;break a}else{if((c|0)>-1){f[o>>2]=c;Oa(6,o|0)|0}c=ot(-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=ot(Ha(221,h|0)|0)|0;break}default:{f[i>>2]=a;f[i+4>>2]=b;f[i+8>>2]=n;c=ot(Ha(221,i|0)|0)|0}}while(0);t=r;return c|0}function Et(){var a=0,b=0;b=t;t=t+16|0;a=Ca(20,b|0)|0;t=b;return a|0}function Ft(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c&255;a:do if(!e)a=a+(zt(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 Gt(a){a=a|0;var b=0;b=(Ht()|0)+188|0;return It(a,f[b>>2]|0)|0}function Ht(){return st()|0}function It(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[26736+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=26832;else{a=d;e=5}if((e|0)==5){d=26832;do{do{e=d;d=d+1|0}while((b[e>>0]|0)!=0);a=a+-1|0}while((a|0)!=0)}return Jt(d,f[c+20>>2]|0)|0}function Jt(a,b){a=a|0;b=b|0;return At(a,b)|0}function Kt(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 Lt(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=Na(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;Ha(221,g|0)|0}i=ot(d)|0;t=h;return i|0}function Mt(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;a=qt(a)|0;f[c>>2]=a;a=Oa(6,c|0)|0;a=ot((a|0)==-4?0:a)|0;t=b;return a|0}function Nt(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=ot(Aa(196,d|0)|0)|0;t=c;return b|0}function Ot(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=ot(za(195,d|0)|0)|0;t=c;return b|0}function Pt(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=ot(Ja(33,d|0)|0)|0;t=c;return b|0}function Qt(a,b){a=a|0;b=b|0;return Tt(a,b,(zt(a)|0)+1|0)|0}function Rt(a,b){a=a|0;b=b|0;St(a,b)|0;return a|0}function St(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 Tt(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 Ut(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=a;e=55271;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 Vt(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=ot(Pa(85,e|0)|0)|0;t=d;return c|0}function Wt(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=Ba(197,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ha(221,d|0)|0)>=0):0){Ut(d,a);f[e>>2]=d;f[e+4>>2]=b;b=ot(za(195,e|0)|0)|0}else b=ot(c)|0;t=g;return b|0}function Xt(a){a=a|0;var b=0,c=0;b=(zt(a)|0)+1|0;c=gt(b)|0;if(!c)a=0;else a=$u(c|0,a|0,b|0)|0;return a|0}function Yt(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=pt()|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((ot(wa(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=Xt(c)|0}else a=0}t=g;return a|0}function Zt(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=ot(La(4,e|0)|0)|0;t=d;return c|0}function _t(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=ot(Ia(3,e|0)|0)|0;t=d;return c|0}function $t(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 au(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=ot(Ka(39,d|0)|0)|0;t=c;return b|0}function bu(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=ot(Qa(91,d|0)|0)|0;t=c;return b|0}function cu(){return}function du(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=+fu(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=+gu(a);break}while(0);return +a}function eu(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=+fu(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*+gu(b);while(0);return +a}function fu(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=Yu(f[s>>2]|0,c|0,63)|0;ba()|0;do if(b>>>0>1078159481){h=hu(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=Zu(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=Zu(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 gu(a){a=+a;return +(+R(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function hu(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 iu(a,b,c){a=a|0;b=b|0;c=c|0;ju(a,b,c)|0;return a|0}function ju(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);bv(a|0,0,d|0)|0;return a|0}function ku(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)lu(a,c,d,e,j);else nu(a,c,d,k,e,0,j);if((e|0)==1){ou(k,1);e=0;break}else{ou(k,b);e=1;break}}else{lu(a,c,d,e,j);mu(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}nu(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{ou(k,2);n=e+-2|0;f[k>>2]=f[k>>2]^7;mu(k,1);nu(a+(0-(f[j+(n<<2)>>2]|0))+i|0,c,d,k,e+-1|0,1,j);ou(k,1);b=f[k>>2]|1;f[k>>2]=b;a=a+i|0;nu(a,c,d,k,n,1,j);e=n}if((l|0)==19){l=0;b=pu(k)|0;mu(k,b);a=a+i|0;e=b+e|0;b=f[k>>2]|0}}}while(0);t=m;return}function lu(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((ib[c&255](h,a)|0)>-1?(ib[c&255](h,i)|0)>-1:0)break a;h=l+(d<<2)|0;if((ib[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);ru(b,l,d);t=m;return}function mu(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 nu(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,(ib[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((ib[c&255](g,j)|0)>-1){i=10;break a}if((ib[c&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=d+1|0;f[n+(d<<2)>>2]=j;p=pu(m)|0;mu(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((ib[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){ru(b,n,d);lu(a,b,c,e,h)}t=o;return}function ou(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=qu(f[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function qu(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 ru(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;$u(d|0,f[b>>2]|0,e|0)|0;d=0;do{i=b+(d<<2)|0;d=d+1|0;$u(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 su(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=(ot(ua(140,g|0)|0)|0)==0;t=e;return (c?f[d>>2]|0:-1)|0}function tu(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=ot(ya(194,d|0)|0)|0;t=c;return b|0}function uu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(ta(118,c|0)|0)|0;t=b;return a|0}function vu(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 wu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(sa(10,c|0)|0)|0;t=b;return a|0}function xu(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=Fa(207,d|0)|0;if((d|0)==-9?(f[e>>2]=a,f[e+4>>2]=1,(Ha(221,e|0)|0)>=0):0){Ut(e,a);f[g>>2]=e;f[g+4>>2]=b;f[g+8>>2]=c;a=ot(Ga(212,g|0)|0)|0}else a=ot(d)|0;t=h;return a|0}function yu(){var a=0,b=0;b=t;t=t+16|0;a=Da(201,b|0)|0;t=b;return a|0}function zu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(Ma(40,c|0)|0)|0;t=b;return a|0}function Au(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=Yu(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=+Bu(a)*.5;return +((c|0)<0?-a:a)}function Bu(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=Zu(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 Cu(a){a=+a;var b=0;p[s>>3]=a;b=Yu(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=+Bu(a+ +I(+(a*a+a*2.0)))}while(0);return +a}function Du(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/(+fu(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+fu(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+fu(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function Eu(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=Yu(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=+Bu(e/(+I(+(e+1.0))+1.0)+a)}}else a=+S(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function Fu(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=Ra(94,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ha(221,d|0)|0)>=0):0){Ut(d,a);f[e>>2]=d;f[e+4>>2]=b;a=ot(va(15,e|0)|0)|0}else a=ot(c)|0;t=g;return a|0}function Gu(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=pt()|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=ot(xa(192,h|0)|0)|0}else{a=pt()|0;f[a>>2]=22;a=-1}while(0);t=i;return a|0}function Hu(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){bv(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=Ft(a,d<<24>>24)|0;t=h;return d-a|0}function Iu(){qa(56200);return}function Ju(){return 56184}function Ku(){return 56192}function Lu(){return 56196}function Mu(){return 56200}function Nu(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 Ou(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 Pu(a){a=a|0;return (a?31-(X(a^a-1)|0)|0:32)|0}function Qu(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=Pu(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>>>((Pu(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=Nu(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;Ou(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=Ou(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 Ru(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=Ou(j^a|0,i^b|0,j|0,i|0)|0;g=ba()|0;a=f^j;b=e^i;return Ou((Qu(h,g,Ou(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 Su(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 Tu(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=Su(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 Uu(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=Ou(h^a|0,g^b|0,h|0,g|0)|0;b=ba()|0;Qu(a,b,Ou(k^c|0,j^d|0,k|0,j|0)|0,ba()|0,i)|0;d=Ou(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 Vu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qu(a,b,c,d,0)|0}function Wu(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;Qu(a,b,c,d,e)|0;t=g;return (aa(f[e+4>>2]|0),f[e>>2]|0)|0}function Xu(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 Yu(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 Zu(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 $u(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Sa(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 av(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 $u(a,c,d)|0;return a|0}function bv(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 cv(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;ra(12);return -1}f[r>>2]=b;if((b|0)>($()|0)?(_()|0)==0:0){f[r>>2]=c;ra(12);return -1}return c|0}function dv(a){a=a|0;return gb[a&127]()|0}function ev(){return da(0)|0}function fv(){return da(1)|0}function gv(){return da(2)|0}function hv(){return da(3)|0}function iv(){return da(4)|0}function jv(){return da(5)|0}function kv(){return da(6)|0}function lv(){return da(7)|0}function mv(){return da(8)|0}function nv(){return da(9)|0}function ov(){return da(10)|0}function pv(){return da(11)|0}function qv(){return da(12)|0}function rv(){return da(13)|0}function sv(){return da(14)|0}function tv(){return da(15)|0}function uv(){return da(16)|0}function vv(){return da(17)|0}function wv(){return da(18)|0}function xv(){return da(19)|0}function yv(){return da(20)|0}function zv(){return da(21)|0}function Av(){return da(22)|0}function Bv(){return da(23)|0}function Cv(){return da(24)|0}function Dv(){return da(25)|0}function Ev(){return da(26)|0}function Fv(){return da(27)|0}function Gv(){return da(28)|0}function Hv(){return da(29)|0}function Iv(){return da(30)|0}function Jv(){return da(31)|0}function Kv(){return da(32)|0}function Lv(){return da(33)|0}function Mv(){return da(34)|0}function Nv(){return da(35)|0}function Ov(){return da(36)|0}function Pv(){return da(37)|0}function Qv(){return da(38)|0}function Rv(){return da(39)|0}function Sv(){return da(40)|0}function Tv(){return da(41)|0}function Uv(){return da(42)|0}function Vv(){return da(43)|0}function Wv(){return da(44)|0}function Xv(){return da(45)|0}function Yv(){return da(46)|0}function Zv(){return da(47)|0}function _v(){return da(48)|0}function $v(){return da(49)|0}function aw(){return da(50)|0}function bw(){return da(51)|0}function cw(){return da(52)|0}function dw(){return da(53)|0}function ew(){return da(54)|0}function fw(){return da(55)|0}function gw(){return da(56)|0}function hw(){return da(57)|0}function iw(){return da(58)|0}function jw(){return da(59)|0}function kw(){return da(60)|0}function lw(){return da(61)|0}function mw(){return da(62)|0}function nw(){return da(63)|0}function ow(a,b){a=a|0;b=b|0;return hb[a&127](b|0)|0}function pw(a){a=a|0;return ea(0,a|0)|0}function qw(a){a=a|0;return ea(1,a|0)|0}function rw(a){a=a|0;return ea(2,a|0)|0}function sw(a){a=a|0;return ea(3,a|0)|0}function tw(a){a=a|0;return ea(4,a|0)|0}function uw(a){a=a|0;return ea(5,a|0)|0}function vw(a){a=a|0;return ea(6,a|0)|0}function ww(a){a=a|0;return ea(7,a|0)|0}function xw(a){a=a|0;return ea(8,a|0)|0}function yw(a){a=a|0;return ea(9,a|0)|0}function zw(a){a=a|0;return ea(10,a|0)|0}function Aw(a){a=a|0;return ea(11,a|0)|0}function Bw(a){a=a|0;return ea(12,a|0)|0}function Cw(a){a=a|0;return ea(13,a|0)|0}function Dw(a){a=a|0;return ea(14,a|0)|0}function Ew(a){a=a|0;return ea(15,a|0)|0}function Fw(a){a=a|0;return ea(16,a|0)|0}function Gw(a){a=a|0;return ea(17,a|0)|0}function Hw(a){a=a|0;return ea(18,a|0)|0}function Iw(a){a=a|0;return ea(19,a|0)|0}function Jw(a){a=a|0;return ea(20,a|0)|0}function Kw(a){a=a|0;return ea(21,a|0)|0}function Lw(a){a=a|0;return ea(22,a|0)|0}function Mw(a){a=a|0;return ea(23,a|0)|0}function Nw(a){a=a|0;return ea(24,a|0)|0}function Ow(a){a=a|0;return ea(25,a|0)|0}function Pw(a){a=a|0;return ea(26,a|0)|0}function Qw(a){a=a|0;return ea(27,a|0)|0}function Rw(a){a=a|0;return ea(28,a|0)|0}function Sw(a){a=a|0;return ea(29,a|0)|0}function Tw(a){a=a|0;return ea(30,a|0)|0}function Uw(a){a=a|0;return ea(31,a|0)|0}function Vw(a){a=a|0;return ea(32,a|0)|0}function Ww(a){a=a|0;return ea(33,a|0)|0}function Xw(a){a=a|0;return ea(34,a|0)|0}function Yw(a){a=a|0;return ea(35,a|0)|0}function Zw(a){a=a|0;return ea(36,a|0)|0}function _w(a){a=a|0;return ea(37,a|0)|0}function $w(a){a=a|0;return ea(38,a|0)|0}function ax(a){a=a|0;return ea(39,a|0)|0}function bx(a){a=a|0;return ea(40,a|0)|0}function cx(a){a=a|0;return ea(41,a|0)|0}function dx(a){a=a|0;return ea(42,a|0)|0}function ex(a){a=a|0;return ea(43,a|0)|0}function fx(a){a=a|0;return ea(44,a|0)|0}function gx(a){a=a|0;return ea(45,a|0)|0}function hx(a){a=a|0;return ea(46,a|0)|0}function ix(a){a=a|0;return ea(47,a|0)|0}function jx(a){a=a|0;return ea(48,a|0)|0}function kx(a){a=a|0;return ea(49,a|0)|0}function lx(a){a=a|0;return ea(50,a|0)|0}function mx(a){a=a|0;return ea(51,a|0)|0}function nx(a){a=a|0;return ea(52,a|0)|0}function ox(a){a=a|0;return ea(53,a|0)|0}function px(a){a=a|0;return ea(54,a|0)|0}function qx(a){a=a|0;return ea(55,a|0)|0}function rx(a){a=a|0;return ea(56,a|0)|0}function sx(a){a=a|0;return ea(57,a|0)|0}function tx(a){a=a|0;return ea(58,a|0)|0}function ux(a){a=a|0;return ea(59,a|0)|0}function vx(a){a=a|0;return ea(60,a|0)|0}function wx(a){a=a|0;return ea(61,a|0)|0}function xx(a){a=a|0;return ea(62,a|0)|0}function yx(a){a=a|0;return ea(63,a|0)|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;return ib[a&255](b|0,c|0)|0}function Ax(a,b){a=a|0;b=b|0;return fa(0,a|0,b|0)|0}function Bx(a,b){a=a|0;b=b|0;return fa(1,a|0,b|0)|0}function Cx(a,b){a=a|0;b=b|0;return fa(2,a|0,b|0)|0}function Dx(a,b){a=a|0;b=b|0;return fa(3,a|0,b|0)|0}function Ex(a,b){a=a|0;b=b|0;return fa(4,a|0,b|0)|0}function Fx(a,b){a=a|0;b=b|0;return fa(5,a|0,b|0)|0}function Gx(a,b){a=a|0;b=b|0;return fa(6,a|0,b|0)|0}function Hx(a,b){a=a|0;b=b|0;return fa(7,a|0,b|0)|0}function Ix(a,b){a=a|0;b=b|0;return fa(8,a|0,b|0)|0}function Jx(a,b){a=a|0;b=b|0;return fa(9,a|0,b|0)|0}function Kx(a,b){a=a|0;b=b|0;return fa(10,a|0,b|0)|0}function Lx(a,b){a=a|0;b=b|0;return fa(11,a|0,b|0)|0}function Mx(a,b){a=a|0;b=b|0;return fa(12,a|0,b|0)|0}function Nx(a,b){a=a|0;b=b|0;return fa(13,a|0,b|0)|0}function Ox(a,b){a=a|0;b=b|0;return fa(14,a|0,b|0)|0}function Px(a,b){a=a|0;b=b|0;return fa(15,a|0,b|0)|0}function Qx(a,b){a=a|0;b=b|0;return fa(16,a|0,b|0)|0}function Rx(a,b){a=a|0;b=b|0;return fa(17,a|0,b|0)|0}function Sx(a,b){a=a|0;b=b|0;return fa(18,a|0,b|0)|0}function Tx(a,b){a=a|0;b=b|0;return fa(19,a|0,b|0)|0}function Ux(a,b){a=a|0;b=b|0;return fa(20,a|0,b|0)|0}function Vx(a,b){a=a|0;b=b|0;return fa(21,a|0,b|0)|0}function Wx(a,b){a=a|0;b=b|0;return fa(22,a|0,b|0)|0}function Xx(a,b){a=a|0;b=b|0;return fa(23,a|0,b|0)|0}function Yx(a,b){a=a|0;b=b|0;return fa(24,a|0,b|0)|0}function Zx(a,b){a=a|0;b=b|0;return fa(25,a|0,b|0)|0}function _x(a,b){a=a|0;b=b|0;return fa(26,a|0,b|0)|0}function $x(a,b){a=a|0;b=b|0;return fa(27,a|0,b|0)|0}function ay(a,b){a=a|0;b=b|0;return fa(28,a|0,b|0)|0}function by(a,b){a=a|0;b=b|0;return fa(29,a|0,b|0)|0}function cy(a,b){a=a|0;b=b|0;return fa(30,a|0,b|0)|0}function dy(a,b){a=a|0;b=b|0;return fa(31,a|0,b|0)|0}function ey(a,b){a=a|0;b=b|0;return fa(32,a|0,b|0)|0}function fy(a,b){a=a|0;b=b|0;return fa(33,a|0,b|0)|0}function gy(a,b){a=a|0;b=b|0;return fa(34,a|0,b|0)|0}function hy(a,b){a=a|0;b=b|0;return fa(35,a|0,b|0)|0}function iy(a,b){a=a|0;b=b|0;return fa(36,a|0,b|0)|0}function jy(a,b){a=a|0;b=b|0;return fa(37,a|0,b|0)|0}function ky(a,b){a=a|0;b=b|0;return fa(38,a|0,b|0)|0}function ly(a,b){a=a|0;b=b|0;return fa(39,a|0,b|0)|0}function my(a,b){a=a|0;b=b|0;return fa(40,a|0,b|0)|0}function ny(a,b){a=a|0;b=b|0;return fa(41,a|0,b|0)|0}function oy(a,b){a=a|0;b=b|0;return fa(42,a|0,b|0)|0}function py(a,b){a=a|0;b=b|0;return fa(43,a|0,b|0)|0}function qy(a,b){a=a|0;b=b|0;return fa(44,a|0,b|0)|0}function ry(a,b){a=a|0;b=b|0;return fa(45,a|0,b|0)|0}function sy(a,b){a=a|0;b=b|0;return fa(46,a|0,b|0)|0}function ty(a,b){a=a|0;b=b|0;return fa(47,a|0,b|0)|0}function uy(a,b){a=a|0;b=b|0;return fa(48,a|0,b|0)|0}function vy(a,b){a=a|0;b=b|0;return fa(49,a|0,b|0)|0}function wy(a,b){a=a|0;b=b|0;return fa(50,a|0,b|0)|0}function xy(a,b){a=a|0;b=b|0;return fa(51,a|0,b|0)|0}function yy(a,b){a=a|0;b=b|0;return fa(52,a|0,b|0)|0}function zy(a,b){a=a|0;b=b|0;return fa(53,a|0,b|0)|0}function Ay(a,b){a=a|0;b=b|0;return fa(54,a|0,b|0)|0}function By(a,b){a=a|0;b=b|0;return fa(55,a|0,b|0)|0}function Cy(a,b){a=a|0;b=b|0;return fa(56,a|0,b|0)|0}function Dy(a,b){a=a|0;b=b|0;return fa(57,a|0,b|0)|0}function Ey(a,b){a=a|0;b=b|0;return fa(58,a|0,b|0)|0}function Fy(a,b){a=a|0;b=b|0;return fa(59,a|0,b|0)|0}function Gy(a,b){a=a|0;b=b|0;return fa(60,a|0,b|0)|0}function Hy(a,b){a=a|0;b=b|0;return fa(61,a|0,b|0)|0}function Iy(a,b){a=a|0;b=b|0;return fa(62,a|0,b|0)|0}function Jy(a,b){a=a|0;b=b|0;return fa(63,a|0,b|0)|0}function Ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb[a&127](b|0,c|0,d|0)|0}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function My(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function Py(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|0}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(10,a|0,b|0,c|0)|0}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(11,a|0,b|0,c|0)|0}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(12,a|0,b|0,c|0)|0}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(13,a|0,b|0,c|0)|0}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(14,a|0,b|0,c|0)|0}function _y(a,b,c){a=a|0;b=b|0;c=c|0;return ga(15,a|0,b|0,c|0)|0}function $y(a,b,c){a=a|0;b=b|0;c=c|0;return ga(16,a|0,b|0,c|0)|0}function az(a,b,c){a=a|0;b=b|0;c=c|0;return ga(17,a|0,b|0,c|0)|0}function bz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(18,a|0,b|0,c|0)|0}function cz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(19,a|0,b|0,c|0)|0}function dz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(20,a|0,b|0,c|0)|0}function ez(a,b,c){a=a|0;b=b|0;c=c|0;return ga(21,a|0,b|0,c|0)|0}function fz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(22,a|0,b|0,c|0)|0}function gz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(23,a|0,b|0,c|0)|0}function hz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(24,a|0,b|0,c|0)|0}function iz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(25,a|0,b|0,c|0)|0}function jz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(26,a|0,b|0,c|0)|0}function kz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(27,a|0,b|0,c|0)|0}function lz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(28,a|0,b|0,c|0)|0}function mz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(29,a|0,b|0,c|0)|0}function nz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(30,a|0,b|0,c|0)|0}function oz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(31,a|0,b|0,c|0)|0}function pz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(32,a|0,b|0,c|0)|0}function qz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(33,a|0,b|0,c|0)|0}function rz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(34,a|0,b|0,c|0)|0}function sz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(35,a|0,b|0,c|0)|0}function tz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(36,a|0,b|0,c|0)|0}function uz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(37,a|0,b|0,c|0)|0}function vz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(38,a|0,b|0,c|0)|0}function wz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(39,a|0,b|0,c|0)|0}function xz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(40,a|0,b|0,c|0)|0}function yz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(41,a|0,b|0,c|0)|0}function zz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(42,a|0,b|0,c|0)|0}function Az(a,b,c){a=a|0;b=b|0;c=c|0;return ga(43,a|0,b|0,c|0)|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(44,a|0,b|0,c|0)|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(45,a|0,b|0,c|0)|0}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(46,a|0,b|0,c|0)|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return ga(47,a|0,b|0,c|0)|0}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(48,a|0,b|0,c|0)|0}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(49,a|0,b|0,c|0)|0}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(50,a|0,b|0,c|0)|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(51,a|0,b|0,c|0)|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(52,a|0,b|0,c|0)|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(53,a|0,b|0,c|0)|0}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(54,a|0,b|0,c|0)|0}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(55,a|0,b|0,c|0)|0}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(56,a|0,b|0,c|0)|0}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(57,a|0,b|0,c|0)|0}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(58,a|0,b|0,c|0)|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(59,a|0,b|0,c|0)|0}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(60,a|0,b|0,c|0)|0}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(61,a|0,b|0,c|0)|0}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(62,a|0,b|0,c|0)|0}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(63,a|0,b|0,c|0)|0}function Vz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kb[a&127](b|0,c|0,d|0,e|0)|0}function Wz(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 Xz(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 Yz(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 Zz(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 _z(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 $z(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 aA(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 bA(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 cA(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 dA(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 eA(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 fA(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 gA(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 hA(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 iA(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 jA(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 kA(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 lA(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 mA(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 nA(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 oA(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 pA(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 qA(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 rA(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 sA(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 tA(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 uA(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 vA(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 wA(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 xA(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 yA(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 zA(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 AA(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 BA(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 CA(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 DA(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 EA(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 FA(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 GA(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 HA(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 IA(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 JA(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 KA(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 LA(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 MA(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 NA(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 OA(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 PA(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 QA(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 RA(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 SA(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 TA(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 UA(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 VA(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 WA(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 XA(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 YA(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 ZA(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 _A(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 $A(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 aB(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 bB(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 cB(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 dB(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 eB(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 lb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function fB(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 gB(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 hB(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 iB(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 jB(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 kB(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 lB(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 mB(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 nB(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 oB(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 pB(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 qB(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 rB(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 sB(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 tB(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 uB(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 vB(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 wB(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 xB(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 yB(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 zB(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 AB(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 BB(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 CB(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 DB(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 EB(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 FB(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 GB(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 HB(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 IB(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 JB(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 KB(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 LB(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 MB(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 NB(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 OB(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 PB(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 QB(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 RB(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 SB(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 TB(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 UB(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 VB(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 WB(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 XB(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 YB(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 ZB(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 _B(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 $B(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 aC(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 bC(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 cC(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 dC(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 eC(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 fC(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 gC(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 hC(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 iC(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 jC(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 kC(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 lC(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 mC(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 nC(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 oC(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 pC(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 mb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function qC(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 rC(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 sC(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 tC(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 uC(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 vC(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 wC(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 xC(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 yC(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 zC(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 AC(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 BC(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 CC(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 DC(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 EC(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 FC(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 GC(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 HC(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 IC(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 JC(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 KC(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 LC(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 MC(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 NC(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 OC(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 PC(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 QC(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 RC(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 SC(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 TC(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 UC(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 VC(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 WC(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 XC(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 YC(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 ZC(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 _C(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 $C(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 aD(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 bD(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 cD(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 dD(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 eD(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 fD(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 gD(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 hD(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 iD(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 jD(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 kD(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 lD(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 mD(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 nD(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 oD(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 pD(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 qD(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 rD(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 sD(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 tD(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 uD(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 vD(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 wD(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 xD(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 yD(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 zD(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 AD(a,b){a=a|0;b=b|0;nb[a&127](b|0)}function BD(a){a=a|0;ka(0,a|0)}function CD(a){a=a|0;ka(1,a|0)}function DD(a){a=a|0;ka(2,a|0)}function ED(a){a=a|0;ka(3,a|0)}function FD(a){a=a|0;ka(4,a|0)}function GD(a){a=a|0;ka(5,a|0)}function HD(a){a=a|0;ka(6,a|0)}function ID(a){a=a|0;ka(7,a|0)}function JD(a){a=a|0;ka(8,a|0)}function KD(a){a=a|0;ka(9,a|0)}function LD(a){a=a|0;ka(10,a|0)}function MD(a){a=a|0;ka(11,a|0)}function ND(a){a=a|0;ka(12,a|0)}function OD(a){a=a|0;ka(13,a|0)}function PD(a){a=a|0;ka(14,a|0)}function QD(a){a=a|0;ka(15,a|0)}function RD(a){a=a|0;ka(16,a|0)}function SD(a){a=a|0;ka(17,a|0)}function TD(a){a=a|0;ka(18,a|0)}function UD(a){a=a|0;ka(19,a|0)}function VD(a){a=a|0;ka(20,a|0)}function WD(a){a=a|0;ka(21,a|0)}function XD(a){a=a|0;ka(22,a|0)}function YD(a){a=a|0;ka(23,a|0)}function ZD(a){a=a|0;ka(24,a|0)}function _D(a){a=a|0;ka(25,a|0)}function $D(a){a=a|0;ka(26,a|0)}function aE(a){a=a|0;ka(27,a|0)}function bE(a){a=a|0;ka(28,a|0)}function cE(a){a=a|0;ka(29,a|0)}function dE(a){a=a|0;ka(30,a|0)}function eE(a){a=a|0;ka(31,a|0)}function fE(a){a=a|0;ka(32,a|0)}function gE(a){a=a|0;ka(33,a|0)}function hE(a){a=a|0;ka(34,a|0)}function iE(a){a=a|0;ka(35,a|0)}function jE(a){a=a|0;ka(36,a|0)}function kE(a){a=a|0;ka(37,a|0)}function lE(a){a=a|0;ka(38,a|0)}function mE(a){a=a|0;ka(39,a|0)}function nE(a){a=a|0;ka(40,a|0)}function oE(a){a=a|0;ka(41,a|0)}function pE(a){a=a|0;ka(42,a|0)}function qE(a){a=a|0;ka(43,a|0)}function rE(a){a=a|0;ka(44,a|0)}function sE(a){a=a|0;ka(45,a|0)}function tE(a){a=a|0;ka(46,a|0)}function uE(a){a=a|0;ka(47,a|0)}function vE(a){a=a|0;ka(48,a|0)}function wE(a){a=a|0;ka(49,a|0)}function xE(a){a=a|0;ka(50,a|0)}function yE(a){a=a|0;ka(51,a|0)}function zE(a){a=a|0;ka(52,a|0)}function AE(a){a=a|0;ka(53,a|0)}function BE(a){a=a|0;ka(54,a|0)}function CE(a){a=a|0;ka(55,a|0)}function DE(a){a=a|0;ka(56,a|0)}function EE(a){a=a|0;ka(57,a|0)}function FE(a){a=a|0;ka(58,a|0)}function GE(a){a=a|0;ka(59,a|0)}function HE(a){a=a|0;ka(60,a|0)}function IE(a){a=a|0;ka(61,a|0)}function JE(a){a=a|0;ka(62,a|0)}function KE(a){a=a|0;ka(63,a|0)}function LE(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&127](b|0,c|0)}function ME(a,b){a=a|0;b=b|0;la(0,a|0,b|0)}function NE(a,b){a=a|0;b=b|0;la(1,a|0,b|0)}function OE(a,b){a=a|0;b=b|0;la(2,a|0,b|0)}function PE(a,b){a=a|0;b=b|0;la(3,a|0,b|0)}function QE(a,b){a=a|0;b=b|0;la(4,a|0,b|0)}function RE(a,b){a=a|0;b=b|0;la(5,a|0,b|0)}function SE(a,b){a=a|0;b=b|0;la(6,a|0,b|0)}function TE(a,b){a=a|0;b=b|0;la(7,a|0,b|0)}function UE(a,b){a=a|0;b=b|0;la(8,a|0,b|0)}function VE(a,b){a=a|0;b=b|0;la(9,a|0,b|0)}function WE(a,b){a=a|0;b=b|0;la(10,a|0,b|0)}function XE(a,b){a=a|0;b=b|0;la(11,a|0,b|0)}function YE(a,b){a=a|0;b=b|0;la(12,a|0,b|0)}function ZE(a,b){a=a|0;b=b|0;la(13,a|0,b|0)}function _E(a,b){a=a|0;b=b|0;la(14,a|0,b|0)}function $E(a,b){a=a|0;b=b|0;la(15,a|0,b|0)}function aF(a,b){a=a|0;b=b|0;la(16,a|0,b|0)}function bF(a,b){a=a|0;b=b|0;la(17,a|0,b|0)}function cF(a,b){a=a|0;b=b|0;la(18,a|0,b|0)}function dF(a,b){a=a|0;b=b|0;la(19,a|0,b|0)}function eF(a,b){a=a|0;b=b|0;la(20,a|0,b|0)}function fF(a,b){a=a|0;b=b|0;la(21,a|0,b|0)}function gF(a,b){a=a|0;b=b|0;la(22,a|0,b|0)}function hF(a,b){a=a|0;b=b|0;la(23,a|0,b|0)}function iF(a,b){a=a|0;b=b|0;la(24,a|0,b|0)}function jF(a,b){a=a|0;b=b|0;la(25,a|0,b|0)}function kF(a,b){a=a|0;b=b|0;la(26,a|0,b|0)}function lF(a,b){a=a|0;b=b|0;la(27,a|0,b|0)}function mF(a,b){a=a|0;b=b|0;la(28,a|0,b|0)}function nF(a,b){a=a|0;b=b|0;la(29,a|0,b|0)}function oF(a,b){a=a|0;b=b|0;la(30,a|0,b|0)}function pF(a,b){a=a|0;b=b|0;la(31,a|0,b|0)}function qF(a,b){a=a|0;b=b|0;la(32,a|0,b|0)}function rF(a,b){a=a|0;b=b|0;la(33,a|0,b|0)}function sF(a,b){a=a|0;b=b|0;la(34,a|0,b|0)}function tF(a,b){a=a|0;b=b|0;la(35,a|0,b|0)}function uF(a,b){a=a|0;b=b|0;la(36,a|0,b|0)}function vF(a,b){a=a|0;b=b|0;la(37,a|0,b|0)}function wF(a,b){a=a|0;b=b|0;la(38,a|0,b|0)}function xF(a,b){a=a|0;b=b|0;la(39,a|0,b|0)}function yF(a,b){a=a|0;b=b|0;la(40,a|0,b|0)}function zF(a,b){a=a|0;b=b|0;la(41,a|0,b|0)}function AF(a,b){a=a|0;b=b|0;la(42,a|0,b|0)}function BF(a,b){a=a|0;b=b|0;la(43,a|0,b|0)}function CF(a,b){a=a|0;b=b|0;la(44,a|0,b|0)}function DF(a,b){a=a|0;b=b|0;la(45,a|0,b|0)}function EF(a,b){a=a|0;b=b|0;la(46,a|0,b|0)}function FF(a,b){a=a|0;b=b|0;la(47,a|0,b|0)}function GF(a,b){a=a|0;b=b|0;la(48,a|0,b|0)}function HF(a,b){a=a|0;b=b|0;la(49,a|0,b|0)}function IF(a,b){a=a|0;b=b|0;la(50,a|0,b|0)}function JF(a,b){a=a|0;b=b|0;la(51,a|0,b|0)}function KF(a,b){a=a|0;b=b|0;la(52,a|0,b|0)}function LF(a,b){a=a|0;b=b|0;la(53,a|0,b|0)}function MF(a,b){a=a|0;b=b|0;la(54,a|0,b|0)}function NF(a,b){a=a|0;b=b|0;la(55,a|0,b|0)}function OF(a,b){a=a|0;b=b|0;la(56,a|0,b|0)}function PF(a,b){a=a|0;b=b|0;la(57,a|0,b|0)}function QF(a,b){a=a|0;b=b|0;la(58,a|0,b|0)}function RF(a,b){a=a|0;b=b|0;la(59,a|0,b|0)}function SF(a,b){a=a|0;b=b|0;la(60,a|0,b|0)}function TF(a,b){a=a|0;b=b|0;la(61,a|0,b|0)}function UF(a,b){a=a|0;b=b|0;la(62,a|0,b|0)}function VF(a,b){a=a|0;b=b|0;la(63,a|0,b|0)}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&255](b|0,c|0,d|0)}function XF(a,b,c){a=a|0;b=b|0;c=c|0;ma(0,a|0,b|0,c|0)}function YF(a,b,c){a=a|0;b=b|0;c=c|0;ma(1,a|0,b|0,c|0)}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;ma(2,a|0,b|0,c|0)}function _F(a,b,c){a=a|0;b=b|0;c=c|0;ma(3,a|0,b|0,c|0)}function $F(a,b,c){a=a|0;b=b|0;c=c|0;ma(4,a|0,b|0,c|0)}function aG(a,b,c){a=a|0;b=b|0;c=c|0;ma(5,a|0,b|0,c|0)}function bG(a,b,c){a=a|0;b=b|0;c=c|0;ma(6,a|0,b|0,c|0)}function cG(a,b,c){a=a|0;b=b|0;c=c|0;ma(7,a|0,b|0,c|0)}function dG(a,b,c){a=a|0;b=b|0;c=c|0;ma(8,a|0,b|0,c|0)}function eG(a,b,c){a=a|0;b=b|0;c=c|0;ma(9,a|0,b|0,c|0)}function fG(a,b,c){a=a|0;b=b|0;c=c|0;ma(10,a|0,b|0,c|0)}function gG(a,b,c){a=a|0;b=b|0;c=c|0;ma(11,a|0,b|0,c|0)}function hG(a,b,c){a=a|0;b=b|0;c=c|0;ma(12,a|0,b|0,c|0)}function iG(a,b,c){a=a|0;b=b|0;c=c|0;ma(13,a|0,b|0,c|0)}function jG(a,b,c){a=a|0;b=b|0;c=c|0;ma(14,a|0,b|0,c|0)}function kG(a,b,c){a=a|0;b=b|0;c=c|0;ma(15,a|0,b|0,c|0)}function lG(a,b,c){a=a|0;b=b|0;c=c|0;ma(16,a|0,b|0,c|0)}function mG(a,b,c){a=a|0;b=b|0;c=c|0;ma(17,a|0,b|0,c|0)}function nG(a,b,c){a=a|0;b=b|0;c=c|0;ma(18,a|0,b|0,c|0)}function oG(a,b,c){a=a|0;b=b|0;c=c|0;ma(19,a|0,b|0,c|0)}function pG(a,b,c){a=a|0;b=b|0;c=c|0;ma(20,a|0,b|0,c|0)}function qG(a,b,c){a=a|0;b=b|0;c=c|0;ma(21,a|0,b|0,c|0)}function rG(a,b,c){a=a|0;b=b|0;c=c|0;ma(22,a|0,b|0,c|0)}function sG(a,b,c){a=a|0;b=b|0;c=c|0;ma(23,a|0,b|0,c|0)}function tG(a,b,c){a=a|0;b=b|0;c=c|0;ma(24,a|0,b|0,c|0)}function uG(a,b,c){a=a|0;b=b|0;c=c|0;ma(25,a|0,b|0,c|0)}function vG(a,b,c){a=a|0;b=b|0;c=c|0;ma(26,a|0,b|0,c|0)}function wG(a,b,c){a=a|0;b=b|0;c=c|0;ma(27,a|0,b|0,c|0)}function xG(a,b,c){a=a|0;b=b|0;c=c|0;ma(28,a|0,b|0,c|0)}function yG(a,b,c){a=a|0;b=b|0;c=c|0;ma(29,a|0,b|0,c|0)}function zG(a,b,c){a=a|0;b=b|0;c=c|0;ma(30,a|0,b|0,c|0)}function AG(a,b,c){a=a|0;b=b|0;c=c|0;ma(31,a|0,b|0,c|0)}function BG(a,b,c){a=a|0;b=b|0;c=c|0;ma(32,a|0,b|0,c|0)}function CG(a,b,c){a=a|0;b=b|0;c=c|0;ma(33,a|0,b|0,c|0)}function DG(a,b,c){a=a|0;b=b|0;c=c|0;ma(34,a|0,b|0,c|0)}function EG(a,b,c){a=a|0;b=b|0;c=c|0;ma(35,a|0,b|0,c|0)}function FG(a,b,c){a=a|0;b=b|0;c=c|0;ma(36,a|0,b|0,c|0)}function GG(a,b,c){a=a|0;b=b|0;c=c|0;ma(37,a|0,b|0,c|0)}function HG(a,b,c){a=a|0;b=b|0;c=c|0;ma(38,a|0,b|0,c|0)}function IG(a,b,c){a=a|0;b=b|0;c=c|0;ma(39,a|0,b|0,c|0)}function JG(a,b,c){a=a|0;b=b|0;c=c|0;ma(40,a|0,b|0,c|0)}function KG(a,b,c){a=a|0;b=b|0;c=c|0;ma(41,a|0,b|0,c|0)}function LG(a,b,c){a=a|0;b=b|0;c=c|0;ma(42,a|0,b|0,c|0)}function MG(a,b,c){a=a|0;b=b|0;c=c|0;ma(43,a|0,b|0,c|0)}function NG(a,b,c){a=a|0;b=b|0;c=c|0;ma(44,a|0,b|0,c|0)}function OG(a,b,c){a=a|0;b=b|0;c=c|0;ma(45,a|0,b|0,c|0)}function PG(a,b,c){a=a|0;b=b|0;c=c|0;ma(46,a|0,b|0,c|0)}function QG(a,b,c){a=a|0;b=b|0;c=c|0;ma(47,a|0,b|0,c|0)}function RG(a,b,c){a=a|0;b=b|0;c=c|0;ma(48,a|0,b|0,c|0)}function SG(a,b,c){a=a|0;b=b|0;c=c|0;ma(49,a|0,b|0,c|0)}function TG(a,b,c){a=a|0;b=b|0;c=c|0;ma(50,a|0,b|0,c|0)}function UG(a,b,c){a=a|0;b=b|0;c=c|0;ma(51,a|0,b|0,c|0)}function VG(a,b,c){a=a|0;b=b|0;c=c|0;ma(52,a|0,b|0,c|0)}function WG(a,b,c){a=a|0;b=b|0;c=c|0;ma(53,a|0,b|0,c|0)}function XG(a,b,c){a=a|0;b=b|0;c=c|0;ma(54,a|0,b|0,c|0)}function YG(a,b,c){a=a|0;b=b|0;c=c|0;ma(55,a|0,b|0,c|0)}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;ma(56,a|0,b|0,c|0)}function _G(a,b,c){a=a|0;b=b|0;c=c|0;ma(57,a|0,b|0,c|0)}function $G(a,b,c){a=a|0;b=b|0;c=c|0;ma(58,a|0,b|0,c|0)}function aH(a,b,c){a=a|0;b=b|0;c=c|0;ma(59,a|0,b|0,c|0)}function bH(a,b,c){a=a|0;b=b|0;c=c|0;ma(60,a|0,b|0,c|0)}function cH(a,b,c){a=a|0;b=b|0;c=c|0;ma(61,a|0,b|0,c|0)}function dH(a,b,c){a=a|0;b=b|0;c=c|0;ma(62,a|0,b|0,c|0)}function eH(a,b,c){a=a|0;b=b|0;c=c|0;ma(63,a|0,b|0,c|0)}function fH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qb[a&127](b|0,c|0,d|0,e|0)}function gH(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 hH(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 iH(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 jH(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 kH(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 lH(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 mH(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 nH(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 oH(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 pH(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 qH(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 rH(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 sH(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 tH(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 uH(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 vH(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 wH(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 xH(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 yH(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 zH(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 AH(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 BH(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 CH(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 DH(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 EH(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 FH(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 GH(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 HH(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 IH(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 JH(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 KH(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 LH(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 MH(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 NH(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 OH(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 PH(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 QH(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 RH(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 SH(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 TH(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 UH(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 VH(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 WH(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 XH(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 YH(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 ZH(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 _H(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 $H(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 aI(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 bI(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 cI(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 dI(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 eI(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 fI(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 gI(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 hI(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 iI(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 jI(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 kI(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 lI(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 mI(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 nI(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 oI(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 pI(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 qI(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;rb[a&127](b|0,c|0,d|0,e|0,f|0,g|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;oa(0,a|0,b|0,c|0,d|0,e|0,f|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;oa(1,a|0,b|0,c|0,d|0,e|0,f|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;oa(2,a|0,b|0,c|0,d|0,e|0,f|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;oa(3,a|0,b|0,c|0,d|0,e|0,f|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;oa(4,a|0,b|0,c|0,d|0,e|0,f|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;oa(5,a|0,b|0,c|0,d|0,e|0,f|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;oa(6,a|0,b|0,c|0,d|0,e|0,f|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;oa(7,a|0,b|0,c|0,d|0,e|0,f|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;oa(8,a|0,b|0,c|0,d|0,e|0,f|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;oa(9,a|0,b|0,c|0,d|0,e|0,f|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;oa(10,a|0,b|0,c|0,d|0,e|0,f|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;oa(11,a|0,b|0,c|0,d|0,e|0,f|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;oa(12,a|0,b|0,c|0,d|0,e|0,f|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;oa(13,a|0,b|0,c|0,d|0,e|0,f|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;oa(14,a|0,b|0,c|0,d|0,e|0,f|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;oa(15,a|0,b|0,c|0,d|0,e|0,f|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;oa(16,a|0,b|0,c|0,d|0,e|0,f|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;oa(17,a|0,b|0,c|0,d|0,e|0,f|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;oa(18,a|0,b|0,c|0,d|0,e|0,f|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;oa(19,a|0,b|0,c|0,d|0,e|0,f|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;oa(20,a|0,b|0,c|0,d|0,e|0,f|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;oa(21,a|0,b|0,c|0,d|0,e|0,f|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;oa(22,a|0,b|0,c|0,d|0,e|0,f|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;oa(23,a|0,b|0,c|0,d|0,e|0,f|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;oa(24,a|0,b|0,c|0,d|0,e|0,f|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;oa(25,a|0,b|0,c|0,d|0,e|0,f|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;oa(26,a|0,b|0,c|0,d|0,e|0,f|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;oa(27,a|0,b|0,c|0,d|0,e|0,f|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;oa(28,a|0,b|0,c|0,d|0,e|0,f|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;oa(29,a|0,b|0,c|0,d|0,e|0,f|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;oa(30,a|0,b|0,c|0,d|0,e|0,f|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;oa(31,a|0,b|0,c|0,d|0,e|0,f|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;oa(32,a|0,b|0,c|0,d|0,e|0,f|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;oa(33,a|0,b|0,c|0,d|0,e|0,f|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;oa(34,a|0,b|0,c|0,d|0,e|0,f|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;oa(35,a|0,b|0,c|0,d|0,e|0,f|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;oa(36,a|0,b|0,c|0,d|0,e|0,f|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;oa(37,a|0,b|0,c|0,d|0,e|0,f|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;oa(38,a|0,b|0,c|0,d|0,e|0,f|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;oa(39,a|0,b|0,c|0,d|0,e|0,f|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;oa(40,a|0,b|0,c|0,d|0,e|0,f|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;oa(41,a|0,b|0,c|0,d|0,e|0,f|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;oa(42,a|0,b|0,c|0,d|0,e|0,f|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;oa(43,a|0,b|0,c|0,d|0,e|0,f|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;oa(44,a|0,b|0,c|0,d|0,e|0,f|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;oa(45,a|0,b|0,c|0,d|0,e|0,f|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;oa(46,a|0,b|0,c|0,d|0,e|0,f|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;oa(47,a|0,b|0,c|0,d|0,e|0,f|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;oa(48,a|0,b|0,c|0,d|0,e|0,f|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;oa(49,a|0,b|0,c|0,d|0,e|0,f|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;oa(50,a|0,b|0,c|0,d|0,e|0,f|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;oa(51,a|0,b|0,c|0,d|0,e|0,f|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;oa(52,a|0,b|0,c|0,d|0,e|0,f|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;oa(53,a|0,b|0,c|0,d|0,e|0,f|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;oa(54,a|0,b|0,c|0,d|0,e|0,f|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;oa(55,a|0,b|0,c|0,d|0,e|0,f|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;oa(56,a|0,b|0,c|0,d|0,e|0,f|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;oa(57,a|0,b|0,c|0,d|0,e|0,f|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;oa(58,a|0,b|0,c|0,d|0,e|0,f|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;oa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function xJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function yJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function zJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(62,a|0,b|0,c|0,d|0,e|0,f|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;oa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function BJ(){Y(0);return 0}function CJ(a){a=a|0;Y(1);return 0}function DJ(a,b){a=a|0;b=b|0;Y(2);return 0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;Y(3);return 0}function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(4);return 0}function GJ(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 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;Y(6);return 0}function IJ(a){a=a|0;Y(7)}function JJ(a,b){a=a|0;b=b|0;Y(8)}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;Y(9)}function LJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(10)}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;Y(11)} -function Jl(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=Bc(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=Bk(c,168,q,0)|0;c=kl(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[7160]|0)){e=hb[f[28684>>2]&127](80)|0;r=38;break}e=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;n=55352;c=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&c>>>0>0){l=f[14051]|0;q=Ou(c|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=l>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(e){c=hb[f[28696>>2]&127](e)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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}kg(e,o,(o|0)!=(s|0)&1);s=0;t=u;return s|0}function Kl(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=23040;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=23041;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=23042;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=23043;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=23044;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=23045;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=23046;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=23046;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=23047;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=23048;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=23049;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=23050;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=23051;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=23052;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=23053;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=23054;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=23054;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=23055;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=23056;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=23057;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=23058;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=23059;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=23060;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=23061;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=23062;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=23063;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=23064;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=23065;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=23066;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=23067;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=23068;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=23069;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=23070;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=23071;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=23072;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[23088+(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}li(a,47835,s);u=1;t=v;return u|0}if(!e){f[u>>2]=c;f[u+4>>2]=d;f[u+8>>2]=32446;f[u+12>>2]=0;li(a,47791,u);u=1;t=v;return u|0}else{f[r>>2]=c;f[r+4>>2]=d;f[r+8>>2]=32445;f[r+12>>2]=e;li(a,47791,r);u=1;t=v;return u|0}return 0}function Ll(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=ni(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){fg(g,k);break}N=k+32|0;O=(f[N>>2]|0)+-1|0;f[N>>2]=O;if(!O)fg(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;li(a,41262,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=55580;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=55580;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((ii(a,R)|0)==0?(dn(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=mb[u&127](f[k+316>>2]|0,9,m,0,g,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,w);f[a+12>>2]=23;g=0;break}if((g|2|0)!=2){li(a,40505,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=ql(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=aj(f[r>>2]|0,0,r,E,0,542)|0;if(l|0){li(u,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;D=(f[13890]|0)+1|0;f[13890]=D;f[13891]=(D|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;S=105;break}else{k=hb[f[28696>>2]&127](l)|0;S=105}while(0);do if((S|0)==105){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{D=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);D=gh(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){go(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]=123;f[E+8>>2]=124;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)){mi(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;li(a,33384,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{rl(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;lm(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=rl(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){sl(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 rl(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{rl(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=rl(M,113,o,m,0)|0;k=f[w>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);s=l;l=0;E=o;v=q;break}else{s=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);s=l;l=0;E=o;v=q;break}}while(0);D=qn(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{rl(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{rl(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{ym(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=Bc(T,m,0)|0;S=204}do if((S|0)==204){if(!g)break;I=C+1|0;bv(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;og(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=Jc(r,k,q,0)|0;if(m|0){k=m;break}if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{I=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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);rn(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{rl(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=zm(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=rl(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);sl(M,n,q,u)}else{if(p<<16>>16==-12)break;og(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=rl(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);rn(D);r=0;p=g;g=0;w=k}while(0);do if(!i){if(y<<24>>24!=2){Ym(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=rl(M,17,0,0,0)|0;Ym(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=55600;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=rl(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=rl(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{rl(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{rl(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=rl(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))$n(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(!(Kc()|0)){S=(m<<2)+4|0;i=Lc(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 rl(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=rl(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){sl(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];rn(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 rl(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=55600;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 rl(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=55600;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;gn(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 rl(M,81,F,1,0)|0;Ki(M,1);if(b[(f[M>>2]|0)+81>>0]|0)break;Ze(f[M+100>>2]|0,47778,-1,1,0)|0}while(0);if(O)f[O+236>>2]=N}else g=0}else g=0}else g=0;while(0);lg(T,c);if(e|0)gg(T,e);if(!g){t=V;return}if(T|0){if(f[T+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);t=V;return}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);t=V;return}}function Ml(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=ni(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){fg(l,n);break}xa=n+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)fg(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;li(a,41262,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((ii(a,Ba)|0)==0?(dn(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=Bc(Ca,u,0)|0;if(r|0){va=r+(d[xa>>1]<<2)|0;ha=va+(p<<2)|0;X=p+1|0;bv(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)bv(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]=123;f[I>>2]=124;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}mi(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=40291;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=40299;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=40305;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=40299}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=mb[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;li(q,33384,T)}else if((Aa|0)==130){f[V>>2]=z;li(a,47746,V);b[a+17>>0]=1;Aa=946;break}else if((Aa|0)==136){li(a,40490,W);f[a+12>>2]=23;Aa=947;break}else if((Aa|0)==138){li(a,40505,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=55580;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=55580;break}}}while(0);q=f[q+8>>2]|0;if(!q){la=z;break}u=q;q=z;while(1){if(on(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]=141;f[E>>2]=r;mi(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]=141;f[I>>2]=r;if(!u)u=0;else{mi(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]=141;f[I>>2]=r;if(!u)u=0;else{mi(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;bv(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=ql(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=aj(f[A>>2]|0,0,A,ea,0,542)|0;if(u|0){li(D,42209,$);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[13886]|0)>>>0<=q>>>0)if((f[13887]|0)>>>0>q>>>0){f[14052]=(f[14052]|0)+-1;f[u>>2]=f[13889];f[13889]=u;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{q=hb[f[28696>>2]&127](u)|0;Aa=260;break}else{q=hb[f[28696>>2]&127](u)|0;Aa=260}while(0);do if((Aa|0)==260){f[14053]=(f[14053]|0)-q;if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{sa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);break}}while(0);f[v>>2]=0}while(0);sa=gh(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];go(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]=123;f[ea+8>>2]=124;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)){mi(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;li(q,33384,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=rl(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=qn(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=vl(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{rl(o,78,l,p,0)|0;break x}}else o=vl(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{rl(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 rl(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 rl(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{rl(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{rl(o,78,l,p,0)|0;break}}o=vl(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{rl(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 rl(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{rl(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;og(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{rl(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 rl(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 rl(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 rl(I,122,H,x,y)|0;rn(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=rl(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 rl(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(!(Kc()|0)){Aa=(o<<2)+4|0;l=Lc(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=rl(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){sl(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){rn(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 rl(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=55600;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{rl(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=Jc(z,q,y,0)|0;if(u|0){q=u;break}if(f[z+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);q=0;break}else{ga=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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 rl(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=rl(oa,113,C,w,0)|0;u=f[qa>>2]|0;w=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);G=y;E=z;F=B;Y=C;break}else{G=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);G=y;E=z;F=B;Y=C;break}}while(0);do if(da){xm(a,g,I,16);X=0;W=1;y=0;z=0}else{u=qn(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 rl(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{rl(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{ym(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;og(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=zm(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=rl(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);sl(oa,v,B,D)}else{if(E<<16>>16==-12)break;og(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=rl(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)rn(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=rl(oa,17,0,0,0)|0;Ym(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=55600;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);Ym(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=rl(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{rl(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=Jc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);p=0;break}else{k=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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=rl(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=rl(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=rl(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=Jc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);p=0;break}else{k=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=vl(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{rl(v,78,p,A,0)|0;break}}else{v=vl(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{rl(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{rl(oa,15,A,0,0)|0;break}}while(0);H:do if(L|(S<<24>>24!=0|ka)){if(ka)G=bo(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=jn(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=jn(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){ym(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{rl(oa,73,0,y,0)|0;break}}while(0);if((Aa|0)==679){Aa=0;ym(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{rl(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=jn(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=jn(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{rl(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{rl(oa,73,0,q,0)|0;break S}}while(0);ym(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=vl(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{rl(w,78,q,y,0)|0;break S}}else w=vl(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{rl(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){hn(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=ql(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=jn(a,D,Ba,i)|0;if(!p)break}if(!(f[D>>2]|0))y=0;else{y=(f[a>>2]|0)+32|0;y=Yu(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=rl(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){sl(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{rl(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=rl(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;ym(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){kn(a,Ba,va,o,s,A,ma,pa,i&255,P,za,r,0);if(ka)ln(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=rl(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=rl(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);ao(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{rl(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=55600;f[m+8>>2]=p}if(!ka){mn(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);break}ln(a,Ba,0,A,r,ta);mn(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=55580;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=55580;break}}}while(0);m=f[m+8>>2]|0;if(!m)break;x=a+23|0;y=a+44|0;do{do if(on(Ba,m,r,ta)|0){q=co(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=ql(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=jn(a,q,Ba,2)|0;if(!p)break}if(!(f[q>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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{rl(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=ql(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=jn(a,l,Ba,i)|0;if(!o)break}if(!(f[l>>2]|0))v=0;else{v=(f[a>>2]|0)+32|0;v=Yu(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=rl(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){sl(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];rn(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{rl(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{rl(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;gn(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 rl(oa,81,Z,1,0)|0;Ki(oa,1);if(b[(f[oa>>2]|0)+81>>0]|0)break;Ze(f[oa+100>>2]|0,47765,-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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{a=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}}}}while(0);lg(Ca,c);if(e|0)hg(Ca,e);if(!g){t=Da;return}gg(Ca,g);t=Da;return}function Nl(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;li(a,47716,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=Bc(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;hl(h);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[h+24>>2]|0)){f[o>>2]=k;li(a,33384,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=zk(f[a>>2]|0,h,0,0)|0}c=kl(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)gg(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(s,h);h=i;r=74;break e}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](h);r=72;break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);t=u;return c|0}else{s=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=u;return c|0}return 0} -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,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;kg(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=ni(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){fg(l,e);break}xa=e+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)fg(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;li(a,41262,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=mb[r&127](f[l+316>>2]|0,18,n,0,e,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,s);f[a+12>>2]=23;l=0;za=1020;break}if((l|2|0)!=2){li(a,40505,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((ii(a,Aa)|0)==0?(dn(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=ql(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=aj(f[z>>2]|0,0,z,ra,0,542)|0;if(l|0){li(w,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;oa=(f[13890]|0)+1|0;f[13890]=oa;f[13891]=(oa|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=87;break}else{l=hb[f[28696>>2]&127](m)|0;za=87}while(0);do if((za|0)==87){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{oa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);oa=gh(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=ni(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(wt(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(en(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(Ak(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=ql(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=aj(f[v>>2]|0,0,v,ra,0,542)|0;if(n|0){li(p,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;ia=(f[13890]|0)+1|0;f[13890]=ia;f[13891]=(ia|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](n)|0;za=202;break}else{l=hb[f[28696>>2]&127](n)|0;za=202}while(0);do if((za|0)==202){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{ia=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);ia=gh(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=fn(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}tl(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=rl(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=rl(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=55600;f[l+8>>2]=m;C=o}else C=0;while(0);do if(!(f[M>>2]&32)){tl(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=rl(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=rl(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=rl(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=Gg(o,40899,N)|0}else{f[O>>2]=m;m=2579;s=Gg(o,46881,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=ql(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{ia=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=55600;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{rl(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=rl(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=rl(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 rl(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{rl(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=rl(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{sl(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 rl(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 rl(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{rl(L,117,J,0,0)|0;break}}else{lm(a,R,f[Aa+28>>2]|0,1,f[Aa>>2]|0);lm(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(!(en(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 rl(L,109,G,l,K)|0;l=f[ta>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ia=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(L,110,J,l,R)|0;l=f[ta>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ia=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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 rl(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=33704;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{rl(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 rl(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 rl(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=55600;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 rl(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 rl(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=55600;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)gn(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 rl(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=55600;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{rl(L,117,J,0,0)|0;za=416;break}}else za=416;while(0);do if((za|0)==416){G=fn(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=40291;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=40299;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=40305;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;li(a,46890,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 rl(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=Il(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 rl(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=55600;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=ql(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[13903]|0)==(R|0);l=(f[13904]|0)==(m|0);p=f[13902]|0;switch(b[55600]|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 rl(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=rl(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 rl(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 rl(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 rl(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 rl(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=55600;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]=123;f[w>>2]=124;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}mi(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;li(m,33384,V);za=547}lg(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;li(a,46922,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;li(a,46974,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{rl(ya,70,0,n,0)|0;break}}else n=0;while(0);do if(ma){Q=0;l=0}else{q=Ym(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=Bc(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]=123;f[y>>2]=124;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}mi(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;li(m,33384,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]=123;f[ra+8>>2]=124;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)){mi(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;li(m,33384,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(Ak(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((Ak(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);li(a,46999,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=rl(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=rl(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=Jc(s,m,r,0)|0;if(o|0){m=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{la=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-la;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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=vl(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{rl(p,78,e,E,0)|0;break A}}else p=vl(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{rl(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=rl(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 rl(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=55600;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{rl(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{rl(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=vl(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{rl(s,78,e,r,0)|0;break}}else{p=vl(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{rl(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 rl(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=vl(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{rl(p,78,e,q,0)|0;break C}}else p=vl(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{rl(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){hn(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=ql(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=jn(a,v,Aa,i)|0;if(!m)break}if(!(f[v>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=Yu(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=rl(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){sl(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{rl(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{rl(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{rl(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=vl(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{rl(p,78,e,ha,0)|0;break}}else{p=vl(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{rl(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=55600;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=rl(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 rl(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=55600;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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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=vl(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{rl(q,78,m,r,0)|0;break F}}else q=vl(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{rl(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=vl(a,0,r)|0}else{b[y>>0]=2;f[z>>2]=132;f[A>>2]=133;f[B>>2]=0;if(m){mi(ra,m)|0;if(!(b[y>>0]|0)){za=874;break}}Nm(a,m,r)|0;break F}while(0);do if((za|0)==874){za=0;if((b[m>>0]|0)!=-92){q=vl(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{rl(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{rl(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)){kn(a,Aa,Q,f[wa>>2]|0,f[va>>2]|0,ea,0,R>>>31&255^1,i&255,I,ra,0,k);ln(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=55580;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=55580;break}}}while(0);e=(f[e+8>>2]|0)==0&1}while(0);mn(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(!(Kc()|0)){wa=(q<<2)+4|0;m=Lc(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=rl(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){sl(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{rl(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=ql(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=jn(a,u,Aa,i)|0;if(!m)break}if(!(f[u>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=Yu(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=rl(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){sl(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 rl(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=55600;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 rl(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=55600;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{rl(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;gn(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 rl(ya,81,n,1,0)|0;Ki(ya,1);if(b[(f[ya>>2]|0)+81>>0]|0){za=1020;break}Ze(f[ya+100>>2]|0,47070,-1,1,0)|0;za=1020}}else{l=0;za=1020}}else{l=0;za=1020}while(0);if((za|0)==1020){lg(Da,c);if(!Ca){e=Ba;r=l;break}}hg(Da,Ca);e=Ba;r=l}else za=1019;while(0);if((za|0)==1019){lg(Da,c);r=0}do if(k|0){l=f[k>>2]|0;if(l|0)hg(Da,l);l=f[k+4>>2]|0;if(l|0)gg(Da,l);l=f[k+8>>2]|0;if(l|0)hg(Da,l);l=f[k+12>>2]|0;if(l|0)gg(Da,l);if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{c=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(e|0)kg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(Da,l);l=e;za=1075;break N}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);za=1073;break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(!r){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);t=Ea;return}else{Da=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);t=Ea;return}}function Pl(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[7160]|0)){c=hb[f[28684>>2]&127](8)|0;o=25;break}c=hb[f[28700>>2]&127](8)|0;if((f[14058]|0)>>>0<8)f[14058]=8;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;m=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){p=0;return p|0}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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=Jc(p,m,k,l)|0;o=45;break}e=Jc(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=nl(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[7160]|0)){e=hb[f[28684>>2]&127](16)|0;o=114;break}e=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[14051]|0;n=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){p=c;return p|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(p,e);e=g;o=81;break f}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);o=79;break}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);p=0;return p|0}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);p=0;return p|0}return 0}function Ql(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){cn(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){cn(a,j);d=f[l>>2]|0}}j=j+1|0}while((j|0)<(d|0));return}function Rl(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=xg(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));$f(a,d,j)|0;Xh(l,f[j>>2]|0);Xh(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 Sl(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=ql(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)li(a,46810,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 rl(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]=34444;f[l+8>>2]=c;f[l+12>>2]=j;f[l+16>>2]=j;Rl(a,46825,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 Gl(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(Ul(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+32>>2]|0)|0){b=1;c=28;break}if(Ul(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(Ul(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(Ul(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(Ul(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(Ul(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(Gl(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 Hl(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 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 gb=[BJ,ev,fv,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,Iv,Jv,Kv,Lv,Mv,Nv,Ov,Pv,Qv,Rv,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,mw,nw,yu,sd,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ];var hb=[CJ,pw,qw,rw,sw,tw,uw,vw,ww,xw,yw,zw,Aw,Bw,Cw,Dw,Ew,Fw,Gw,Hw,Iw,Jw,Kw,Lw,Mw,Nw,Ow,Pw,Qw,Rw,Sw,Tw,Uw,Vw,Ww,Xw,Yw,Zw,_w,$w,ax,bx,cx,dx,ex,fx,gx,hx,ix,jx,kx,lx,mx,nx,ox,px,qx,rx,sx,tx,ux,vx,wx,xx,yx,ap,dp,ep,fp,Qd,Ud,_c,id,jd,Mt,wu,zu,zd,Hd,Vg,ti,vi,xi,yi,_s,at,ct,dt,Us,Ws,Ls,Ns,Fs,Hs,Mq,Nq,Pq,Rq,Sq,Wq,Xq,Yq,Zq,dr,wq,yq,Aq,Bq,cf,rk,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ];var ib=[DJ,Ax,Bx,Cx,Dx,Ex,Fx,Gx,Hx,Ix,Jx,Kx,Lx,Mx,Nx,Ox,Px,Qx,Rx,Sx,Tx,Ux,Vx,Wx,Xx,Yx,Zx,_x,$x,ay,by,cy,dy,ey,fy,gy,hy,iy,jy,ky,ly,my,ny,oy,py,qy,ry,sy,ty,uy,vy,wy,xy,yy,zy,Ay,By,Cy,Dy,Ey,Fy,Gy,Hy,Iy,Jy,cp,Sc,Tc,Vc,Xc,Yc,Pd,yd,Zc,cd,dd,ed,fd,gd,md,Pt,Yt,Ot,Wt,tu,Fu,rd,au,bu,Nt,Ad,Bd,Cd,Id,Jd,Kd,Zg,_g,si,ui,Ai,Zs,$s,ft,Lq,Oq,Uq,$q,ar,br,cr,vq,xq,Dq,sc,tc,Yo,Zo,Uo,Vo,al,bl,cl,ji,ki,el,Og,Oh,Qk,pk,Mk,Hl,hm,im,ho,io,jo,so,Bo,Co,Eo,_n,xn,Ln,Kn,dj,fo,Jo,Eq,Fq,xr,rr,sr,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ];var jb=[EJ,Ly,My,Ny,Oy,Py,Qy,Ry,Sy,Ty,Uy,Vy,Wy,Xy,Yy,Zy,_y,$y,az,bz,cz,dz,ez,fz,gz,hz,iz,jz,kz,lz,mz,nz,oz,pz,qz,rz,sz,tz,uz,vz,wz,xz,yz,zz,Az,Bz,Cz,Dz,Ez,Fz,Gz,Hz,Iz,Jz,Kz,Lz,Mz,Nz,Oz,Pz,Qz,Rz,Sz,Tz,Uz,Sd,Vd,Oc,Rc,Uc,Wc,bd,hd,qd,Dt,_t,Zt,xu,Vt,Yg,zi,et,Ts,Ks,Es,Tq,Cq,ok,nk,mk,_m,Hr,es,ds,Dr,Ir,Lr,Nr,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ];var kb=[FJ,Wz,Xz,Yz,Zz,_z,$z,aA,bA,cA,dA,eA,fA,gA,hA,iA,jA,kA,lA,mA,nA,oA,pA,qA,rA,sA,tA,uA,vA,wA,xA,yA,zA,AA,BA,CA,DA,EA,FA,GA,HA,IA,JA,KA,LA,MA,NA,OA,PA,QA,RA,SA,TA,UA,VA,WA,XA,YA,ZA,_A,$A,aB,bB,cB,dB,Pc,Qc,kd,od,Vs,Ms,Gs,Vq,rh,sh,tj,Nj,Zm,Gq,Hq,Tp,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ];var lb=[GJ,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,lC,mC,nC,oC,Nc,$c,ad,nd,Ld,Wg,Xg,wi,bt,Qq,_q,zq,Yn,qq,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ];var mb=[HJ,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,wD,xD,yD,zD,Gu,ri,Ys,Xs,Os,Is,Jq,Kq,uq,Zj,_j,$j,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ];var nb=[IJ,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,HE,IE,JE,KE,bp,gp,Ff,If,Kf,Mf,Of,Qf,Sf,Tf,Vf,me,ne,Me,Oe,Pe,Re,Ue,Ve,Rd,Zd,_d,ld,jc,kc,mc,nc,oc,pc,fe,Bj,qk,Lj,qm,Uh,tq,vp,Fr,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ];var ob=[JJ,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,SF,TF,UF,VF,Td,Yd,dl,fl,Do,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ];var pb=[KJ,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,bH,cH,dH,eH,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,Yf,Zf,_f,Ef,Gf,Hf,Jf,Lf,Nf,Pf,Rf,Uf,qf,rf,sf,tf,uf,vf,wf,xf,ge,he,ie,je,ke,le,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Ne,Qe,Se,Te,We,Xe,Wd,Pm,Om,pm,om,nm,zr,Ar,Br,Cr,ic,lc,Pg,Qh,Ph,mq,sq,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ];var qb=[LJ,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,mI,nI,oI,pI,Xd,vc,xc,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ];var rb=[MJ,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,xJ,yJ,zJ,AJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ];return{_RegisterExtensionFunctions:xb,___divdi3:Ru,___emscripten_environ_constructor:Iu,___errno_location:pt,___muldi3:Tu,___remdi3:Uu,___udivdi3:Vu,___uremdi3:Wu,__get_daylight:Ku,__get_environ:Mu,__get_timezone:Lu,__get_tzname:Ju,_bitshift64Ashr:Xu,_bitshift64Lshr:Yu,_bitshift64Shl:Zu,_emscripten_replace_memory:fb,_free:ht,_i64Add:Nu,_i64Subtract:Ou,_llvm_bswap_i32:_u,_malloc:gt,_memalign:mt,_memcpy:$u,_memmove:av,_memset:bv,_sbrk:cv,_sqlite3_bind_blob:Ip,_sqlite3_bind_double:Kp,_sqlite3_bind_int:Lp,_sqlite3_bind_parameter_index:Pp,_sqlite3_bind_text:Mp,_sqlite3_changes:bq,_sqlite3_clear_bindings:jp,_sqlite3_close_v2:gq,_sqlite3_column_blob:Ap,_sqlite3_column_bytes:Bp,_sqlite3_column_double:Cp,_sqlite3_column_name:Hp,_sqlite3_column_text:Fp,_sqlite3_column_type:Gp,_sqlite3_create_function_v2:iq,_sqlite3_data_count:zp,_sqlite3_errmsg:Kj,_sqlite3_exec:sj,_sqlite3_finalize:Di,_sqlite3_free:fe,_sqlite3_open:nq,_sqlite3_prepare_v2:Xp,_sqlite3_reset:ip,_sqlite3_result_double:qp,_sqlite3_result_null:up,_sqlite3_result_text:wp,_sqlite3_step:Ci,_sqlite3_value_blob:jf,_sqlite3_value_bytes:lp,_sqlite3_value_double:mp,_sqlite3_value_int:np,_sqlite3_value_text:kp,_sqlite3_value_type:pp,dynCall_i:dv,dynCall_ii:ow,dynCall_iii:zx,dynCall_iiii:Ky,dynCall_iiiii:Vz,dynCall_iiiiii:eB,dynCall_iiiiiii:pC,dynCall_vi:AD,dynCall_vii:LE,dynCall_viii:WF,dynCall_viiii:fH,dynCall_viiiiii:qI,establishStackSpace:vb,setThrew:wb,stackAlloc:sb,stackRestore:ub,stackSave:tb}}) +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_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 +(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 @@ -931,6 +931,15 @@ Contact for commercial license: sales@litehelpers.net if (!!openargs.createFromLocation && openargs.createFromLocation === 1) { openargs.createFromResource = "1"; } + if (!!openargs.androidDatabaseProvider && !!openargs.androidDatabaseImplementation) { + throw newSQLError('AMBIGUOUS: both androidDatabaseProvider and deprecated androidDatabaseImplementation settings are present in openDatabase call. Please drop androidDatabaseImplementation in favor of androidDatabaseProvider.'); + } + if (openargs.androidDatabaseProvider !== void 0 && openargs.androidDatabaseProvider !== 'default' && openargs.androidDatabaseProvider !== 'system') { + throw newSQLError("Incorrect androidDatabaseProvider value. Valid values are: 'default', 'system'"); + } + if (!!openargs.androidDatabaseProvider && openargs.androidDatabaseProvider === 'system') { + openargs.androidOldDatabaseImplementation = 1; + } if (!!openargs.androidDatabaseImplementation && openargs.androidDatabaseImplementation === 2) { openargs.androidOldDatabaseImplementation = 1; } diff --git a/package.json b/package.json index 286a0c3..04115b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sqlite-evcustom-browser-memory-storage-ext-free", - "version": "0.0.1-dev", + "version": "0.0.3-dev", "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": { diff --git a/plugin.xml b/plugin.xml index 07e062b..778f57a 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="0.0.3-dev"> SQLite evcustom browser memory storage - emulation of Cordova/PhoneGap sqlite storage plugin on browser - custom enterprise version with premium performance improvements and extra features diff --git a/spec/www/spec/base64-encode-test.js b/spec/www/spec/base64-encode-test.js index 37e17da..d9d92f4 100755 --- a/spec/www/spec/base64-encode-test.js +++ b/spec/www/spec/base64-encode-test.js @@ -10,6 +10,8 @@ var isAndroid = !isWindows && /Android/.test(navigator.userAgent); // XXX var isFirefox = /Firefox/.test(navigator.userAgent); var isWebKitBrowser = !isWindows && !isAndroid && /Safari/.test(navigator.userAgent); +// XXX TBD QUICK FIX ???: +// var isBrowser = (/Firefox/.test(navigator.userAgent)) || (!isWindows && !isAndroid && /Safari/.test(navigator.userAgent)); var isBrowser = isWebKitBrowser || isFirefox; // NOTE: In the common storage-master branch there is no difference between the @@ -26,6 +28,8 @@ var scenarioCount = (!!window.hasWebKitBrowser) ? (isAndroid ? 3 : 2) : 1; var mytests = function() { for (var i=0; i1){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+56512;__ATINIT__.push({func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACudgAAAQABAEEAAACzdgAAAQABAEIAAAC4dgAAAQABAEMAAAC9dgAAAgABAEQAAADCdgAAAgABAEQAAADIdgAAAQABAEUAAADOdgAAAQABAEYAAADUdgAAAQABAEcAAADadgAAAgABAEgAAADldgAAAQABAEkAAADtdgAAAQABAEoAAAD1dgAAAQABAEsAAAD5dgAAAQABAEwAAAD9dgAAAQABAE0AAAABdwAAAQABAE4AAAAFdwAAAQABAE8AAAAKdwAAAQABAFAAAAAPdwAAAQABAFEAAAAUdwAAAQABAFIAAAAZdwAAAQABAFMAAACllgAAAQABAFQAAAAddwAAAQABAFUAAAAjdwAAAgABAFYAAAApdwAAAQABAFcAAAAudwAAAQABAFgAAAAzdwAAAQABAFkAAAA6dwAAAQABAFoAAAA/dwAAAQABAFsAAABFdwAAAAABAVwAAABIdwAAAgABAF0AAABSdwAAAgABAF4AAABSdwAAAwABAF4AAABcdwAAAgABAF8AAABkdwAAAgABAGAAAABtdwAAAQABAGEAAAB1dwAAAQABAGIAAAB8dwAAAgABAGMAAACBdwAAAgABAGQAAACGdwAAAgABAGUAAACLdwAAAgABAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//2QKARAAAHMABAUAAGcAAQMeAHoABAYAAHEABAkAAFEABAoAAHcABA4AAGMAAAgAAG8IAAAAAnUKABAAAHgQAAAQAVgQAAAABGYAAQEAAGUAAQIeAEUAAQIOAEcAAQMOAGkKARAAAG4AAAQAACUAAAcAAHAQAA0AAVQAAAsAAFMAAAwAAHIKAQ8AAAAAAAAAADAxMjM0NTY3ODlBQkNERUYwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAkAAAABCAQAAAAAAAAAAABnAAAAAAAAAAAAAAAAAAAANoEAAAAAAAAHAAAAAQgEAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAEuBAAAAAAAABQAAAAEIBAAAAAAAAAAAAGkAAAAAAAAAAAAAAAAAAABfgQAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wAAAAABAAEAAAAAAAAAAABqAAAAQwAAAEMAAABrAAAAp4AAAAAAAAAAAAAAAQABAAAAAAAAAAAAbAAAAEQAAABEAAAAawAAALKAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAG0AAABFAAAARQAAAGsAAAC9gAAAAAAAAAAAAAABAAMAAAAAAAAAAABuAAAARgAAAEYAAABrAAAAwoAAAAAAAAAAAAAAAQADAAAAAAAAAAAAbwAAAEcAAABHAAAAawAAAM+AAAAAAAAAAQAAAAEAAwAAAAAAAAAAAHAAAABIAAAASAAAAGsAAADZgAAAAAAAAAEAAAABAAEAAAAAAAAAAABxAAAASQAAAEoAAAByAAAA34AAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAOqAAAAAAAAAAQAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAD0gAAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAAIEAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAACBAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAAAgQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAABYEAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAAWBAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAAAFgQAAAAAAAAAAAAAAAAAA/wAAAAEoAADgbwAAAAAAAHMAAAAAAAAAAAAAAAAAAAAtfwAAAAAAAP8AAAABKAAA4G8AAAAAAAB0AAAAAAAAAAAAAAAAAAAAN38AAAAAAAD/AAAAASgAAOBvAAAAAAAAdQAAAAAAAAAAAAAAAAAAADx/AAAAAAAA/wAAAAEoAADgbwAAAAAAAHYAAAAAAAAAAAAAAAAAAABBfwAAAAAAAP8AAAABKAAA4G8AAAAAAAB3AAAAAAAAAAAAAAAAAAAASn8AAAAAAAAAAAAAASAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAFN/AAAAAAAAAAAAAAEgAAAAAAAAAAAAAHkAAAAAAAAAAAAAAAAAAABgfwAAAAAAAAAAAAABIAAAAAAAAAAAAAB6AAAAAAAAAAAAAAAAAAAAcn8AAAAAAAABAAAAASAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAIx8AAAAAAAAAQAAAAEgAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAACmfAAAAAAAAAEAAAABDAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAv3wAAAAAAAACAAAAAQwAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAMh8AAAAAAAAAQAAAAEMAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAADTfAAAAAAAAAEAAAABCAAAAQAAAAAAAAB+AAAAAAAAAAAAAAAAAAAA2nwAAAAAAAACAAAAAQgAAAEAAAAAAAAAfgAAAAAAAAAAAAAAAAAAANp8AAAAAAAAAQAAAAEIAAACAAAAAAAAAH4AAAAAAAAAAAAAAAAAAADgfAAAAAAAAAIAAAABCAAAAgAAAAAAAAB+AAAAAAAAAAAAAAAAAAAA4HwAAAAAAAABAAAAAQgAAAMAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAOZ8AAAAAAAAAgAAAAEIAAADAAAAAAAAAH4AAAAAAAAAAAAAAAAAAADmfAAAAAAAAP8AAAAhCAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA63wAAAAAAAAAAAAAIQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOt8AAAAAAAAAQAAACEQAAAAAAAAAAAAAIAAAABMAAAATQAAAAAAAADrfAAAAAAAAP8AAAAhCAAAAQAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA73wAAAAAAAAAAAAAIQgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO98AAAAAAAAAQAAACEQAAABAAAAAAAAAIAAAABMAAAATQAAAAAAAADvfAAAAAAAAAEAAACBCAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAA83wAAAAAAAABAAAAQQgAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAPp8AAAAAAAAAgAAAAEIAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAABfQAAAAAAAP8AAAABCAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAB30AAAAAAAABAAAAAQgAAAAAAAAAAAAAhQAAAAAAAAAAAAAAAAAAAA59AAAAAAAA/wAAAAEIAAAAAAAAAAAAAIYAAAAAAAAAAAAAAAAAAAAWfQAAAAAAAAEAAAABCAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAG30AAAAAAAABAAAAAQgAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAB99AAAAAAAAAgAAAAEIAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAffQAAAAAAAAEAAAABCAAAAAAAAAAAAACJAAAAAAAAAAAAAAAAAAAAJX0AAAAAAAABAAAAAQgAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAQAAAAEIAAAAAAAAAAAAAIsAAAAAAAAAAAAAAAAAAAAxfQAAAAAAAAIAAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAANX0AAAAAAAAAAAAAAQAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAADx9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAI0AAAAAAAAAAAAAAAAAAABDfQAAAAAAAAIAAAAhCAAAAAAAAAAAAACOAAAAAAAAAAAAAAAAAAAATn0AAAAAAAAAAAAAASAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAFV9AAAAAAAAAAAAAAEgAAAAAAAAAAAAAI8AAAAAAAAAAAAAAAAAAABkfQAAAAAAAAIAAAABCAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAdX0AAAAAAAABAAAAAQgAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAIB9AAAAAAAAAAAAAAEAAAAAAAAAAAAAAJIAAAAAAAAAAAAAAAAAAACGfQAAAAAAAAAAAAABAAAAAAAAAAAAAACTAAAAAAAAAAAAAAAAAAAAmH0AAAAAAAAAAAAAAQAAAAAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAKB9AAAAAAAAAwAAAAEIAAAAAAAAAAAAAJUAAAAAAAAAAAAAAAAAAACufQAAAAAAAAEAAAABCAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAAAAtn0AAAAAAAACAAAAAQgAAAAAAAAAAAAAlwAAAAAAAAAAAAAAAAAAAL99AAAAAAAAAwAAAAEIAAAAAAAAAAAAAJcAAAAAAAAAAAAAAAAAAAC/fQAAAAAAAAEAAAABAAAAAAAAAAAAAACYAAAATgAAAE4AAACZAAAAxn0AAAAAAAABAAAAAQAAAAAAAAAAAAAAmAAAAE8AAABPAAAAmQAAAMp9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAJgAAABQAAAAUAAAAJkAAADQfQAAAAAAAAAAAAABAQAAAAAAAAAAAACaAAAAUQAAAFEAAACbAAAA1H0AAAAAAAABAAAAAQAAAAAAAAAAAAAAmgAAAFEAAABRAAAAmwAAANR9AAAAAAAAAQAAAAEAAAAAAAAAAAAAAJwAAABSAAAAUwAAAJ0AAADafQAAAAAAAAIAAAABAAAAAAAAAAAAAACcAAAAUgAAAFMAAACdAAAA2n0AAAAAAAACAAAADQgAAOd9AAAAAAAAngAAAAAAAAAAAAAAAAAAAOt9AAAAAAAAAgAAAAUIAADwfQAAAAAAAJ4AAAAAAAAAAAAAAAAAAAD0fQAAAAAAAAMAAAAFCAAA8H0AAAAAAACeAAAAAAAAAAAAAAAAAAAA9H0AAAAAAAABAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPl9AAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5fQAAAAAAAP8AAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAA+X0AAAAAAAAAAAAAAAAAAAMAAAA0AAAAAAIAAAAAAAA1egAAhHEAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAADAAAANAAAAAACAAAAAAAAOnoAAIhxAABBAAAAQwAAAEEAAABCAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABCAAAAQwAAAEUAAABEAAAARgAAAEUAAABGAAAAAwAAADQAAAAAAgAAAAAAAER6AACMcQAAQQAAAEMAAABBAAAAQgAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQgAAAEMAAABFAAAARAAAAEYAAABFAAAARgAAAAMAAAA0AAAAAAIAAAAAAABRegAAhHEAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAACAegAASQAAAAAAAAB6egAASgAAAAAAAACFegAAUAAAAAAAAACMegAAUQAAAAAAAACTegAAUgAAAAAAAACYegAAUwAAAAAAAACeegAAVAAAAAAAAACoegAASgAAAAAAAACuegAASwAAAAAAAACzegAAAAAAAAAAAAC5egAAAAAAAAAAAADBegAATAAAAAAAAADHegAAAAAAAAAAAADOegAAAAAAAAAAAADXegAAVQAAAAAAAADeegAAAAAAAAAAAADoegAASwAAAAAAAADvegAAVgAAAAAAAAD9egAAVwAAAAAAAAADewAATAAAAAAAAAAJewAATQAAAAAAAAAQewAAQQAAAAAAAAAYewAAQQAAAAAAAAAdewAAWAAAAAAAAAAkewAAAAAAAAAAAAArewAAQgAAAAAAAAA3ewAATgAAAAAAAABAewAAWQAAAAAAAABGewAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ewAAxHsAAM17AAAvegAAAAAAAAAAAABvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUwMTIzNDU2Nzg5QUJDREVGoH4AAKh+AACtfgAAsn4AALd+AAAAAAAAAAAAAAAAAAC/fgAA1H4AAOB+AADsfgAABH8AABh/AAAAAAAAAAAAAAAGAAAtgAAAAACw6iUGW0IAAAAAAECPQAAGAAA0gAAAAAAApVvT/EEAAAAAAEztQAAEAAA7gAAAAAAAsFC/nkEAAAAAQHdLQQADAAApgAAAAAAAQIt/VEEAAAAAcJmUQQEFAAAegAAAAAAAABCNBUEAAAAA2U/jQQIEAAAkgAAAAAAAAIC8zEAAAACwxF4dQlNRTGl0ZSBmb3JtYXQgMwDhlgAAABQAAAgAAAAAAAAA8JYAAAGVAAAAAAAAAAAAAPyWAAACFAAAAIAAAAAAAAAMlwAAAxAuAQAAAAAAAAAAzpYAAASVAAAAAAAAAAAAABmXAAAFlAAAAAAAAAAAAAAllwAABgIAAAAAAAAAAAAAOZcAAAIUAAAAACAAAAAAAEmXAAACFAAAEAAAAAAAAABelwAABxAaAgAAAAAAAAAAbZcAAAgQAAAAAAAAAAAAAH2XAAACFAAAgAAAAAAAAACLlwAAABgAAA8AAAAAAAAAmJcAAAoRIwMAAAAAAAAAAKaXAAALlS0BAAAAAAAAAAC5lwAAAhQAAAAACAAAAAAAzJcAAAIUAAAAAQAAAAAAAOOXAAAMFAAAAAAAAAAAAADslwAADREfBAAAAAAAAAAA/pcAAA5hAAgAAAAAAAAAAA+YAAACFAAAAEAAAAAAAAAcmAAAABgAAAAAAAAAAAAAK5gAAAIUAAAEAAAAAAAAAD2YAAACFAAACAAAAAAAAABHmAAAAhQAAAACAAAAAAAAYJgAABADAAAAAAAAAAAAAHOYAAARYQ8DAAAAAAAAAAB+mAAAEmEaBQAAAAAAAAAAiZgAABFhDwYBAAAAAAAAAJWYAAATMQAAAAAAAAAAAAClmAAAFJEAAAAAAAAAAAAAspgAABWQAAAAAAAAAAAAAMWYAAACFAAAAAAABAAAAADYmAAAAhQAAAIAAAAAAAAA65gAABeQAAAAAAAAAAAAAPiYAAAYkQAAAAAAAAAAAAAHmQAAGQAAAAAAAAAAAAAAEZkAABshAAAAAAAAAAAAABqZAAAYkQAAAAAAAAAAAAAlmQAAHJQAAAAAAAAAAAAAL5kAAAIUAAAAABAAAAAAADqZAAATMQAAAAAAAAAAAABGmQAAAhQAAAAEAAAAAAAAV5kAAAIUAAAAIAAAAAAAAGqZAAACFAAAABAAAAAAAACEmQAAABQAAAEAAAAAAAAAk5kAAB4QAAAAAAAAAAAAAKGZAAACFAAAQAAAAAAAAAC0mQAAHwIAAAAAAAAAAAAAwpkAACAQAAAAAAAAAAAAANKZAAAhlQAAAAAAAAAAAADemQAAImEIBgAAAAAAAAAA6ZkAACJhCAcBAAAAAAAAAPWZAAAjFAAAAAAAAAAAAAAAmgAAJAQAAAAAAAAAAAAAFZoAACUQAAAAAAAAAAAAAB2aAAAAFAAABgAAAAAAAAAqmgAAJgAAAAAAAAAAAAAAPZoAACcBJgMAAAAAAAAAAEyaAAACFAAAAQAACAAAAAADkAAADZAAABiQAAAkkAAAL5AAADSQAAA5kAAARJAAAFCQAABXkAAAX5AAAGeQAABskAAAcpAAAICQAACGkAAAkJAAAJWQAACakAAAnZAAAKGQAACnkAAAsZAAALiQAAC/kAAAxpAAAM2QAADWkAAA4ZAAAOqQAADwkAAA+pAAAASRAAAJkQAAE5EAAB6RAAAjkQAAKpEAADCRAAA2kQAAPJEAAEKRAABNkQAAWJEAAFuRAABfkQAAZ5EAAHCRAAB2kQAAgJEAAI2RAACUkQAAnJEAAJ+RAACikQAApZEAAKiRAACrkQAArpEAALiRAADDkQAAyZEAAM6RAADYkQAA4pEAAOuRAAD0kQAA+5EAAAiSAAATkgAAGJIAACCSAAAmkgAALZIAADKSAAA7kgAAQJIAAEmSAABOkgAAU5IAAFmSAABhkgAAa5IAAHOSAAB6kgAAh5IAAIySAACYkgAAoJIAAKeSAACukgAAtZIAAL6SAADFkgAAy5IAANWSAADgkgAA5JIAAO2SAAD2kgAA/ZIAAAeTAAAOkwAAGZMAACCTAAAmkwAAMZMAADmTAABDkwAATZMAAFaTAABgkwAAaJMAAHaTAACEkwAAj5MAAJyTAACnkwAArZMAALmTAADBkwAAypMAANOTAADakwAA5JMAAOuTAAD2kwAABJQAAA+UAAAXlAAAHZQAACWUAAAtlAAAOpQAAESUAABOlAAAW5QAAGSUAABslAAAcpQAAH6UAACKlAAAj5QAAJeUAACjlAAAsJQAALqUAADElAAA0JQAANyUAADmlAAA7JQAAPaUAAD9lAAACZUAABSVAAAclQAAJZUAAC6VAAA3lQAAPpUAAEiVAABPlQAAV5UAAGCVAABmlQAAbpUAAHaVAACAlQAAiZUAAI+VAACalQAAn5UAAKeVAAAAAAAAAAAAAF6EAABjhAAAaoQAAG2EAABwhAAAc4QAAHaEAAB5hAAAgYQAAISEAACLhAAAk4QAAOGPAADqjwAA8Y8AAPePAAAAAQIDBAYICAAAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NDg4PDxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eHh8fICAhISIiIyMkJCUlJiYnJygoKSkqKisrLCwtLS4uLy8wMDExMjIzMzQ0NTU2Njc3ODg5OQAAAgADAAUABgAHAAgACQD+jAAABY0AAA2NAAARjQAAGo0AACGNAAAAAAAAAAAAAOaKAADzigAAAAAAAAOLAAAciwAAKosAAD2LAADYigAAVosAAJeDAAB7iwAAiosAAKuLAAC9iwAA1osAAPOLAAAAAAAAMIYAAFB+AAAEjAAAFowAACiMAABKjAAAaYwAAAAAAAB+jAAAmIwAAK+MAADEjAAAAAAAAAAAAAAAAAAAHBsbGxsbGxsbBwcbBwcbGxsbGxsbGxsbGxsbGxsbGxsHDwgFBBYYCBESFRQXCxoQAwMDAwMDAwMDAwUTDA4NBgUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQkbGxsBCAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBGwobGRsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkptfEhqLQAAUQBMPQAqDE0PAHtUNnZ9EwAAggCAeQAWYAAJAABzRQBDBgAwXYgAfmgAACwAaxgAEQCDNRcABT6EYwAAh248hjlxNwBeAGcaAGYAAABiX2RpdQ4ndABQAIVyXDsAgU93Vi5TAABhKHp4AH8AAB0AWVdYABRVbzgABwcFBAYEBQMGBwMGBgcHAwgCBgUEBAMKBAYLBgIHBQUJBgkJBwoKBAYCAwkEAgYFBwQFBwYGBQYFBQUHBwQCBwMGBAcGDAYJBAYEBQQHBgUGBwUEBwMCBAUJBQYDBw0CAgQGBggFEQwHCQgIAgQJBAYHCQQEAgYFCAQFCAQDCQUFBgQGAgkDBwAAAAAAAAAAAAACAAIACAAJAA4AEAAUABcAGQAZAB0AIQAkACkALgAwADUANgA7AD4AQQBDAEUATgBRAFYAWwBfAGAAZQBpAG0AdQB6AIAAiACOAJgAnwCiAKIApQCnAKcAqwCwALMAuAC4ALwAwADHAMwA0QDUANoA3QDhAOYA7ADyAPUA9wD4APwAAgEGAQ0BEwEfASUBLgEwATYBOgE/AUEBSAFNAVIBWAFeAWMBZgFmAWYBaQFtAXABeQF9AYMBhQGMAY4BkAGZAZ0BowGpAbEBtgG2AbYBxgHPAdYB1wHeAeEB6gHuAfMB+gEDAgcCCwINAhMCFwIfAiICJwIvAi8CMwI8AkECRgJMAk8CUgJVAloCXgJSRUlOREVYRURFU0NBUEVBQ0hFQ0tFWUJFRk9SRUlHTk9SRUdFWFBMQUlOU1RFQUREQVRBQkFTRUxFQ1RBQkxFRlRIRU5ERUZFUlJBQkxFTFNFWENFUFRSQU5TQUNUSU9OQVRVUkFMVEVSQUlTRVhDTFVTSVZFWElTVFNBVkVQT0lOVEVSU0VDVFJJR0dFUkVGRVJFTkNFU0NPTlNUUkFJTlRPRkZTRVRFTVBPUkFSWVVOSVFVRVJZV0lUSE9VVEVSRUxFQVNFQVRUQUNIQVZJTkdST1VQREFURUJFR0lOTkVSQU5HRUJFVFdFRU5PVEhJTkdMT0JZQ0FTQ0FERUxFVEVDQVNFQ09MTEFURUNSRUFURUNVUlJFTlRfREFURURFVEFDSElNTUVESUFURUpPSU5TRVJUTElLRU1BVENIUExBTkFMWVpFUFJBR01BQk9SVFZBTFVFU1ZJUlRVQUxJTUlUV0hFTk9UTlVMTFdIRVJFQ1VSU0lWRUFGVEVSRU5BTUVBTkRFRkFVTFRBVVRPSU5DUkVNRU5UQ0FTVENPTFVNTkNPTU1JVENPTkZMSUNUQ1JPU1NDVVJSRU5UX1RJTUVTVEFNUEFSVElUSU9OREVGRVJSRURJU1RJTkNURFJPUFJFQ0VESU5HRkFJTEZJTFRFUkVQTEFDRUZPTExPV0lOR0ZST01GVUxMSUZJU05VTExPUkRFUkVTVFJJQ1RPVkVSSUdIVFJPTExCQUNLUk9XU1VOQk9VTkRFRFVOSU9OVVNJTkdWQUNVVU1WSUVXSU5ET1dJTklUSUFMTFlQUklNQVJZAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAIAAAAAAAANAAAAAAAHAAAAAAAAAAAAAAAAAAAAIQAVAAAAAAAyACsDLwAAIAAAAAAAAAABQAAAQQApACYAAAAAADFLAAAeADoAAAAfPxAiCgAAAAAAAAALRlsAAAgAbABlHDREAHAASTMAWhslAEckUgAjQhkSAABOAAAAAAAAAABYaZUnOilxQyF5Pj8vAkGXJhh/EGuTC3iUfQYcaGuWRwkUDX5NcmyLRUR3FRUrcAMZUWsOIIiHdgVrVjCMLyIjH3WRZhFaKAiEdC8uBB5GG4BQiZIzE0JuikgdWSxtcw8xJDwKJWtaWlJUB4EtelUqmklTg2sSMoZKmWsMTEtXe4VOT5g9QHxvAAAAAAAAAACBhAAA+JUAAPyVAAAClgAAB5YAAAqWAAAUlgAAHpYAACSWAAAolgAALZYAADKWAAA6lgAARZYAAEiWAABPlgAAJJYAACiWAABVlgAAWpYAAF+WAABjlgAAZ5YAAGuWAABwlgAAdZYAAPiVAAAolgAAepYAAIGWAACIlgAA/JUAAJCWAACEhAAAlpYAAPiVAAAolgAAm5YAAKCWAACllgAAqZYAACiWAAC2lgAAvpYAAMeWAADOlgAA2ZYAAAAAAAA5ogAAAQAAAG+aAAABAAAAAAAAADsAOwA7ADsAAAA7ADsAOwAAADsAOwA7ADsAAAAAAAAAOwAAAAAAOwAAAAAAAAA7AAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAA7ADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAAAAAAArQbwBUIHLAUsBRUBXgW9BUIGsAawBrAGEQEAAAAAcQD4A7AGsAawBrAGsAawBrAGsAawBrAGCwALAOwAuAAVARUBFQEVARUBFQFdALEADgFrAcgBJQKCAt8CPANQA+QDeAT4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gDjAT4A+kE/QT9BNIFsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAbOBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGjwCiAKIAogCiAKIAzACXAKABEwKIArwCEwLmAeYBEwJhAWEBYQFhAZkBFwE1ANkH2QdLAUsBSwFJAW4BSQFJAVUCVQLQAdoBBgGpAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCrQDlAdgD2ANAAuUBEwD+A9kH2QfZB4MB+gD6AA0C9gEWASgC4wDgATYCEwITAhMCEwITAhMCEwITAhMCEwJ/AhMCEwITAhMCEwITAhMCEwITAhMCEwITAgIAAgACABMCEwITAhMCDgMTAhMCEwLoAhMCEwIPAxMCEwITAhMCEwITAhMCEwKjAaoCRwFyAXIBcgFyAQUERwFHAQAEgQNYA7MDVQTCAsICdwRVBFUEdwRKA7EDXgRwBHAEcATCAqQCkAEXBLYCOwX2BPYEVgVWBfYEGQVtBVkF/gR5BXkFeQV5BfYEhgX+BP4EGQVtBVkFWQX+BPYEhgUSBWkF9gSGBZgF9gSGBfYEhgWYBUsFSwVLBYMFmAVLBVcFSwWDBUsFSwWYBXAFcAWYBVUFdAVVBXQFVQV0BVUFdAX2BFwFlQXeBW4FXAXtBfYEdQVuBYIFhQX+BPgF/AUNBg0GGgYaBhoG2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2Qc6AlkBrgLsAjIA5AIoBFME1QEZAhIEegSKBIIEsQSyBLMEuAS5BGcELQSsBIUEewTKBMwE3QQHA2QD3gTfBKcEfwQxBjUGMwawBUAG9wVBBjsGPAbUBcwF4gVDBtcFSAbYBU4GYwbkBdkF8QUsBkYG4QU4BjkGPQY+BvoFCwZTBvQFdgZzBmQGEQbmBToGYgY/BjQGVwb/BRwGagZxBnQGEAYYBnUGSQZ3BngGeQZ7BkwGegZ8BlAGcAaABg4GhAYCBoYGhwaFBokGiwaMBo4GkAaPBiYGkwaaBkoGkgafBjIGogabBqIGnQZrBn0GbgaWBq4GrwayBrQGpwazBqIGvwbABsEGwgbDBsQGxgbPBsgGyQbMBtAGygbSBssGbQZoBmwGbwZyBtUG1wbsBgAAAAAAAAAAAAAAAAAAuADuAO8A8ADuAO8A8ACjAJsAnACdAJ4AnwCgAKMAvwDAALcApQATAKcAAgHKAMsAyAC/AKMArgC4ALkArgAfAKMAowCrALgAuQAjAK8AJwCzALQAtQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC4AM4AzwCjAM4AzwDcAKMAEACjAEIAowA7AA4B2wDlABEB2wBKANAArgDfAOAAowC4ALkAowDoALgAuQC4ALkAuAC5AFwAXQBeAF8AYABhAGIAYwBkAGUAZgDpAMYAuAC5AGAAYQCjAM4AzwATAKMABQFoAGkAagBrAMYAbQB3ANwA2wDcABIBEwFNAHUATwC7AOUAEwDlALgAuQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDpAI0AhgCPAGYAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAmAASAdgAFAHaAFMAowBVAOkAQwDuAO8A8AALAFwAXQBeAF8AYABhAGIAYwBkAGUAZgATADYANwA4ADkAOgCjABoAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYANgA3ADgAOQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBcAF0AXgBfAGAAYQBiAGMAZABlAGYARQBgAGEAYgBjAGQAZQBmAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBRALMAtAC1AFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAAsBDAGjABYAFwA7AKMAGgATAHUAdgCvAG0AGAA7AFwAXQBeAF8AYABhAGIAYwBkAGUAZgAMAbgAuQANAX8AgAArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCdAJ4AnwCgAGkAagBrAKMApQA7AKcAuABaAGkAagBrAGwArgBJAG8AcABxABMAFgCjAFsAUQCjAGoAeQBRAIQAbgAQAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkA/wBiAM4AzwAaAGUAZgATAGkAagBrABcAxgA7AHQA2wCNAI4AjwAYAKMAuwDNABIBEwF/AIAAtgDoAH8AgAArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCeAE0AoABPADsAGgC2AKUAOwCnAMcABQFmAGkAagBrAK4ASABsAG0AbgBvAHAAcQByADsA7gDvAPAAewB4AH0AfgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAKMAowDOAM8AaQBqAGsA/gATAGoAWgDFABcAfwCAANsA7gDvAPAAFgC4ALkAuAC5ABYAaQBqAJUA6ADNAG4AowArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBiAGMAZABlAGYAuAC5AKMANQA7AAUB3AB1AHYAjQCOAI8AgwCuADsA5QB0AHUAdgCjADsAowCjALgAuQA7APIASAAWAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkAGAC4ALkAzgDPAMoAywATAGkAagBrABcAxgAWAK4AxgDbANwAaQBqAGsAYABhADsAaQBqAGsAFgCuADsAagArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8ADABsADsAhABvAHAAcQAuAC8AMAAxANsAzgDPAHkAGwA7AKMAjQDPAI8AaQBqAGsAowDbAOoAaQBqAGsAKgDbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBMAKMAuAC5AKMAaQBqAGsAPwATAFYAowCjABcAowCCAM0AFQBJAGkAagBrALgAuQCjALgAuQDtAG4AtAC1ALQAtQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCuAKMAowAWABcAowCjABoAFgAXANwAHQBJANwAEAEhABYAowAYABMArgDQAAMBuAC5ABMAuAC5AFAArwDmAK4AzgDPAFwAXQBeAF8AYABhAGIAYwBkAGUAZgDbAC4AQQD3AMMA9wDFAM4AzwATAHQAdQB2ABcA3ABwAK4A3ADOAM8A2wAWAK4AGACuABYAFwBbAAgBCQGoANsAWwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8ADACjAJUA/wDOAM8AzgDPADsAaAAXANsAowAaAKMAGwBpANsAowDbAKMA0wC4ALkAowB4AKMAkgCjAJQAKgDdAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjAFsAuAC5ALgAuQC4ALkAPwATAKMAzQBqABcA9QCjANAA+AB0AHUAdgC4ALkAowCjAAcACAAJAKMAEwAaALgAuQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjALgAuQBrAKMAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA0AD/ALEAsgCjALgAuQCjAIQAowCNAKMAjwAWAFwAXQBeAF8AYABhAGIAYwBkAGUAZgC4ALkAowC4ALkAuAC5ALgAuQBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowCjAKMAuAC5AKMAcwCjAKMAowCjAA8AowCjAKMAowCjABcAowCjABoAuAC5ALgAuQCjALgAuQC4ALkAuAC5AKMAuAC5ALgAuQC4ALkAuAC5AKMAYABhAJMAowC4ALkAowDHAKMAowDNALgAuQCjADwAowCNAKMAjwCjALgAuQATAKMAuAC5AOYAuAC5ALgAuQDOAM8A5gC4ALkAuAC5ALgAuQC4ALkAEwCjANsA5wArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjABoAowC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowC4ALkAuAC5AKMAtgCjAKMAowCjAKMAFgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCjALgAuQC4ALkAowC4ALkAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowC4ALkAYgA7AKMAuAC5AM0AuAC5ABcAzgDPABoAowAaAGsAmQCaAO0AuAC5AOcAkwDbALgAuQD5AHwAfwCAAOcA/gCBAKMA5wCxALIABgEHAXYAhAATABMALgDfAOAAHwAYABcAagB8ABoAFgAQAScAgQAXAG0AbgAaAKMAjAATABYA6gA7ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AOcABwAIAMEAOwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBoAD0AFwAXABcAGgAaABoAowAXABcAagAaABoAXABdAF4AXwBgAGEAYgBjAGQAZQBmAIoAaQAXADsAFwAaAGoAGgCjAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBuABcAFwAXABoAGgAaAKMAowATAHgAowCjAKMAggCjAKMAowCjAKMAowCjAMEAwQCjAKMAowCjAOEAEwBqAKMA3gCjACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQCjAKMAywCjAKMA3gCjAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowCjAKMAowCjAPsA+gDRABMAFAC2ABYAoQDeAFwAXQBeAF8AYABhAGIAYwBkAGUAZgAkAN4A3gAEAeIAvAAAAeIAuwBcAF0AXgBfAGAAYQBiAGMAZABlAGYA0gDVANUAOwDVAMQAwAC7AAAB9ADUALsA4gATABQARwAWANIApgA8AIIAqgAEAaoAJgBRAAEBAQGqAGgAJAAWACsAyQBaAOwAigDrANUAEgBgAGEAMADMAMwAzADMAGcAqgBpAGoAawASADsAbgCpANUA1QDJAKoAyQCpAOwA1QCSAEcA6wA+AP0A/ACqAH8AgACpABYAqgBSAL0AqQBoAKoAVwCpAL0AWgCNAI4AjwCQAJEAYABhALoAugC6AEAAwgBnALoAaQBqAGsAcwC9AG4AvAC6ALoAEwAUAMIAFgC6AL0AZgD2APYAvQCFAOQAaADkAOMA4wCqACQAhgDkAOMAEwAUAOQAFgBUAA8BjQCOAI8AkACRAAAAAQACANgAFgAFACQAiQA7AOMACgALAAwADQAOANkADQERANgAFgBHAKoA8wCSAPEA2QCIANcAhwA7AB4AUgAgABkA1gDVAFcArQAaAFoAKABHAA0ArACkAGAAYQCkAAYAogCiAKIAZwAHAWkAagBrAAoBCgFuAFoAsACwAL4AtgC+AGAAYQBiAAQARgCwAAMAZwC2AGkAagBrAE4AtgBuAFEAtgC2ALYAtgC2AJcAWAAWAI0AjgCPAJAAkQAPAFkAEAAXABcAgAATABQAiwAWAHcAgwAYABQAhQAQAI0AjgCPAJAAkQABAIwAJACDAHcAPQB6ACUAiwA1ADUAfwCAAHcANQA1AGkAIgCCAAEABQBoABYAlQAaADsARABLACkAggAYAEQAaAAUAJYAEwB4AEcAcgAWAEMAFgAWAEMAFwAWABYAQwBSACUAHAAXAIoAVwAWAJkAWgAXABcAGgAXABYAYABhABgAFwAWABgAggBnABcAaQBqAGsAAQACAG4AFwAFAGkAIgAWAIQACgALAAwADQAOABoAIgARACIAVQBTACwAEwAUABcAFgAYAEsAIgAXAB4AGgAgABoAjQCOAI8AkACRACQAKAAXABcAFwAXAAsAFwAWABoAFgAWABYAEwAUABcAFgAaAA8AFwAWAHwAggA7ABcAAQCCABUBFQGCACQARgCCABUBFQFHABUBFQEVAU4AFQEVAVEAFQEVARUBFQEVARUBWAAVARUBFQE7AFoAFQEVARUBFQEVAWAAYQAVARUBFQFHABUBZwAVAWkAagBrABUBFQFuABUBFQEVARUBFQEVARUBFQF6AFoAFQEVARUBfwCAAGAAYQAVARUBFQEVARUBZwAVAWkAagBrABUBFQFuAI0AjgCPAJAAkQAVAZYAFQEVARUBBQAVARUBFQEVAQoACwAMAA0ADgAVARUBEQAVARUBFQEVARUBFQEVAY0AjgCPAJAAkQAeABUBIAAVARUBFQEVARUBFQEVASgAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVAUYAFQEVARUBFQEVARUBFQFOABUBFQFRABUBFQEVARUBFQEVAVgAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBegAVARUBFQEVAX8AgAAVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQGWABUBFQEVARUBFQEVARUBFQEVARUBAAAAAAAAAAAAAHABaQBmAMUAaQBmAMUAAwJkBAEAAQAIAgIAaAQDAqgEkwSwBRMBcgF/AG0FrQStBKgEjgSyALUEQABAAN0BdwNCAawBXAElACUAKANqAXgD/QH9Af0BcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AbQH8APwAAwL8APwA8QEDAjUBAwLLAQMCNwTrAQAC3gEGAAACKQOGAPIB5ADCAKwBJQAlAAMC0ABAAEAAQABAAA0ADQBtAG0AbQBtAGwAbABrAGsAawBqAJEBAgF9AQ0ADQCOAY0BrAH8APwAcgHcAZUBUAQ3BDgEOQSCAVIEhgHxAQAC8QGPBYsFMAFRBDMB6ATwAXIB8wEQABAAcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8ABgFTBO8BUwSRAXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAIEAkQVXAYwFUwEjBOwBIQQHAUkAaQBmAMUA4gNtAG0AbQBtAGwAbABrAGsAawBqAJEBcgFvAG8AbwBvAGgA7AFZAJgFbQBtAG0AbQBsAGwAawBrAGsAagCRAW8AbwBvAG8AcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AbQBtAG0AbQBsAGwAawBrAGsAagCRAXIAbABsAGsAawBrAGoAkQFtAG0AbQBtAGwAbABrAGsAawBqAJEBmACPAY8BjwFtAG0AbQBtAGwAbABrAGsAawBqAJEBsgDtAYQFsgENBM4FNwQDAs4FcgGlASkBZQGcAUoANwRtAG0AbQBtAGwAbABrAGsAawBqAJEBhQUlACUAlwUSAfoBcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AnAUIAgIAaAQ3BDgEOQSuARMBNwR/AG4BpQM3BDgEOQTcALUEkQPKAccBxgGIAacAAwILBJgAvQGcA8UBmABqA5sDIQFtAG0AbQBtAGwAbABrAGsAawBqAJEBDQANAAUBVQP8APwA4wBqAJEBcgE3BDgEOQQ3AYQBNwQoAQACmwObA50D5wBDAecEbAWPBeoBEgH6AQwA0AASAfoBcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AoAUeAWgEIAE3BEkE9wATAUoEfwCDAZUBhQE3BDgEOQS1BJ8A7gD/AEEBzQE8AcwB4QAWA2kAZgDFAAECOgFKA0oDvQFtAG0AbQBtAGwAbABrAGsAawBqAJEBAwICAgMC/AD8ADcEOAQ5BLMBcgFKBKUDtAUaAxIB+gEAAmkAZgDFAFABPwA/AEAAQAAbABYDnAMfAdAASgWbAwMCcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AawBrAGsAagCRATEAMQADAhwANwSVAfEBpQEpAZsDmwOdA7oA1AE3BNMB5wPnA7oBAwI3BE4BAwItAC0AOwRWAa0AqABtAG0AbQBtAGwAbABrAGsAawBqAJEBDQANAM0ADQANAPwA/ACrBKsEcgE3BDgEOQQTAwkBBQBnAe4BAALVATcEOAQ5BI4BjQE3BDcEOAQ5BAMAGgE3BDsEcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8A/AD8APcD3AA3BGkDygHHAcYBrwOvA7oDvQMAAvwA/ADFAfgDNwS9AVMEuQRTBDcEOAQ5BAMCAAKqATcEOAQ5BPkDAAJtAG0AbQBtAGwAbABrAGsAawBqAJEBHAQDAjIAMgADAjcEOAQ5BDwDcgEbBHsBmwEoBE4FzwCYAQUDPQM3BDgEOQRAAEAAQgFAAEAAFgWzA5sBmgFOBVAFcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AJgHiAQMCDQTPBQMCsgHPBWIBYATjAeQDkQPlAdIB5AOEALIAIQDCAbMEiACWAUAAQADfAUAAQACjAXEBGwF6BPwA/ABtAG0AbQBtAGwAbABrAGsAawBqAJEBAALgALgBmwEKAU4FCgH8APwAcgEoAaABHAGmA4wB0APWAZAB/AD8AAACCQDZAecA9AFiAQwECwTQBWMBdgEAAmEEcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8A/AD8APcDAwJDBScB/AD8APwA/ABKBHcB+QAAAr0BaANCAfgD4AEAAsMAAAKyAREBDwAPAAMCOgEDAl8AAwJdAPkDbwFtAG0AbQBtAGwAbABrAGsAawBqAJEBAwJhBCcAJwAzADMANAA0APcBcgEDArQESgSWA7cBVQGFALQB3wDeAN0ANQA1AEIBeAX5AvoC+wIDAnIBWAA2ADYAcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AlwE3ADcAxAADAnAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAIcACAF9BHgBAwIoACgAAwJoAwMC4QMDAuEDdABtAG0AbQBtAGwAbABrAGsAawBqAJEBKQApAAMCKwArACwALAA4ADgAbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCewEDAjkAOQADAh8DAwJ7AQMCvQHIAAMCQwEDAnUFAwKzBQMCBwUxAzoAOgAOAA4AAwI7ADsAdgB2ADwAPAADAi4ALgA9AD0APgA+AC8ALwADAr4AvQBbAAMCjACMAAMCigEDAhUBsASNAI0AAwJbBAMC4AMDAuADAwJFAEUAcgEWATAAMAADAUEAQQB3AHcA9gD2AAQBQgBCAHgAeAB5AHkAdQB1AHIBAwIAAn8BcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AAwJoAwMCiwCLAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAcFigCKAH0AfQADAgwAAwIZAQcFAwK9AYMABwVtAG0AbQBtAGwAbABrAGsAawBqAJEBAwJ8AHwAegB6AAMCewB7AAMCbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCRABEAM8BDwMDAkYARgAuAUMAQwAIBP0A/QBkAQcFvwDEAJkF0QEVBSYAJgCAAV4AAAIqACoAsQBQAxIB+gGBAaQBTwNMBbkB/AF4AXkBmQCnAWgDsAFyAeAA+wDCAHcDtgAlAQ8DUANYAP4A0gF4A08DkwMnAyYD5gDZBI4DcgERAJ0BHQNwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCLAS4DLwOXBNcDcABlAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AdwGmAasBrQEqAeYA5gBYANgEwwE4AR0D4gBYAG0AbQBtAG0AbABsAGsAawBrAGoAkQFWALEB0wOfA3ED4gDXA+YAnwFtAG0AbQBtAGwAbABrAGsAawBqAJEBQAFNAw0DTgNkAIIAZAB7BSIBcgE/AWEFYAW1AakFKwHVBC8BMgE0ATYBpASWBJUElAQ7AUQBRQHMBHIBnwPhBA8BBgVxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AyATTBPYB9QEMBcUEgwRnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAHwEcQRwBHIEowW+AfQAuABiAPsBvAAEAGEBRwFtAG0AbQBtAGwAbABrAGsAawBqAJEB/gFJAUsBxwCeAcgBJAEdAT4BbQBtAG0AbQBsAGwAawBrAGsAagCRAQsA9wT/BJIBaQHAAJMERwWvAfkBWgFGBU0BYgD7AfgBBAC7AKYFWwTpAHQFmwByBVgEmABIAEsAegGpAf4BpQCVAJ0ApQP8BFYAHgD0BKEBYABgAAgAoAChAKIAowBhAKIBkgEFAgQCwQGSAZsD0gBmAagBAgW2AakA1gBoAUEFUAD4AR8AvAFVBS0B9QASAfoB2ACuADEB6AG/AdkAzgFzBOcB2gBrAaUDmwObA50DngMYAGAAYACnBKYEpQSHAZ4EYQCLBJIBBQIEAh8DbAGbA4oEPQGJBGIA+wGdBAQAsgXYAYkBDQEOAdsB4QHQBFUA0QRGAUgB6AD+Ae8BzwRKAWIA+wHOBAQA5gFPAZsDmwOdA54DGACbBSwElAG1AFABAAH+AXMAkgFMAWABYAFfAfEAXQG+BIYFAgNSAQoA+AFUARABXAAzBb0EVwC3AOQBkgHJAOgBGAHvAFgBWQHpAXkEHQClAxcB+AEyBAYC8ABgAGAA8gDzAAcCbgRpBGEAmgCSAQUCBAJ0AXUBmwOlA44AjwCAAGUFCwFgAGAAVAP1AssAkACTAWEAZgWSAQUCBALMAGQFmwOSAGMFhwSGBEcAhAQUAcoAuQCbA5sDnQOeAxgAxgABAX4A3wPdA4sDYgD7AZwABACRAJ4AzgA/A9EAIwGbA5sDnQOeAxgA7QOPA/4BpACTAHwBcwF+AaYATABNABIB+gGUAE4ATwDwA9MA1ADsA4kA1QASACwB5gCSAeUDVQS7AdcAIACqAKsABAOZAcABPwH4AdsArADEAVEAEwDJATkBFABSAAwB6AGWACoDswBTAOcB0AGXAKUDtAC/A1QAEAQiAGAAYADXAREEIwDaAcEAYQD4AJIBBQIEAiwElAGbA/oAAAFwA+UArwBrA2ABYAFfAfEAXQFkABUAAgMWAB4EIAQHAGIA+wEVBAQAUQEiBBcAzgPJALAAGAFYAJsDmwOdA54DGAD+ARcBwAO+A8ID9gPDA/UD6wDqABkAJABjAFoA+wGgAwQA/wFeAQ4DGgBJA+wAkgFbAS0E7QBlBGUEqwX+AcsAqgVlBGUE+AFlBGUEZQTMAGUEZQSSAGUEZQRlBGUEZQRlBMoAZQRlBGUEkgGlA2UEZQRlBGUEZQRgAGAAZQRlBGUE+AFlBGEAZQSSAQUCBAJlBGUEmwNlBGUEZQRlBGUEZQRlBGUEcwGlA2UEZQRlBBIB+gFgAGAAZQRlBGUEZQRlBGEAZQSSAQUCBAJlBGUEmwObA5sDnQOeAxgAZQSZAWUEZQRlBAABZQRlBGUEZQRgAWABXwHxAF0BZQRlBAIDZQRlBGUEZQRlBGUEZQSbA5sDnQOeAxgAyQBlBBgBZQRlBGUEZQRlBGUEZQQXAWUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQTLAGUEZQRlBGUEZQRlBGUEzABlBGUEkgBlBGUEZQRlBGUEZQTKAGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBHMBZQRlBGUEZQQSAfoBZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEmQEAAAAAAAAAAAAAAAAAANQF1AXUBTwFYwTNBGMEYwRjBDwFPAU8BWME6wTrBG8FggRjBGMEYwRjBGMEYwRjBDsFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTxBGMEYwRjBGMEYwQ9BT4FYwRjBGMEbgVwBfsE+gT5BPgEXQXeBPYE7wTzBDcFOAU2BToFPgU9BWME8gQaBSgFGQVjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBCIFJwUtBSYFIwUcBRsFHQUeBWMEeASpBGMEYwRjBGMEgQWABWMEYwSCBB8FIAUqBSkFdgWoBacFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBIIEfgQUBRMFigV+BOUEYwR8Bc0ExARjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBHMFcQVjBEsFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEyQRjBGMEYwRjBGMEYwRjBGMEYwRjBKIFYwRYBbcEyQTJBMkEyQTLBLgEtgTDBIIEagTMBfUE4ATgBMkF9QT1BMkFkAS2BY0E6wTrBOsE4AQ5BcoEwwRjBMwF0gTSBMsFywXSBP4EBAWsBPUEsgSyBLIEsgTSBHUE9QT1BP4EBAWsBKwE9QTSBHUEXAXGBdIEdQREBdIEdQTSBHUERAWqBKoEqgSfBEQFqgSQBKoEnwSqBKoERAVIBUgFRAXkBN8E5ATfBOQE3wTkBN8E0gTlBIkFYwTwBOUEPwXSBGME8ATuBOwE9QR7BKIEpQWlBaEFoQWhBdEF0QV8BbEFggSCBIIEggSxBZIEkgSCBIIEggSCBLEFYwRjBGMEYwRjBGMErAVjBE0F1gRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBAkFYwRmBHkFYwRjBHcFYwRjBGMEYwRjBGME1wRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTIBWMEYwRjBGMEYwRjBFsFWgVjBGME1ARjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBO0EYwSIBWMEYwRjBGMEYwRjBGMElgXmBGMEYwS/BWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwS6BboECwVjBAoFDgVjBG8EYwQAAAAAAAAAAAAAAAAAAJ8A/wCfAP0AngD/AKAA/QChAAAAoQD/AKEA/wChAP8AoAD+AKAA/gCgAP4AoAD9AKAA+wClAPoApwD/AKkAAACpAP0AqAD/AKgAAACmAPsApgD+AK0AAACtAP4ArwD+ALEAAACxAPwAsQD6ALIA/gC2AAAAtwD+ALcA/AC3APwAtwD8ALcA/AC3AP0AtwD9ALcA+wC3AP4AtwD8ALcA/AC3AP8AtwD+ALwAAAC8AP8AvgAAAL4A/gDAAP4AwAD9AMAA/QDAAP0AwQD+AMEA/gDBAP8AwQD/AMEA/gC/AP0AvwD+AMIAAADCAP4AwgD+AKwAAADEAP8AxQD+AMUA+QDFAPsAxQD7AMUA9gDIAAAAugAAALoA/QDJAAAAyQD+AMoA/wDKAP8AoAD8AMwA/gDMAAAAoAD3AKAA/ACgAP8ArgD9AK4A/ACuAP8AzgD9ANEA/wDRAP4A0QD/AM8A9wDPAPYA2wD8ANsA+wDSAP8A0gD/ANIAAADdAAAA0wD7ANMA/QDTAPsA3gD+AN4AAADUAAAA1AD+AOAA/gDgAAAA3wD5AN8A9wDfAPkA3wD5AKoAAACqAP4AzQD/AM0A/QDmAP8A5gD9AOYA+wDmAP0A4QD/AOEA/gDhAP0A4QD8AOMA/gDjAAAA4gAAAOIA/QDiAP4A5AD8AOQAAADYAAAA2AD9AMYA/ADGAP4AuwD/ALsA/wC7AAAA1gAAANYA/QDXAAAA1wD+ANkAAADZAP4A2QD8ANkA/ACgAPoA1QAAANUA/gCgAPgA6QD7AOkA+QDpAP0A6QD7AKAA+QCgAPkA7AAAAOwA9QDsAPgA7AD8AOoA/gDqAP8A6wAAAOsA/QDnAP0A5wD/ALkA/QC5AP8AuQD/ALkA/QC5APsAuAD/ALgA/wC4AP8AuQD/ALkA/QC5APoAuQD7ALkA/AC5APoAuQD7ALgA/wC5APsAuQD9ALkA/QC5AP0AuQD9ALkA/QC5AP0AuQD9ALkA/QDuAP4AuQD9ALkA+wC5AP4AuQD9ALkA/QC5APwAuQD+ALkA/gC5AP4A7wD/AO8A/gC5APsA8AD/APAA/gC5APsAuQD9ALkA+wC5APsAuQD8ALkA+wDzAPsA8wD8APQA/gD0AAAA8gD/APIAAADlAAAA3AD9ANwA/wDxAAAA8QD9AKAA9AD1AP8A9QAAAL0AAAC9AP0AxwD7AMcA/QD2AAAA9gD+AKAA/ACgAP8AoAD+AKAA/QCgAPsAoAD6AKAA+wCgAPoAtAD+ALUA/gCgAPsA+AD1APoA/wD6AP4A+gAAAPsA/wD7AP8A+wD9AP0AAAD9AP4A+QD9APkA/gD/AP0AAAH9AAAB/gD+APgA/gD4AP4A+gD+AP0AuQD8ALkA+gDLAP8AywD/AMsA/wCgAPwAoAD6AKAA/QACAQAAAgH+AKAA/wCgAP0AoAD/AKAA/QCgAPoAoAD5AAMB/wCgAPgAoAD/AKAA/AAFAfgABwEAAAgB/wAIAf0ACQH/AOgA/gDoAP0A0AD6ANAA+AALAf8ACwH9AAwB/QANAfsADwH9AA8BAAAOAQAADgH+AA4B+wARAf8AEQH/ABMB/wATAf4AFAH/ABQB/gASAf4AEgH+ABIB/gDaAP4A7QD9AO0A/QAQAQAAEAH7AJsA/wCcAP4AnAD/AJ0A/wCdAP4AnQD+AKIAAACiAP8AogD+AKQA/wCkAAAAoAD+AKsA/ACrAP4AowD/AKMA/wCjAP8AsQD/ALIA/wCzAP8AswD/ALAA/gCwAAAAtwD+AKwA/gDDAP0AwwD/AMQAAADIAP8AygD/AM4A/wDPAP8A3QD+AN4A/wC5AP8A7gD/AOUA/wD3AP8A9wD/APcA/wD3AP8A9wD/ALQA/wD8AAAA/AD9AP8A/wAAAQAAAQH/AAEBAAAEAQAABAH/AAYB/wAGAf0ABwH+AAoBAAAKAfwACgH+AOgAAAAAAAAASQAAACQACgBaAAAANAAJAIEAAABaAAEAUwAAAE4AAAALAAsABQACAEYAAAB1AAAAbf+rAAcBoP9mAXD/a/+a/3wAZP+e/zEBkQHH/9EAE//1AKL/sf+9AHcB6gHtAXoBLwEbAh4C9QH3ASoCnwEOAiICLQJLAlECUwIW/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/87/TwHWAXkCkAKSApQCowKtAr8C1wLrAu4C8ALyAgIDFAMWAxkDGwMdAyADIgMkAyYDLQM0Az0DQQNEA0YDSwNNA08DUQNpA3sDfQOUA5YDmQOoA60DsAO8A8EDFv8W/xb/Fv8W/xb/Fv8W/xb/zwFfAlD/DgB1/1cAd/8yA50DMgOdA4IDFv8W/xb/Fv9a/1r/Wv9+/33/rv/K/0z/bAEpAAEC/QH9AXUA9AEVAxwDhgLAACMBhAIeA3gAJwMfAo8DmAOMApwDmgPoALoCIQPLAycA3ADbAroBhgM5/9MD1f+lAYADrgNdAkj/gv+bAKwAGQEwAXkBGgKKArICuwLTAiMDRwNVA5cD3wP6AysERAS3A1cEWARbBFwEXQRfBGAEYQRiBGMEZARlBPQDSARJBGgEaQRqBGsELgRvBHEEgAQ1BIEEgwRaBIQEMAGGBJQElQSWBJcEmARBBEMEbQRKBGYEcwR0BC4EbQRtBJIEiwSiBE8EkARyBHUEVgSRBJMEbASZBKUEqgSdBLAEtASOBHkEmgSjBNAEdgTPBNEEfQR+BNYEmwSeBLwEtQTDBMQExQTGBOoE8gTHBMgEtgS7BNUE1wTOBPUE+ASrBK0EAAUEBfQEBQUJBQoFDQX6BAYFBwUIBQIFDgUMBREFFAUQBRUFGgUYBeEE4gQcBfcE+wT5BPwE/wQBBQMFFgU2BRsF2wTzBCYFKgUXBVsFEwUwBTQFPAU+BWgFbwV4BXsFfwWABYEFHwUgBR4FfQV6BYQFiQWMBX4FcQVzBY0FjgWPBZAFhwUAAAAAAAAAAAAAAABbswAAAAACAGKzAAAAAAQAAAAAAAAAAAAAAAAAAAAAAFGzAAABAAAAVLMAAAIAAABXswAABgAAABqNAACAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABpAAEDLwEIAEYAAgBhAQIBLwEIAEYAAQCrAAAAUQEBAAAAAAAAAAAAAAAAAAIAAQBpAAEEEgEAAEUAAgBrAAcAAAAAAAAAAAAAAAAAUwEAADABBABqAAMAUQMBAEUAAABqAAMACwADAAAAAADUtQAAAQAAACC2AAABAAAAJrYAAAIAAAAvtgAAAwAAADi2AAACAAAAQLYAAAMAAABItgAAAAAAAE+2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCQkICAcHBwYGBgUFBQQEBAQDAwMDAwMCAgICAgICHpYAAEAAAADrfQAAQgAAAPR9AABBAAAADLoAAEMAAAAzAAIAeQAAAGYAAgB6AAAAdQAAAAAAAAAAAAAAAAAAAG5hdHVyYWxlZnRvdXRlcmlnaHRmdWxsaW5uZXJjcm9zcwAAAAAAAAAAAAAAAAAAAAAHBAYEKAoFIA4FMBMEOBcFARwFAwAAAAAAAAAAAAAAtNsAAKvCAACxwgAAtsIAALvCAAAAAAAAAAAAAAAAAAAAAAABAQEAEAABAAEBAQMDAQEDEgMBCQkJCQkJCQkJCQEBAQEBAQEBASMLJiYBAQMDAwMDCwsLCwsLAQEBAQAAAAACAggAEBAQEAAQEAAAEBAAAAICAgAAEiAAACYmJiYmJiYmJiYAEhAQEAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAQAAAEBAAAEBAAABAQAAAAAAAAAAYQAAQaAAAAAAAAAAAAAAAAABAQAAAAAAAAAKAAAABtAAAAHwAFAVoAAAFRAQAARQAAAAAAAAAAAAAA6gMAAABAAADrAwAAAAAEAOwDAAAAAEAA7QMAAAAAAQDuAwAAAAgAAO8DAAAAAIAA8AMAAAAAAAHxAwAAAAAAAvIDAAAAAAAQAAAAAAAAAAAAypo7AMqaO9AHAADoAwAA9AEAAICy5g5/AAAACgAAAFDDAADnAwAA6AMAAAAAAADKxQAApQAAANLFAACmAAAAEZkAAKcAAADaxQAAqAAAAIDQAACs0AAA8NAAAAzRAAAp0QAARNEAAGDRAAB50QAA28cAACPKAAAcyAAA6ckAAPfKAABwygAAkdEAAJnHAADSyAAAYMgAAFnQAADF0QAA8dEAANLLAABvxwAAss8AALTbAAC02wAAm8gAAG7MAAAszQAAT84AALbOAAB4zwAAo80AAO3OAAAOzgAAPM8AAPzMAAD9yAAAZ8kAALDJAADS0gAAAgAEANXSAAADAQMA2dIAAAMBAgDd0gAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA////////APwBAAD4AQAA+DAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAEEADhq1AEABwAAOF9gADgcAAQEwMgEBBjkBARBKAQEueAF0AXkBAQZ/AWgBgQEyAYIBAQSGASwBhwEAAYkBKgKLAQABjgEgAY8BJgGQASgBkQEAAZMBKgGUAS4BlgE0AZcBMAGYAQABnAE0AZ0BNgGfATgBoAEBBqYBPAGnAQABqQE8AawBAAGuATwBrwEAAbEBOgKzAQEEtwE+AbgBAAG8AQABxAECAcUBAAHHAQIByAEAAcoBAgHLAQES3gEBEvEBAgHyAQEE9gF6AfcBhgH4AQEoIAJuASICARI6AkYBOwIAAT0CbAE+AkQBQQIAAUMCagFEAhwBRQIeAUYCAQpFAyQBcAMBBHYDAAGGAxIBiAMQA4wDGgGOAxgCkQMOEaMDDgnCAwABzwMEAdADjAHRA44B1QOSAdYDkAHYAwEY8AOIAfEDigH0A4IB9QOAAfcDAAH5A5gB+gMAAf0DbgMABCIQEAQOIGAEASKKBAE2wAQGAcEEAQ7QBAFYMQUWJqAQQibHEEIBzRBCAQAeAZabHoQBnh5gAaAeAWAIH5YIGB+WBigflgg4H5YISB+WBlkflwhoH5YIiB+WCJgflgioH5YIuB+WAroffgK8H5QBvh9kAcgffATMH5QB2B+WAtofeALoH5YC6h92AuwfmAH4H3AC+h9yAvwflAEmIWIBKiFcASshXgEyIQwBYCEIEIMhAAG2JAoaACwWL2AsAAFiLFgBYyxmAWQsWgFnLAEGbSxUAW4sVgFvLFABcCxSAXIsAAF1LAABfixOAoAsAWTrLAEE8iwAAUCmAS6ApgEYIqcBDjKnAT55pwEEfadMAX6nAQqLpwABjadKAZCnAQSgpwEKqqdIASH/DhoAAAAAAQACAAgADwAQABoAHAAgACUAJgAoADAAPwBAAEUARwBPAFAAdADKAMsAzQDOAM8A0QDSANMA1QDWANkA2gDbAAcDYBwoKisqvFrYWvx1wdXh1eLV5NUD1gnWGdZB37rfQeKj4vvjGvH0/j3/Xf9+/4D/gv+H/5D/nP+f/6r/tv/A/8T/xv/I/8r/0P/i/+f/6v/x//f/+P/5/wAAAAAAAAAABQc4B0MHYweIB5QHywfoB/gHDAg+CHgIngjYCO4IKAlPCagJuAnUCSQKbAqsCt4KGgtOC4oLqAu4C9QLCA2ADXAOgA6QDqAOOA9ID1gPgA+oD8gPChAqEEoQahCKEKoQyBDYEPgQOBFIEXgRmBEEGDYYeBiIGNgYHRlpGYEZCPAc8F7wmPDK8PjwCPEe8VjxaPGM8bjx2vH88S7yqvLK8vjyCvNe85zz6vMO9Ej0WvR49Iz0sPS49MD0yPQK9cz1SvZq9ir3nvcAAAAAAAAAYWNlaW5vdXl5YWNkZWVnaGlqa2xub3JzdHV1d3l6b3VhaW91Z2tvamduYWVpb3J1c3RoYWVveQAAAAAAAAAAYWJkZGVmZ2hoaWtsbG1ucHJyc3R1dnd3eHl6aHR3eWFlaW91eQAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAAEBAQABAQEBAQABAQEBAQABAQECAQAAAAAAAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAA/v//fwAAAACwBAAAZAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+//9/////fwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWnQAAAwAAAFKdAAADAAAAQQAAAEEAAABBAAAAQgAAAEMAAABEAAAAQgAAAAAAAAABAAAAAAAAAEUAAABUAAAAQQAAAEEAAABGAAAAQgAAAJ8AAABBAAAAQgAAAFUAAABWAAAARwAAAEgAAABJAAAAAQAAAEcAAABCAAAAQwAAAEcAAABKAAAASwAAAEwAAABNAAAATgAAAEgAAABIAAAASQAAAAAAAABDAAAAVwAAAE8AAABEAAAARAAAAAMAAABNAAAAQgAAAEMAAABHAAAASgAAAEsAAABaAAAAWwAAAFwAAABIAAAASAAAAEkAAAAAAAAAQwAAAFcAAABPAAAARAAAAEQAAAADAAAATgAAAEIAAABDAAAARwAAAEoAAABLAAAAXQAAAF4AAABfAAAASAAAAEgAAABJAAAARQAAAEMAAABXAAAATwAAAEQAAABEAAAAvX4AAAEAAABPAAAARgAAAEcAAABPAAAAYAAAAGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIAAABiAAAAUAAAAAAAAABjAAAAUQAAAEgAAABSAAAAUwAAAFAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAFCyAAAAAAAAAQAAAAEAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAAAAAAD9sQAAAAAAAAIAAAABAAAAAAAAAAAAAACiAAAAAAAAAAAAAAAAAAAA/7AAAAAAAAACAAAAAQAAAAAAAAAAAAAAowAAAAAAAAAAAAAAAAAAAPWwAAAAAAAAAQAAAAEAAAAAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAADhsAAAAAAAANa2AADYtgAARZYAADkAAAA5AAAANgAAAHy8AACxvAAA5LwAAAAAAABDAAAAQwAAAGUAAABUAAAAVAAAAGYAAABVAAAASQAAAFYAAABXAAAAUQAAAGcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAAAAWAAAAEUAAABZAAAARAAAAAAAAAAAAAAAUwAAAFoAAABGAAAAWwAAAEUAAAAAAAAAAAAAAFQAAABcAAAARwAAAF0AAABGAAAAAAAAAAMAAABHAAAASAAAAGgAAABeAAAAXwAAAGkAAABgAAAASgAAAGEAAABiAAAAVQAAAGoAAABIAAAAYwAAAGQAAABlAAAAZgAAAEsAAABrAAAAbAAAAG0AAABuAAAAZwAAAAAAAABJAAAASQAAAG8AAABoAAAAaAAAAHAAAABpAAAATAAAAGoAAABrAAAAVgAAAHEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXNsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAA4AGAAfADsADycQAAICIQAgAB4AHAAaABAQAhBhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cxMABwb3dlcgBzaWduAHNxcnQAc3F1YXJlAGNlaWwAZmxvb3IAcGkAcmVwbGljYXRlAGNoYXJpbmRleABsZWZ0c3RyAHJpZ2h0c3RyAHJldmVyc2UAcHJvcGVyAHBhZGwAcGFkcgBwYWRjAHN0cmZpbHRlcgBzdGRldgB2YXJpYW5jZQBtZWRpYW4AbG93ZXJfcXVhcnRpbGUAdXBwZXJfcXVhcnRpbGUAYXJnYz09MQBjL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAD8wMDAAcmFkMmRlZ0Z1bmMAZGVnMnJhZEZ1bmMAY29zRnVuYwBzaW5GdW5jAHRhbkZ1bmMAY290RnVuYwBjb3NoRnVuYwBzaW5oRnVuYwB0YW5oRnVuYwBjb3RoRnVuYwBleHBGdW5jAGxvZ0Z1bmMAbG9nMTBGdW5jAHBvd2VyRnVuYwBzaWduRnVuYwBzcXJ0RnVuYwBzcXVhcmVGdW5jAGNlaWxGdW5jAGZsb29yRnVuYwBkb21haW4gZXJyb3IAYXJnYz09MyB8fGFyZ2M9PTIAY2hhcmluZGV4RnVuYwBsZWZ0RnVuYwByaWdodEZ1bmMAMT09YXJnYwByZXZlcnNlRnVuYwBwcm9wZXJGdW5jAHBhZGxGdW5jAHBhZHJGdW5jAHBhZGNGdW5jAHN0cmZpbHRlckZ1bmMAdmFyaWFuY2VTdGVwAG1vZGVTdGVwADMuMjYuMAAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AbWlzdXNlADIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQAlAHRoc3RuZHJkAC14MABYMABOVUxMAChOVUxMKQAuAE5hTgB1bml4AHVuaXgtbm9uZQB1bml4LWRvdGZpbGUAdW5peC1leGNsAG9zX3VuaXguYzolZDogKCVkKSAlcyglcykgLSAlcwBjbG9zZQBvcGVuAGFjY2VzcwBnZXRjd2QAc3RhdABmc3RhdABmdHJ1bmNhdGUAZmNudGwAcmVhZABwcmVhZABwcmVhZDY0AHdyaXRlAHB3cml0ZQBwd3JpdGU2NABmY2htb2QAZmFsbG9jYXRlAHVubGluawBvcGVuRGlyZWN0b3J5AG1rZGlyAHJtZGlyAGZjaG93bgBnZXRldWlkAG1tYXAAbXVubWFwAG1yZW1hcABnZXRwYWdlc2l6ZQByZWFkbGluawBsc3RhdABpb2N0bAAlcwBhdHRlbXB0IHRvIG9wZW4gIiVzIiBhcyBmaWxlIGRlc2NyaXB0b3IgJWQAL2Rldi9udWxsAGNhbm5vdCBvcGVuIGZpbGUAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMvZXRpbHFzXyVsbHglYwAvdmFyL3RtcAAvdXNyL3RtcAAvdG1wAGZ1bGxfZnN5bmMAL2Rldi91cmFuZG9tAGZzeW5jAG1vZGVvZgBwc293ACVzLmxvY2sAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAJXMtc2htAHJlYWRvbmx5X3NobQABAAAAAQEDAnNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQAc3FsaXRlX2NvbXBpbGVvcHRpb25fZ2V0AHVubGlrZWx5AGxpa2VsaWhvb2QAbGlrZWx5AGx0cmltAHJ0cmltAHRyaW0AbWluAG1heAB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3VtAHRvdGFsAGF2ZwBjb3VudABncm91cF9jb25jYXQAKj9bAGdsb2IAJV8AAWxpa2UAY29hbGVzY2UATElLRSBvciBHTE9CIHBhdHRlcm4gdG9vIGNvbXBsZXgARVNDQVBFIGV4cHJlc3Npb24gbXVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIAc3RyaW5nIG9yIGJsb2IgdG9vIGJpZwAsADkyMjMzNzIwMzY4NTQ3NzU4MABpbnRlZ2VyIG92ZXJmbG93ACUhLjE1ZwAlIS4yMGUAJS4qZgBpbnRlZ2VyAHJlYWwAdGV4dABibG9iAG51bGwAASAAQ09NUElMRVI9Y2xhbmctNi4wLjEARElTQUJMRV9MRlMARU5BQkxFX0ZUUzMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMAT01JVF9MT0FEX0VYVEVOU0lPTgBUSFJFQURTQUZFPTAAU1FMSVRFXwBqdWxpYW5kYXkAZGF0ZQB0aW1lAGRhdGV0aW1lAHN0cmZ0aW1lAGN1cnJlbnRfdGltZQBjdXJyZW50X3RpbWVzdGFtcABjdXJyZW50X2RhdGUAJTAyZAAlMDYuM2YAJTAzZAAlLjE2ZwAlbGxkACUwNGQANDBmLTIxYS0yMWQAbm93AG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9uIGluIGluZGV4IGV4cHJlc3Npb24gb3IgQ0hFQ0sgY29uc3RyYWludABsb2NhbHRpbWUAdW5peGVwb2NoAHV0YwB3ZWVrZGF5IABzdGFydCBvZiAAbW9udGgAeWVhcgBkYXkAc2Vjb25kAG1pbnV0ZQBob3VyAGxvY2FsIHRpbWUgdW5hdmFpbGFibGUAMjBjOjIwZQAyMGUAMjBiOjIwZQAlMDRkLSUwMmQtJTAyZCAlMDJkOiUwMmQ6JTAyZAAlMDJkOiUwMmQ6JTAyZAAlMDRkLSUwMmQtJTAyZAByb3dfbnVtYmVyAGRlbnNlX3JhbmsAcmFuawBwZXJjZW50X3JhbmsAY3VtZV9kaXN0AG50aWxlAGxhc3RfdmFsdWUAbnRoX3ZhbHVlAGZpcnN0X3ZhbHVlAGxlYWQAbGFnAGFyZ3VtZW50IG9mIG50aWxlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAHNxbGl0ZV9yZW5hbWVfY29sdW1uAHNxbGl0ZV9yZW5hbWVfdGFibGUAc3FsaXRlX3JlbmFtZV90ZXN0AG1haW4AZGF0YWJhc2UgY29ycnVwdGlvbgBlcnJvciBpbiAlcyAlcyVzOiAlcwAgYWZ0ZXIgcmVuYW1lAEZPUkVJR04gS0VZIGNvbnN0cmFpbnQgZmFpbGVkACVzLW1qWFhYWFhYOVhYegBNSiBjb2xsaWRlOiAlcwBNSiBkZWxldGU6ICVzAC1taiUwNlg5JTAyWADZ1QX5IKFj13JlY292ZXJlZCAlZCBwYWdlcyBmcm9tICVzAGNhbm5vdCBsaW1pdCBXQUwgc2l6ZTogJXMAcmVjb3ZlcmVkICVkIGZyYW1lcyBmcm9tIFdBTCBmaWxlICVzAEV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAG5vIHN1Y2ggdGFibGUAbm8gc3VjaCB2aWV3AHByYWdtYV8AJXM6ICVzLiVzACVzOiAlcwB2dGFibGUgY29uc3RydWN0b3IgY2FsbGVkIHJlY3Vyc2l2ZWx5OiAlcwB2dGFibGUgY29uc3RydWN0b3IgZmFpbGVkOiAlcwB2dGFibGUgY29uc3RydWN0b3IgZGlkIG5vdCBkZWNsYXJlIHNjaGVtYTogJXMAQVBJIGNhbGxlZCB3aXRoIGZpbmFsaXplZCBwcmVwYXJlZCBzdGF0ZW1lbnQAQVBJIGNhbGxlZCB3aXRoIE5VTEwgcHJlcGFyZWQgc3RhdGVtZW50AGludGVycnVwdGVkAGsoJWQAQklOQVJZAEIALQAsJXMlcwApACglLjIwcykAJXMoJWQpACVkAChibG9iKQB2dGFiOiVwACwlZABdAHByb2dyYW0AJS4yeABBUEkgY2FsbCB3aXRoICVzIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9pbnRlcgBpbnZhbGlkAHVub3BlbmVkAGRhdGFiYXNlIHNjaGVtYSBpcyBsb2NrZWQ6ICVzAHN0YXRlbWVudCB0b28gbG9uZwBhZGRyAG9wY29kZQBwMQBwMgBwMwBwNABwNQBjb21tZW50AGlkAHBhcmVudABub3R1c2VkAGRldGFpbABAICAAJXMgY29uc3RyYWludCBmYWlsZWQAJXo6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAAEAAAEBAAABAAEAAQEAAQAAAQAAAAABAgACAgABAgEBAQIBAmNhbm5vdCBvcGVuIHNhdmVwb2ludCAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAG5vIHN1Y2ggc2F2ZXBvaW50OiAlcwBjYW5ub3QgcmVsZWFzZSBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IHRyYW5zYWN0aW9uIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IGNvbW1pdCAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3Qgcm9sbGJhY2sgLSBubyB0cmFuc2FjdGlvbiBpcyBhY3RpdmUAY2Fubm90IHN0YXJ0IGEgdHJhbnNhY3Rpb24gd2l0aGluIGEgdHJhbnNhY3Rpb24AZGF0YWJhc2Ugc2NoZW1hIGhhcyBjaGFuZ2VkAFNFTEVDVCBuYW1lLCByb290cGFnZSwgc3FsIEZST00gJyVxJy4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZABzcWxpdGVfbWFzdGVyAE1haW4gZnJlZWxpc3Q6IABtYXggcm9vdHBhZ2UgKCVkKSBkaXNhZ3JlZXMgd2l0aCBoZWFkZXIgKCVkKQBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8ARmFpbGVkIHRvIHJlYWQgcHRybWFwIGtleT0lZABCYWQgcHRyIG1hcCBlbnRyeSBrZXk9JWQgZXhwZWN0ZWQ9KCVkLCVkKSBnb3Q9KCVkLCVkKQBQYWdlICVkIGlzIG5ldmVyIHVzZWQAUG9pbnRlciBtYXAgcGFnZSAlZCBpcyByZWZlcmVuY2VkAHRvbyBtYW55IGxldmVscyBvZiB0cmlnZ2VyIHJlY3Vyc2lvbgBpbnRvAG91dCBvZgBjYW5ub3QgY2hhbmdlICVzIHdhbCBtb2RlIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AY2Fubm90IFZBQ1VVTSBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGNhbm5vdCBWQUNVVU0gLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBBVFRBQ0gnJ0FTIHZhY3V1bV9kYgBCRUdJTgBTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBuYW1lPD4nc3FsaXRlX3NlcXVlbmNlJyBBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGU9J2luZGV4JwBTRUxFQ1QnSU5TRVJUIElOVE8gdmFjdXVtX2RiLid8fHF1b3RlKG5hbWUpfHwnIFNFTEVDVCpGUk9NIiV3Ii4nfHxxdW90ZShuYW1lKUZST00gdmFjdXVtX2RiLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0ndGFibGUnQU5EIGNvYWxlc2NlKHJvb3RwYWdlLDEpPjAASU5TRVJUIElOVE8gdmFjdXVtX2RiLnNxbGl0ZV9tYXN0ZXIgU0VMRUNUKkZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgSU4oJ3ZpZXcnLCd0cmlnZ2VyJykgT1IodHlwZT0ndGFibGUnQU5EIHJvb3RwYWdlPTApAAEBAwAFAAYACABkYXRhYmFzZSB0YWJsZSBpcyBsb2NrZWQ6ICVzAG5vIHN1Y2ggbW9kdWxlOiAlcwAtLSAlcwB1bmtub3duIGVycm9yAG5vIG1vcmUgcm93cyBhdmFpbGFibGUAYW5vdGhlciByb3cgYXZhaWxhYmxlAGFib3J0IGR1ZSB0byBST0xMQkFDSwBzdGF0ZW1lbnQgYWJvcnRzIGF0ICVkOiBbJXNdICVzAG91dCBvZiBtZW1vcnkAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBhY2Nlc3MgcGVybWlzc2lvbiBkZW5pZWQAcXVlcnkgYWJvcnRlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF0dGVtcHQgdG8gd3JpdGUgYSByZWFkb25seSBkYXRhYmFzZQBkaXNrIEkvTyBlcnJvcgBkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAB1bmtub3duIG9wZXJhdGlvbgBkYXRhYmFzZSBvciBkaXNrIGlzIGZ1bGwAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQBsb2NraW5nIHByb3RvY29sAGNvbnN0cmFpbnQgZmFpbGVkAGRhdGF0eXBlIG1pc21hdGNoAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQBsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAYXV0aG9yaXphdGlvbiBkZW5pZWQAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBmaWxlIGlzIG5vdCBhIGRhdGFiYXNlAG5vdGlmaWNhdGlvbiBtZXNzYWdlAHdhcm5pbmcgbWVzc2FnZQAtLSAAJyUuKnEnAHplcm9ibG9iKCVkKQB4JwAlMDJ4ACcAQ1JFAElOUwBkZWxldGUAcGVyc2lzdABvZmYAdHJ1bmNhdGUAbWVtb3J5AHdhbABpbnZhbGlkIHBhZ2UgbnVtYmVyICVkADJuZCByZWZlcmVuY2UgdG8gcGFnZSAlZABQYWdlICVkOiAAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkAE9uIHRyZWUgcGFnZSAlZCBjZWxsICVkOiAAT24gcGFnZSAlZCBhdCByaWdodCBjaGlsZDogAE9mZnNldCAlZCBvdXQgb2YgcmFuZ2UgJWQuLiVkAEV4dGVuZHMgb2ZmIGVuZCBvZiBwYWdlAFJvd2lkICVsbGQgb3V0IG9mIG9yZGVyAENoaWxkIHBhZ2UgZGVwdGggZGlmZmVycwBNdWx0aXBsZSB1c2VzIGZvciBieXRlICV1IG9mIHBhZ2UgJWQARnJhZ21lbnRhdGlvbiBvZiAlZCBieXRlcyByZXBvcnRlZCBhcyAlZCBvbiBwYWdlICVkAAoAZmFpbGVkIHRvIGdldCBwYWdlICVkAGZyZWVsaXN0IGxlYWYgY291bnQgdG9vIGJpZyBvbiBwYWdlICVkAG92ZXJmbG93IGxpc3QgbGVuZ3RoAHNpemUAJXMgaXMgJWQgYnV0IHNob3VsZCBiZSAlZABzcWxpdGVfc3RhdDEAU0VMRUNUIHRibCxpZHgsc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MQB1bm9yZGVyZWQqAHN6PVswLTldKgBub3NraXBzY2FuKgA/AG1hbGZvcm1lZCBkYXRhYmFzZSBzY2hlbWEgKCVzKQBjcmVhdGUgAGludmFsaWQgcm9vdHBhZ2UAJXogLSAlcwAAAQIDBAYIAAAAOm1lbW9yeToALWpvdXJuYWwAAC13YWwAAG5vbG9jawBpbW11dGFibGUATk9UIE5VTEwAVU5JUVVFAENIRUNLAEZPUkVJR04gS0VZAFNhdmVwb2ludABBdXRvQ29tbWl0AFRyYW5zYWN0aW9uAFNvcnRlck5leHQAUHJldgBOZXh0AENoZWNrcG9pbnQASm91cm5hbE1vZGUAVmFjdXVtAFZGaWx0ZXIAVlVwZGF0ZQBHb3RvAEdvc3ViAEluaXRDb3JvdXRpbmUAWWllbGQATXVzdEJlSW50AEp1bXAAT25jZQBJZgBOb3QASWZOb3QASWZOdWxsUm93AFNlZWtMVABTZWVrTEUAU2Vla0dFAFNlZWtHVABJZk5vSG9wZQBOb0NvbmZsaWN0AE5vdEZvdW5kAEZvdW5kAFNlZWtSb3dpZABOb3RFeGlzdHMATGFzdABJZlNtYWxsZXIAU29ydGVyU29ydABTb3J0AFJld2luZABJZHhMRQBJZHhHVABJZHhMVABJZHhHRQBSb3dTZXRSZWFkAFJvd1NldFRlc3QAT3IAQW5kAFByb2dyYW0ARmtJZlplcm8ASWZQb3MASWZOb3RaZXJvAERlY3JKdW1wWmVybwBJc051bGwATm90TnVsbABOZQBFcQBHdABMZQBMdABHZQBFbHNlTm90RXEASW5jclZhY3V1bQBWTmV4dABJbml0AFB1cmVGdW5jMABGdW5jdGlvbjAAUHVyZUZ1bmMARnVuY3Rpb24AUmV0dXJuAEVuZENvcm91dGluZQBIYWx0SWZOdWxsAEhhbHQASW50ZWdlcgBJbnQ2NABTdHJpbmcATnVsbABTb2Z0TnVsbABCbG9iAFZhcmlhYmxlAE1vdmUAQ29weQBTQ29weQBJbnRDb3B5AFJlc3VsdFJvdwBDb2xsU2VxAEFkZEltbQBSZWFsQWZmaW5pdHkAQ2FzdABQZXJtdXRhdGlvbgBDb21wYXJlAElzVHJ1ZQBPZmZzZXQAQ29sdW1uAEFmZmluaXR5AEJpdEFuZABCaXRPcgBTaGlmdExlZnQAU2hpZnRSaWdodABBZGQAU3VidHJhY3QATXVsdGlwbHkARGl2aWRlAFJlbWFpbmRlcgBDb25jYXQATWFrZVJlY29yZABCaXROb3QAQ291bnQAUmVhZENvb2tpZQBTdHJpbmc4AFNldENvb2tpZQBSZW9wZW5JZHgAT3BlblJlYWQAT3BlbldyaXRlAE9wZW5EdXAAT3BlbkF1dG9pbmRleABPcGVuRXBoZW1lcmFsAFNvcnRlck9wZW4AU2VxdWVuY2VUZXN0AE9wZW5Qc2V1ZG8AQ2xvc2UAQ29sdW1uc1VzZWQAU2Vla0hpdABTZXF1ZW5jZQBOZXdSb3dpZABJbnNlcnQASW5zZXJ0SW50AERlbGV0ZQBSZXNldENvdW50AFNvcnRlckNvbXBhcmUAU29ydGVyRGF0YQBSb3dEYXRhAFJvd2lkAE51bGxSb3cAU2Vla0VuZABTb3J0ZXJJbnNlcnQASWR4SW5zZXJ0AElkeERlbGV0ZQBEZWZlcnJlZFNlZWsASWR4Um93aWQARGVzdHJveQBDbGVhcgBSZXNldFNvcnRlcgBDcmVhdGVCdHJlZQBSZWFsAFNxbEV4ZWMAUGFyc2VTY2hlbWEATG9hZEFuYWx5c2lzAERyb3BUYWJsZQBEcm9wSW5kZXgARHJvcFRyaWdnZXIASW50ZWdyaXR5Q2sAUm93U2V0QWRkAFBhcmFtAEZrQ291bnRlcgBNZW1NYXgAT2Zmc2V0TGltaXQAQWdnSW52ZXJzZQBBZ2dTdGVwAEFnZ1N0ZXAxAEFnZ1ZhbHVlAEFnZ0ZpbmFsAEV4cGlyZQBUYWJsZUxvY2sAVkJlZ2luAFZDcmVhdGUAVkRlc3Ryb3kAVk9wZW4AVkNvbHVtbgBWUmVuYW1lAFBhZ2Vjb3VudABNYXhQZ2NudABUcmFjZQBDdXJzb3JIaW50AE5vb3AARXhwbGFpbgBBYm9ydGFibGUAUFJBR01BIAAlUS4APSVRAENSRUFURSBUQUJMRSB4ACVjIiVzIgAoIiVzIgAsYXJnIEhJRERFTgAsc2NoZW1hIEhJRERFTgBzZXEAdGFibGUAZnJvbQB0bwBvbl91cGRhdGUAb25fZGVsZXRlAG1hdGNoAGNpZABuYW1lAHR5cGUAbm90bnVsbABkZmx0X3ZhbHVlAHBrAGhpZGRlbgBzZXFubwBkZXNjAGNvbGwAa2V5AHRibABpZHgAd2R0aABoZ2h0AGZsZ3MAdW5pcXVlAG9yaWdpbgBwYXJ0aWFsAHJvd2lkAGZraWQAZmlsZQBidXN5AGxvZwBjaGVja3BvaW50ZWQAYnVpbHRpbgBkYXRhYmFzZQBzdGF0dXMAY2FjaGVfc2l6ZQB0aW1lb3V0AGFwcGxpY2F0aW9uX2lkAGF1dG9fdmFjdXVtAGF1dG9tYXRpY19pbmRleABidXN5X3RpbWVvdXQAY2FjaGVfc3BpbGwAY2FzZV9zZW5zaXRpdmVfbGlrZQBjZWxsX3NpemVfY2hlY2sAY2hlY2twb2ludF9mdWxsZnN5bmMAY29sbGF0aW9uX2xpc3QAY29tcGlsZV9vcHRpb25zAGNvdW50X2NoYW5nZXMAZGF0YV92ZXJzaW9uAGRhdGFiYXNlX2xpc3QAZGVmYXVsdF9jYWNoZV9zaXplAGRlZmVyX2ZvcmVpZ25fa2V5cwBlbXB0eV9yZXN1bHRfY2FsbGJhY2tzAGVuY29kaW5nAGZvcmVpZ25fa2V5X2NoZWNrAGZvcmVpZ25fa2V5X2xpc3QAZm9yZWlnbl9rZXlzAGZyZWVsaXN0X2NvdW50AGZ1bGxfY29sdW1uX25hbWVzAGZ1bGxmc3luYwBpZ25vcmVfY2hlY2tfY29uc3RyYWludHMAaW5jcmVtZW50YWxfdmFjdXVtAGluZGV4X2luZm8AaW5kZXhfbGlzdABpbmRleF94aW5mbwBpbnRlZ3JpdHlfY2hlY2sAam91cm5hbF9tb2RlAGpvdXJuYWxfc2l6ZV9saW1pdABsZWdhY3lfYWx0ZXJfdGFibGUAbGVnYWN5X2ZpbGVfZm9ybWF0AGxvY2tpbmdfbW9kZQBtYXhfcGFnZV9jb3VudABtbWFwX3NpemUAb3B0aW1pemUAcGFnZV9jb3VudABwYWdlX3NpemUAcXVlcnlfb25seQBxdWlja19jaGVjawByZWFkX3VuY29tbWl0dGVkAHJlY3Vyc2l2ZV90cmlnZ2VycwByZXZlcnNlX3Vub3JkZXJlZF9zZWxlY3RzAHNjaGVtYV92ZXJzaW9uAHNlY3VyZV9kZWxldGUAc2hvcnRfY29sdW1uX25hbWVzAHNocmlua19tZW1vcnkAc29mdF9oZWFwX2xpbWl0AHN5bmNocm9ub3VzAHRhYmxlX2luZm8AdGFibGVfeGluZm8AdGVtcF9zdG9yZQB0ZW1wX3N0b3JlX2RpcmVjdG9yeQB0aHJlYWRzAHVzZXJfdmVyc2lvbgB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAd3JpdGFibGVfc2NoZW1hAHNxbGl0ZV90ZW1wX21hc3RlcgAxAENSRUFURSBUQUJMRSB4KHR5cGUgdGV4dCxuYW1lIHRleHQsdGJsX25hbWUgdGV4dCxyb290cGFnZSBpbnQsc3FsIHRleHQpAGF0dGFjaGVkIGRhdGFiYXNlcyBtdXN0IHVzZSB0aGUgc2FtZSB0ZXh0IGVuY29kaW5nIGFzIG1haW4gZGF0YWJhc2UAdW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXQAU0VMRUNUIG5hbWUsIHJvb3RwYWdlLCBzcWwgRlJPTSAiJXciLiVzIE9SREVSIEJZIHJvd2lkAGEgR1JPVVAgQlkgY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSBIQVZJTkcAT1JERVIAR1JPVVAAYWdncmVnYXRlIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gdGhlIEdST1VQIEJZIGNsYXVzZQBhbGwgVkFMVUVTIG11c3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgdGVybXMAVU5JT04ARVhDRVBUAElOVEVSU0VDVABVTklPTiBBTEwAU0VMRUNUcyB0byB0aGUgbGVmdCBhbmQgcmlnaHQgb2YgJXMgZG8gbm90IGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIHJlc3VsdCBjb2x1bW5zAHRvbyBtYW55IHRlcm1zIGluIE9SREVSIEJZIGNsYXVzZQAlciAlcyBCWSB0ZXJtIG91dCBvZiByYW5nZSAtIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kICVkACVyIE9SREVSIEJZIHRlcm0gZG9lcyBub3QgbWF0Y2ggYW55IGNvbHVtbiBpbiB0aGUgcmVzdWx0IHNldAAlcyVzAHRvbyBtYW55IHRlcm1zIGluICVzIEJZIGNsYXVzZQAlcyBwcm9oaWJpdGVkIGluICVzAHRoZSAiLiIgb3BlcmF0b3IAaW5kZXggZXhwcmVzc2lvbnMAbmV3AG9sZABleGNsdWRlZABfUk9XSURfAFJPV0lEAE9JRABtaXN1c2Ugb2YgYWxpYXNlZCBhZ2dyZWdhdGUgJXMAcm93IHZhbHVlIG1pc3VzZWQAdHJ1ZQBmYWxzZQBhbWJpZ3VvdXMgY29sdW1uIG5hbWUAbm8gc3VjaCBjb2x1bW4AJXM6ICVzLiVzLiVzAHNlY29uZCBhcmd1bWVudCB0byBsaWtlbGlob29kKCkgbXVzdCBiZSBhIGNvbnN0YW50IGJldHdlZW4gMC4wIGFuZCAxLjAAbm90IGF1dGhvcml6ZWQAYXV0aG9yaXplciBtYWxmdW5jdGlvbgBub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICVzAHBhcnRpYWwgaW5kZXggV0hFUkUgY2xhdXNlcwBDSEVDSyBjb25zdHJhaW50cwBub24tZGV0ZXJtaW5pc3RpYyBmdW5jdGlvbnMAJS4qcygpIG1heSBub3QgYmUgdXNlZCBhcyBhIHdpbmRvdyBmdW5jdGlvbgBtaXN1c2Ugb2YgJXMgZnVuY3Rpb24gJS4qcygpAGFnZ3JlZ2F0ZQB3aW5kb3cAbm8gc3VjaCBmdW5jdGlvbjogJS4qcwB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uICUuKnMoKQBubyBzdWNoIHdpbmRvdzogJXMARklMVEVSIGNsYXVzZSBtYXkgb25seSBiZSB1c2VkIHdpdGggYWdncmVnYXRlIHdpbmRvdyBmdW5jdGlvbnMAc3VicXVlcmllcwBwYXJhbWV0ZXJzACVzLiVzACVzLiV6AGFjY2VzcyB0byAleiBpcyBwcm9oaWJpdGVkAHZpZXcgJXMgaXMgY2lyY3VsYXJseSBkZWZpbmVkAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwBJTlRFR0VSAGNvbHVtbiVkACUuKno6JXUAJyVzJyBpcyBub3QgYSBmdW5jdGlvbgBtdWx0aXBsZSByZWZlcmVuY2VzIHRvIHJlY3Vyc2l2ZSB0YWJsZTogJXMAY2lyY3VsYXIgcmVmZXJlbmNlOiAlcwB0YWJsZSAlcyBoYXMgJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAHJlY3Vyc2l2ZSByZWZlcmVuY2UgaW4gYSBzdWJxdWVyeTogJXMAbXVsdGlwbGUgcmVjdXJzaXZlIHJlZmVyZW5jZXM6ICVzAHRvbyBtYW55IHJlZmVyZW5jZXMgdG8gIiVzIjogbWF4IDY1NTM1AG5vIHN1Y2ggaW5kZXg6ICVzAGEgTkFUVVJBTCBqb2luIG1heSBub3QgaGF2ZSBhbiBPTiBvciBVU0lORyBjbGF1c2UAY2Fubm90IGhhdmUgYm90aCBPTiBhbmQgVVNJTkcgY2xhdXNlcyBpbiB0aGUgc2FtZSBqb2luAGNhbm5vdCBqb2luIHVzaW5nIGNvbHVtbiAlcyAtIGNvbHVtbiBub3QgcHJlc2VudCBpbiBib3RoIHRhYmxlcwAqACVzLiVzLiVzAG5vIHN1Y2ggdGFibGU6ICVzAG5vIHRhYmxlcyBzcGVjaWZpZWQAdG9vIG1hbnkgY29sdW1ucyBpbiByZXN1bHQgc2V0ADAAc3VicXVlcnlfJXUAT04AVVNJTkcAYSBKT0lOIGNsYXVzZSBpcyByZXF1aXJlZCBiZWZvcmUgJXMAdW5yZWNvZ25pemVkIHRva2VuOiAiJS4qcyIAcGFyc2VyIHN0YWNrIG92ZXJmbG93AG5lYXIgIiVUIjogc3ludGF4IGVycm9yAGluY29tcGxldGUgaW5wdXQAJXMgaW4gIiVzIgBST0xMQkFDSwBDT01NSVQAUkVMRUFTRQB1bmtub3duIHRhYmxlIG9wdGlvbjogJS4qcwB0b28gbWFueSBjb2x1bW5zIG9uICVzAGR1cGxpY2F0ZSBjb2x1bW4gbmFtZTogJXMAcGFyYW1ldGVycyBhcmUgbm90IGFsbG93ZWQgaW4gdmlld3MAY29ycnVwdCBkYXRhYmFzZQB1bmtub3duIGRhdGFiYXNlICVUAHZpZXcAdG9vIG1hbnkgdGVybXMgaW4gY29tcG91bmQgU0VMRUNUAHRvbyBtYW55IGNvbHVtbnMgaW4gJXMAc2V0IGxpc3QAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAdG9vIG1hbnkgYXJndW1lbnRzIG9uIGZ1bmN0aW9uICVUAERJU1RJTkNUIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdpbmRvdyBmdW5jdGlvbnMAc3ludGF4IGVycm9yIGFmdGVyIGNvbHVtbiBuYW1lICIlLipzIgBubyBzdWNoIGluZGV4OiAlUwBpbmRleCBhc3NvY2lhdGVkIHdpdGggVU5JUVVFIG9yIFBSSU1BUlkgS0VZIGNvbnN0cmFpbnQgY2Fubm90IGJlIGRyb3BwZWQAdW5hYmxlIHRvIG9wZW4gYSB0ZW1wb3JhcnkgZGF0YWJhc2UgZmlsZSBmb3Igc3RvcmluZyB0ZW1wb3JhcnkgdGFibGVzAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J2luZGV4JwBzcWxpdGVfc3RhdCVkAERFTEVURSBGUk9NICVRLiVzIFdIRVJFICVzPSVRAHRyaWdnZXIASU5TRVJUIElOVE8gJVEuJXMgVkFMVUVTKCd0cmlnZ2VyJywlUSwlUSwwLCdDUkVBVEUgVFJJR0dFUiAlcScpAHR5cGU9J3RyaWdnZXInIEFORCBuYW1lPSclcScAdGVtcG9yYXJ5IHRyaWdnZXIgbWF5IG5vdCBoYXZlIHF1YWxpZmllZCBuYW1lAGNhbm5vdCBjcmVhdGUgdHJpZ2dlcnMgb24gdmlydHVhbCB0YWJsZXMAdHJpZ2dlciAlVCBhbHJlYWR5IGV4aXN0cwBzcWxpdGVfAGNhbm5vdCBjcmVhdGUgdHJpZ2dlciBvbiBzeXN0ZW0gdGFibGUAQkVGT1JFAEFGVEVSAGNhbm5vdCBjcmVhdGUgJXMgdHJpZ2dlciBvbiB2aWV3OiAlUwBjYW5ub3QgY3JlYXRlIElOU1RFQUQgT0YgdHJpZ2dlciBvbiB0YWJsZTogJVMAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAbm8gc3VjaCB0cmlnZ2VyOiAlUwB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAdGhlcmUgaXMgYWxyZWFkeSBhbm90aGVyIHRhYmxlIG9yIGluZGV4IHdpdGggdGhpcyBuYW1lOiAlcwB2aWV3ICVzIG1heSBub3QgYmUgYWx0ZXJlZABVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsICVkKSBXSEVSRSAodHlwZSE9J2luZGV4JyBPUiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSlBTkQgICBuYW1lIE5PVCBMSUtFICdzcWxpdGVfJSUnAFVQREFURSAlUS4lcyBTRVQgdGJsX25hbWUgPSAlUSwgbmFtZSA9IENBU0UgV0hFTiB0eXBlPSd0YWJsZScgVEhFTiAlUSBXSEVOIG5hbWUgTElLRSAnc3FsaXRlX2F1dG9pbmRleCUlJyBBTkQgdHlwZT0naW5kZXgnIFRIRU4gJ3NxbGl0ZV9hdXRvaW5kZXhfJyB8fCAlUSB8fCBzdWJzdHIobmFtZSwlZCsxOCkgRUxTRSBuYW1lIEVORCBXSEVSRSB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgKHR5cGU9J3RhYmxlJyBPUiB0eXBlPSdpbmRleCcgT1IgdHlwZT0ndHJpZ2dlcicpOwBzcWxpdGVfc2VxdWVuY2UAVVBEQVRFICIldyIuc3FsaXRlX3NlcXVlbmNlIHNldCBuYW1lID0gJVEgV0hFUkUgbmFtZSA9ICVRAFVQREFURSBzcWxpdGVfdGVtcF9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAxKSwgdGJsX25hbWUgPSBDQVNFIFdIRU4gdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UgQU5EICAgICAgICAgICBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgMSkgVEhFTiAlUSBFTFNFIHRibF9uYW1lIEVORCBXSEVSRSB0eXBlIElOICgndmlldycsICd0cmlnZ2VyJykAU0VMRUNUIDEgRlJPTSAiJXciLiVzIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAlZCk9TlVMTCAAU0VMRUNUIDEgRlJPTSB0ZW1wLiVzIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKT1OVUxMIABDYW5ub3QgYWRkIGEgUFJJTUFSWSBLRVkgY29sdW1uAENhbm5vdCBhZGQgYSBVTklRVUUgY29sdW1uAENhbm5vdCBhZGQgYSBSRUZFUkVOQ0VTIGNvbHVtbiB3aXRoIG5vbi1OVUxMIGRlZmF1bHQgdmFsdWUAQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABDYW5ub3QgYWRkIGEgY29sdW1uIHdpdGggbm9uLWNvbnN0YW50IGRlZmF1bHQAVVBEQVRFICIldyIuJXMgU0VUIHNxbCA9IHN1YnN0cihzcWwsMSwlZCkgfHwgJywgJyB8fCAlUSB8fCBzdWJzdHIoc3FsLCVkKSBXSEVSRSB0eXBlID0gJ3RhYmxlJyBBTkQgbmFtZSA9ICVRAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgYWx0ZXJlZABDYW5ub3QgYWRkIGEgY29sdW1uIHRvIGEgdmlldwBzcWxpdGVfYWx0ZXJ0YWJfJXMAdmlydHVhbCB0YWJsZQBjYW5ub3QgcmVuYW1lIGNvbHVtbnMgb2YgJXMgIiVzIgBubyBzdWNoIGNvbHVtbjogIiVzIgBVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV9jb2x1bW4oc3FsLCB0eXBlLCBuYW1lLCAlUSwgJVEsICVkLCAlUSwgJWQsICVkKSBXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVfJSUnIEFORCAodHlwZSAhPSAnaW5kZXgnIE9SIHRibF9uYW1lID0gJVEpIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnAFVQREFURSB0ZW1wLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgMSkgV0hFUkUgdHlwZSBJTiAoJ3RyaWdnZXInLCAndmlldycpAFJBTkdFIG11c3QgdXNlIG9ubHkgVU5CT1VOREVEIG9yIENVUlJFTlQgUk9XAHVuc3VwcG9ydGVkIGZyYW1lIGRlbGltaXRlciBmb3IgUk9XUwBkdXBsaWNhdGUgV0lUSCB0YWJsZSBuYW1lOiAlcwBDUkVBVEUgVklSVFVBTCBUQUJMRSAlVABVUERBVEUgJVEuJXMgU0VUIHR5cGU9J3RhYmxlJywgbmFtZT0lUSwgdGJsX25hbWU9JVEsIHJvb3RwYWdlPTAsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAbmFtZT0nJXEnIEFORCB0eXBlPSd0YWJsZScAdGFibGUgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAHNxbGl0ZVxfJQBCQkIAc3RhdF9nZXQAJWxsdQAgJWxsdQBzdGF0X3B1c2gAc3RhdF9pbml0AENSRUFURSBUQUJMRSAlUS4lcyglcykAdGJsLGlkeCxzdGF0AHNxbGl0ZV9zdGF0MwBzcWxpdGVfc3RhdDQAaW5kZXggJyVxJwAsIABVU0lORyBST1dJRCBTRUFSQ0ggT04gVEFCTEUgJXMgRk9SIElOLU9QRVJBVE9SAFVTSU5HIElOREVYICVzIEZPUiBJTi1PUEVSQVRPUgBDT1JSRUxBVEVEIAAlc0xJU1QgU1VCUVVFUlkAJXNTQ0FMQVIgU1VCUVVFUlkAc3ViLXNlbGVjdCByZXR1cm5zICVkIGNvbHVtbnMgLSBleHBlY3RlZCAlZABzcWxpdGVfZGV0YWNoAG5vIHN1Y2ggZGF0YWJhc2U6ICVzAGNhbm5vdCBkZXRhY2ggZGF0YWJhc2UgJXMAZGF0YWJhc2UgJXMgaXMgbG9ja2VkAHNxbGl0ZV9hdHRhY2gAdG9vIG1hbnkgYXR0YWNoZWQgZGF0YWJhc2VzIC0gbWF4ICVkAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAGRhdGFiYXNlIGlzIGFscmVhZHkgYXR0YWNoZWQAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2U6ICVzAGZpbGU6AGxvY2FsaG9zdABpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdmZzAGNhY2hlAG1vZGUAbm8gc3VjaCAlcyBtb2RlOiAlcwAlcyBtb2RlIG5vdCBhbGxvd2VkOiAlcwBubyBzdWNoIHZmczogJXMAcm8AcncAcndjAHNoYXJlZABwcml2YXRlAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J3RyaWdnZXInAG9iamVjdCBuYW1lIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2U6ICVzACVzICVUIGNhbm5vdCByZWZlcmVuY2Ugb2JqZWN0cyBpbiBkYXRhYmFzZSAlcwAlcyBjYW5ub3QgdXNlIHZhcmlhYmxlcwAtJVQAZmFzdABleGNsdXNpdmUAbm9ybWFsAG5vbmUAZnVsbABpbmNyZW1lbnRhbAB0ZW1wb3Jhcnkgc3RvcmFnZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBTYWZldHkgbGV2ZWwgbWF5IG5vdCBiZSBjaGFuZ2VkIGluc2lkZSBhIHRyYW5zYWN0aW9uAGlzc2lzaQBpc3Npc2lpAGlpc1gAaXNpWABpc2lzaQBpc3MAaXMATk8gQUNUSU9OAFJFU1RSSUNUAENBU0NBREUAU0VUIERFRkFVTFQAU0VUIE5VTEwAaWlzc3Nzc3MATk9ORQBzaVgAJV8AACoqKiBpbiBkYXRhYmFzZSAlcyAqKioKAE5VTEwgdmFsdWUgaW4gJXMuJXMAQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQgaW4gJXMAcm93IAAgbWlzc2luZyBmcm9tIGluZGV4IABub24tdW5pcXVlIGVudHJ5IGluIGluZGV4IAB3cm9uZyAjIG9mIGVudHJpZXMgaW4gaW5kZXggAG9rAFVURjgAdW5zdXBwb3J0ZWQgZW5jb2Rpbmc6ICVzAAIAAQBrAAAAAgAAAGkAAQBRAQEAcmVzdGFydABBTkFMWVpFICIldyIuIiV3IgBVVEYtOABVVEYtMTZsZQBVVEYtMTZiZQBVVEYxNmxlAFVURjE2YmUAVVRGLTE2AFVURjE2AHVua25vd24gZGF0YWJhc2U6ICVzAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IHVzZXItZnVuY3Rpb24gZHVlIHRvIGFjdGl2ZSBzdGF0ZW1lbnRzAGZvcmVpZ24ga2V5IG1pc21hdGNoIC0gIiV3IiByZWZlcmVuY2luZyAiJXciAGMAdQBjb3JydXB0IHNjaGVtYQBVUERBVEUgJVEuJXMgU0VUIHJvb3RwYWdlPSVkIFdIRVJFICMlZCBBTkQgcm9vdHBhZ2U9IyVkACVzLnJvd2lkAHRhYmxlICVTIGhhcyBubyBjb2x1bW4gbmFtZWQgJXMAdGFibGUgJVMgaGFzICVkIGNvbHVtbnMgYnV0ICVkIHZhbHVlcyB3ZXJlIHN1cHBsaWVkACVkIHZhbHVlcyBmb3IgJWQgY29sdW1ucwBPTiBDT05GTElDVCBjbGF1c2UgZG9lcyBub3QgbWF0Y2ggYW55IFBSSU1BUlkgS0VZIG9yIFVOSVFVRSBjb25zdHJhaW50AHJvd3MgaW5zZXJ0ZWQAYXQgbW9zdCAlZCB0YWJsZXMgaW4gYSBqb2luAFNDQU4gQ09OU1RBTlQgUk9XAHRvbyBtYW55IGFyZ3VtZW50cyBvbiAlcygpIC0gbWF4ICVkAGFiYnJldmlhdGVkIHF1ZXJ5IGFsZ29yaXRobSBzZWFyY2gAYXV0b21hdGljIGluZGV4IG9uICVzKCVzKQBhdXRvLWluZGV4ABkXFhgAACQgGRYYFygmJSdNVUxUSS1JTkRFWCBPUgAFBCQgU0VBUkNIAFNDQU4AIFNVQlFVRVJZICV1ACBUQUJMRSAlcwAgQVMgJXMASU5ERVggJXMAQ09WRVJJTkcgSU5ERVggJXMAQVVUT01BVElDIENPVkVSSU5HIElOREVYAEFVVE9NQVRJQyBQQVJUSUFMIENPVkVSSU5HIElOREVYAFBSSU1BUlkgS0VZACBVU0lORyAAICgAPGV4cHI+ACBBTkQgAEFOWSglcykAJXM9PwA+ADwAPj8gQU5EIHJvd2lkPAA9ACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZIChyb3dpZCVzPykAIFZJUlRVQUwgVEFCTEUgSU5ERVggJWQ6JXMAKABubyBxdWVyeSBzb2x1dGlvbgAlcy54QmVzdEluZGV4IG1hbGZ1bmN0aW9uAE9OIGNsYXVzZSByZWZlcmVuY2VzIHRhYmxlcyB0byBpdHMgcmlnaHQATk9DQVNFAHJlZ2V4cAAtLSBUUklHR0VSICVzAHRhYmxlICVzIG1heSBub3QgYmUgbW9kaWZpZWQAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwAlZCBjb2x1bW5zIGFzc2lnbmVkICVkIHZhbHVlcwBubyBzdWNoIGNvbHVtbjogJXMAcm93cyB1cGRhdGVkAHJvd3MgZGVsZXRlZAB1bmtub3duIG9yIHVuc3VwcG9ydGVkIGpvaW4gdHlwZTogJVQgJVQlcyVUAFJJR0hUIGFuZCBGVUxMIE9VVEVSIEpPSU5zIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZABleHBlY3RlZCAlZCBjb2x1bW5zIGZvciAnJXMnIGJ1dCBnb3QgJWQATElNSVQAT1JERVIgQlkAJXMgY2xhdXNlIHNob3VsZCBjb21lIGFmdGVyICVzIG5vdCBiZWZvcmUAUwBTQ0FOICVkIENPTlNUQU5UIFJPVyVzAENPTVBPVU5EIFFVRVJZAExFRlQtTU9TVCBTVUJRVUVSWQAlcyBVU0lORyBURU1QIEItVFJFRQBDTy1ST1VUSU5FICV1AE1BVEVSSUFMSVpFICV1AERJU1RJTkNUAEdST1VQIEJZAFVTRSBURU1QIEItVFJFRSBGT1IgJXMAIFVTSU5HIENPVkVSSU5HIElOREVYIABTQ0FOIFRBQkxFICVzJXMlcwBSSUdIVCBQQVJUIE9GIE9SREVSIEJZAERJU1RJTkNUIGFnZ3JlZ2F0ZXMgbXVzdCBoYXZlIGV4YWN0bHkgb25lIGFyZ3VtZW50AGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAZnJhbWUgZW5kaW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAc2Vjb25kIGFyZ3VtZW50IHRvIG50aF92YWx1ZSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcgBNRVJHRSAoJXMpAExFRlQAUklHSFQAY2Fubm90IHVzZSB3aW5kb3cgZnVuY3Rpb25zIGluIHJlY3Vyc2l2ZSBxdWVyaWVzAFNFVFVQAHJlY3Vyc2l2ZSBhZ2dyZWdhdGUgcXVlcmllcyBub3Qgc3VwcG9ydGVkAFJFQ1VSU0lWRSBTVEVQAHNxbGl0ZV9zdGF0AHRhYmxlICVzIG1heSBub3QgYmUgZHJvcHBlZAB1c2UgRFJPUCBUQUJMRSB0byBkZWxldGUgdGFibGUgJXMAdXNlIERST1AgVklFVyB0byBkZWxldGUgdmlldyAlcwBERUxFVEUgRlJPTSAlUS5zcWxpdGVfc2VxdWVuY2UgV0hFUkUgbmFtZT0lUQBERUxFVEUgRlJPTSAlUS4lcyBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAGZvcmVpZ24ga2V5IG9uICVzIHNob3VsZCByZWZlcmVuY2Ugb25seSBvbmUgY29sdW1uIG9mIHRhYmxlICVUAG51bWJlciBvZiBjb2x1bW5zIGluIGZvcmVpZ24ga2V5IGRvZXMgbm90IG1hdGNoIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgcmVmZXJlbmNlZCB0YWJsZQB1bmtub3duIGNvbHVtbiAiJXMiIGluIGZvcmVpZ24ga2V5IGRlZmluaXRpb24AaW5kZXgAY2Fubm90IGNyZWF0ZSBhIFRFTVAgaW5kZXggb24gbm9uLVRFTVAgdGFibGUgIiVzIgBhbHRlcnRhYl8AdGFibGUgJXMgbWF5IG5vdCBiZSBpbmRleGVkAHZpZXdzIG1heSBub3QgYmUgaW5kZXhlZAB2aXJ0dWFsIHRhYmxlcyBtYXkgbm90IGJlIGluZGV4ZWQAdGhlcmUgaXMgYWxyZWFkeSBhIHRhYmxlIG5hbWVkICVzAGluZGV4ICVzIGFscmVhZHkgZXhpc3RzAHNxbGl0ZV9hdXRvaW5kZXhfJXNfJWQAZXhwcmVzc2lvbnMgcHJvaGliaXRlZCBpbiBQUklNQVJZIEtFWSBhbmQgVU5JUVVFIGNvbnN0cmFpbnRzAGNvbmZsaWN0aW5nIE9OIENPTkZMSUNUIGNsYXVzZXMgc3BlY2lmaWVkACBVTklRVUUAQ1JFQVRFJXMgSU5ERVggJS4qcwBJTlNFUlQgSU5UTyAlUS4lcyBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwB0YWJsZSAiJXMiIGhhcyBtb3JlIHRoYW4gb25lIHByaW1hcnkga2V5AEFVVE9JTkNSRU1FTlQgaXMgb25seSBhbGxvd2VkIG9uIGFuIElOVEVHRVIgUFJJTUFSWSBLRVkAZGVmYXVsdCB2YWx1ZSBvZiBjb2x1bW4gWyVzXSBpcyBub3QgY29uc3RhbnQAQVVUT0lOQ1JFTUVOVCBub3QgYWxsb3dlZCBvbiBXSVRIT1VUIFJPV0lEIHRhYmxlcwBQUklNQVJZIEtFWSBtaXNzaW5nIG9uIHRhYmxlICVzAFRBQkxFAFZJRVcACiAgACwKICAACikAQ1JFQVRFIFRBQkxFIABDUkVBVEUgJXMgJS4qcwBVUERBVEUgJVEuJXMgU0VUIHR5cGU9JyVzJywgbmFtZT0lUSwgdGJsX25hbWU9JVEsIHJvb3RwYWdlPSMlZCwgc3FsPSVRIFdIRVJFIHJvd2lkPSMlZABDUkVBVEUgVEFCTEUgJVEuc3FsaXRlX3NlcXVlbmNlKG5hbWUsc2VxKQB0YmxfbmFtZT0nJXEnIEFORCB0eXBlIT0ndHJpZ2dlcicAIFRFWFQAIE5VTQAgSU5UACBSRUFMAHRlbXBvcmFyeSB0YWJsZSBuYW1lIG11c3QgYmUgdW5xdWFsaWZpZWQAAgQIBnRhYmxlICVUIGFscmVhZHkgZXhpc3RzAHRoZXJlIGlzIGFscmVhZHkgYW4gaW5kZXggbmFtZWQgJXMABgAAAAAAQgBDAEQARQBtaXN1c2Ugb2YgYWdncmVnYXRlOiAlcygpAHVua25vd24gZnVuY3Rpb246ICVzKCkAUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQAweABoZXggbGl0ZXJhbCB0b28gYmlnOiAlcyVzACIldyIAZmFpbGVkIG1lbW9yeSByZXNpemUgJXUgdG8gJXUgYnl0ZXMAZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzIG9mIG1lbW9yeQBiaW5kIG9uIGEgYnVzeSBwcmVwYXJlZCBzdGF0ZW1lbnQ6IFslc10AY2Fubm90IG9wZW4gdmlydHVhbCB0YWJsZTogJXMAY2Fubm90IG9wZW4gdGFibGUgd2l0aG91dCByb3dpZDogJXMAY2Fubm90IG9wZW4gdmlldzogJXMAZm9yZWlnbiBrZXkAaW5kZXhlZABjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAY2Fubm90IG9wZW4gdmFsdWUgb2YgdHlwZSAlcwBubyBzdWNoIHJvd2lkOiAlbGxkAHRlbXAAdW5hYmxlIHRvIGNsb3NlIGR1ZSB0byB1bmZpbmFsaXplZCBzdGF0ZW1lbnRzIG9yIHVuZmluaXNoZWQgYmFja3VwcwB1bmFibGUgdG8gdXNlIGZ1bmN0aW9uICVzIGluIHRoZSByZXF1ZXN0ZWQgY29udGV4dABSVFJJTQBNQVRDSABhdXRvbWF0aWMgZXh0ZW5zaW9uIGxvYWRpbmcgZmFpbGVkOiAlcwBmdHM0YXV4AHNpbXBsZQBwb3J0ZXIAdW5pY29kZTYxAGZ0czNfdG9rZW5pemVyAHNuaXBwZXQAb2Zmc2V0cwBtYXRjaGluZm8AZnRzMwBmdHM0AGZ0czN0b2tlbml6ZQBDUkVBVEUgVEFCTEUgeChpbnB1dCwgdG9rZW4sIHN0YXJ0LCBlbmQsIHBvc2l0aW9uKQB1bmtub3duIHRva2VuaXplcjogJXMAY29udGVudABkb2NzaXplAHNlZ2RpcgBzZWdtZW50cwAlc19zdGF0AEFMVEVSIFRBQkxFICVRLiclcV9jb250ZW50JyAgUkVOQU1FIFRPICclcV9jb250ZW50JzsAQUxURVIgVEFCTEUgJVEuJyVxX2RvY3NpemUnICBSRU5BTUUgVE8gJyVxX2RvY3NpemUnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc3RhdCcgIFJFTkFNRSBUTyAnJXFfc3RhdCc7AEFMVEVSIFRBQkxFICVRLiclcV9zZWdtZW50cycgUkVOQU1FIFRPICclcV9zZWdtZW50cyc7AEFMVEVSIFRBQkxFICVRLiclcV9zZWdkaXInICAgUkVOQU1FIFRPICclcV9zZWdkaXInOwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwBTRUxFQ1QgbWF4KGxldmVsKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBTRUxFQ1QgKFNFTEVDVCBtYXgoaWR4KSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPykgKyAxAFNFTEVDVCBjb2FsZXNjZSgoU0VMRUNUIG1heChibG9ja2lkKSBGUk9NICVRLiclcV9zZWdtZW50cycpICsgMSwgMSkAREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/AFNFTEVDVCBsZXZlbCwgaWR4LCBlbmRfYmxvY2sgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8gT1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9LTEsaWR4PT8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AVVBEQVRFIE9SIEZBSUwgJVEuJyVxX3NlZ2RpcicgU0VUIGxldmVsPT8gV0hFUkUgbGV2ZWw9LTEAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdkaXInIFZBTFVFUyg/LD8sPyw/LD8sPykAJWxsZCAlbGxkAFJFUExBQ0UgSU5UTyAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQsIGJsb2NrKSBWQUxVRVMoPywgPykAJXNfc2VnbWVudHMAYmxvY2sAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgP09SREVSIEJZIGxldmVsIERFU0MsIGlkeCBBU0MAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBPUkRFUiBCWSBpZHggQVNDAG5vIHN1Y2ggdGFibGUgY29sdW1uOiAlcy4lcwBmdHMzY3Vyc29yAGlsbGVnYWwgZmlyc3QgYXJndW1lbnQgdG8gJXMAcGN4AHVucmVjb2duaXplZCBtYXRjaGluZm8gcmVxdWVzdDogJWMAU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgPSA/AFNBVkVQT0lOVCBmdHMzAFJFTEVBU0UgZnRzMwBST0xMQkFDSyBUTyBmdHMzAEluZGV4IG9wdGltaXplZABJbmRleCBhbHJlYWR5IG9wdGltYWwAU0VMRUNUID8gVU5JT04gU0VMRUNUIGxldmVsIC8gKDEwMjQgKiA/KSBGUk9NICVRLiclcV9zZWdkaXInACVkICVkICVkICVkIAB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIHNuaXBwZXQoKQA8Yj4uLi48L2I+ADwvYj4APGI+AFNFTEVDVCBtYXgoIGxldmVsICUlIDEwMjQgKSBGUk9NICVRLiclcV9zZWdkaXInAFNFTEVDVCBsZXZlbCwgY291bnQoKikgQVMgY250IEZST00gJVEuJyVxX3NlZ2RpcicgICBHUk9VUCBCWSBsZXZlbCBIQVZJTkcgY250Pj0/ICBPUkRFUiBCWSAobGV2ZWwgJSUgMTAyNCkgQVNDIExJTUlUIDEAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBTRUxFQ1QgMSBGUk9NICVRLiclcV9zZWdtZW50cycgV0hFUkUgYmxvY2tpZD0/IEFORCBibG9jayBJUyBOVUxMAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4IDwgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBzdGFydF9ibG9jayA9ID8sIHJvb3QgPSA/V0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFNFTEVDVCBpZHggRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbD0/IE9SREVSIEJZIDEgQVNDAFVQREFURSAlUS4nJXFfc2VnZGlyJyBTRVQgaWR4ID0gPyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAHJlYnVpbGQAU0VMRUNUICVzAGludGVncml0eS1jaGVjawBtZXJnZT0AQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJVEuJyVxX3N0YXQnKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHZhbHVlIEJMT0IpOwBhdXRvbWVyZ2U9AElOU0VSVCBJTlRPICVRLiclcV9jb250ZW50JyBWQUxVRVMoJXMpAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCA9ID8AU0VMRUNUIE5PVCBFWElTVFMoU0VMRUNUIGRvY2lkIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkIT0/KQBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcAREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScAREVMRVRFIEZST00gJVEuJyVxX3N0YXQnAFNFTEVDVCAlcyBXSEVSRSByb3dpZD0/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQgPSA/AFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykARlRTIGV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAG1hbGZvcm1lZCBNQVRDSCBleHByZXNzaW9uOiBbJXNdAEFTQwBERVNDAFNFTEVDVCAlcyBXSEVSRSByb3dpZCBCRVRXRUVOICVsbGQgQU5EICVsbGQgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIE9SREVSIEJZIHJvd2lkICVzAE9SAEFORABOT1QATkVBUgBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCcARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ21lbnRzJwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc2VnZGlyJwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfZG9jc2l6ZScARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3N0YXQnAHRva2VuaXplAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAGFzYwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBwYXJhbWV0ZXI6ICVzAFNFTEVDVCAqIEZST00gJVEuJVEAZXJyb3IgcGFyc2luZyBwcmVmaXggcGFyYW1ldGVyOiAlcwBjb21wcmVzcwB1bmNvbXByZXNzAG1pc3NpbmcgJXMgcGFyYW1ldGVyIGluIGZ0czQgY29uc3RydWN0b3IAZG9jaWQALCVzKHguJ2MlZCVxJykALCB4LiVRAGxhbmdpZAAsIHguJyVxJwBfY29udGVudAAgRlJPTSAnJXEnLiclcSVzJyBBUyB4ACwlcyg/KQAsID8AZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQAleiwgJ2MlZCVxJwAleiwgbGFuZ2lkAENSRUFURSBUQUJMRSAlUS4nJXFfY29udGVudCcoJXMpAENSRUFURSBUQUJMRSAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQgSU5URUdFUiBQUklNQVJZIEtFWSwgYmxvY2sgQkxPQik7AENSRUFURSBUQUJMRSAlUS4nJXFfc2VnZGlyJyhsZXZlbCBJTlRFR0VSLGlkeCBJTlRFR0VSLHN0YXJ0X2Jsb2NrIElOVEVHRVIsbGVhdmVzX2VuZF9ibG9jayBJTlRFR0VSLGVuZF9ibG9jayBJTlRFR0VSLHJvb3QgQkxPQixQUklNQVJZIEtFWShsZXZlbCwgaWR4KSk7AENSRUFURSBUQUJMRSAlUS4nJXFfZG9jc2l6ZScoZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc2l6ZSBCTE9CKTsAUFJBR01BICVRLnBhZ2Vfc2l6ZQBfX2xhbmdpZAAlUSwgACV6JVEsIABDUkVBVEUgVEFCTEUgeCglcyAlUSBISURERU4sIGRvY2lkIEhJRERFTiwgJVEgSElEREVOKQBwcmVmaXgAb3JkZXIAbGFuZ3VhZ2VpZABub3RpbmRleGVkAHVua25vd24gdG9rZW5pemVyAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAZnRzM3Rva2VuaXplIGRpc2FibGVkAHJlbW92ZV9kaWFjcml0aWNzPTEAcmVtb3ZlX2RpYWNyaXRpY3M9MAB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQBDUkVBVEUgVEFCTEUgeCh0ZXJtLCBjb2wsIGRvY3VtZW50cywgb2NjdXJyZW5jZXMsIGxhbmd1YWdlaWQgSElEREVOKQBpbnZhbGlkIGFyZ3VtZW50cyB0byBmdHM0YXV4IGNvbnN0cnVjdG9yAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IGNvbGxhdGlvbiBzZXF1ZW5jZSBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAL3Byb2Mvc2VsZi9mZC8=";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(i1){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} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.aj|0;var s=env.ak|0;var t=env.al|0;var u=env.am|0;var v=0;var w=0;var x=0;var y=0;var z=global.NaN,A=global.Infinity;var B=0,C=0,D=0,E=0,F=0.0;var G=global.Math.floor;var H=global.Math.abs;var I=global.Math.sqrt;var J=global.Math.pow;var K=global.Math.cos;var L=global.Math.sin;var M=global.Math.tan;var N=global.Math.acos;var O=global.Math.asin;var P=global.Math.atan;var Q=global.Math.atan2;var R=global.Math.exp;var S=global.Math.log;var T=global.Math.ceil;var U=global.Math.imul;var V=global.Math.min;var W=global.Math.max;var X=global.Math.clz32;var Y=env.a;var Z=env.b;var _=env.c;var $=env.d;var aa=env.e;var ba=env.f;var ca=env.g;var da=env.h;var ea=env.i;var fa=env.j;var ga=env.k;var ha=env.l;var ia=env.m;var ja=env.n;var ka=env.o;var la=env.p;var ma=env.q;var na=env.r;var oa=env.s;var pa=env.t;var qa=env.u;var ra=env.v;var sa=env.w;var ta=env.x;var ua=env.y;var va=env.z;var wa=env.A;var xa=env.B;var ya=env.C;var za=env.D;var Aa=env.E;var Ba=env.F;var Ca=env.G;var Da=env.H;var Ea=env.I;var Fa=env.J;var Ga=env.K;var Ha=env.L;var Ia=env.M;var Ja=env.N;var Ka=env.O;var La=env.P;var Ma=env.Q;var Na=env.R;var Oa=env.S;var Pa=env.T;var Qa=env.U;var Ra=env.V;var Sa=env.W;var Ta=env.X;var Ua=env.Y;var Va=env.Z;var Wa=env._;var Xa=env.$;var Ya=env.aa;var Za=env.ab;var _a=env.ac;var $a=env.ad;var ab=env.ae;var bb=env.af;var cb=env.ag;var db=env.ah;var eb=env.ai;var fb=0.0;function gb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)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 Hi(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,mb=0,qb=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,zc=0,Cc=0,Hc=0,Kc=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,vd=0,wd=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,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,_e=0,cf=0,ff=0,jf=0,kf=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,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;ff=Zf+712|0;cf=Zf+704|0;of=Zf+696|0;_e=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;nf=Zf+544|0;mf=Zf+536|0;kf=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;jf=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;zc=a+164|0;Cc=Td+8|0;Hc=Td+10|0;Kc=Td+4|0;Mc=Td+8|0;Nc=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;mb=Jf+16|0;qb=Jf+12|0;sb=Yf+165|0;tb=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 Oi(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 Oi(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 Oi(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{Oi(g)|0;q=g}b[m>>0]=72;r=m+16|0;o=f[r>>2]|0;if(!o)g=0;else g=(zt(o)|0)&1073741823;s=m+4|0;f[s>>2]=g;if(!cb){c=Ze(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(Pi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ge);break}else{ta=hb[f[28696>>2]&127](ge)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{Oi(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 af(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 Oi(g)|0;Ze(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){Qi(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))df(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(bf(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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 Qi(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(bf(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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){Qi(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{$e(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{af(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(bf(r,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(bf(w,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(Ri(r,Fd,0)|0){g=Qf;c=Rf;ta=3954;break a}g=d[s>>1]|0}if((g&18)==0?Ri(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(bf(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;$u(f[sa>>2]|0,f[g>>2]|0,f[s>>2]|0)|0;g=sa}$u((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=Si(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=Si(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=Ou(-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=Ou(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=Nu(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=Nu(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=Ou(0,0,q|0,g|0)|0;qa=ba()|0;ra=Ou(-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=Ou(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=Ou(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=Ou(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=Vu(-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=Ru(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=Ru(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=Ou(0,0,o|0,r|0)|0;qa=ba()|0;ra=Ou(0,0,q|0,g|0)|0;ra=Ru(-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=Tu(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=Ru(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=Uu(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=+Fc(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=+Fc(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=+((Uu(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=Dc(u)|0;o=ba()|0;sa=Nu(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{af(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{$e(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{af(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=Dc(+p[s>>3])|0;g=ba()|0;break}if(!(g&18)){o=0;g=0}else{o=Ec(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=Dc(+p[x>>3])|0;w=ba()|0;break}if(!(q&18)){r=0;w=0}else{r=Ec(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=Ou(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=Zu(o|0,g|0,r|0)|0;g=ba()|0;break h}else{o=Yu(o|0,g|0,r|0)|0;sa=ba()|0;ra=(g|0)<0;qa=Ou(64,0,r|0,q|0)|0;ba()|0;qa=Zu(-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=Dc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Ec(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=Nu(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=Dc(v)|0;q=ba()|0;sa=Nu(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(!(gf(f[q>>2]|0,Jf,f[g>>2]|0,o)|0))g=d[w>>1]|0;else{if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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=+Fc(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(!(bf(q,(sa|0)>1?sa:1,1)|0)){bv((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;Ti(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(gf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0){if(!(hf(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(!(gf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0))o=d[D>>1]|0;else{if(!(hf(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)){Ri(A,Fd,1)|0;g=(r&49663|d[B>>1]&15872)&65535}if((x&2|0)!=0|(x&12|0)==0)ta=364;else{Ri(z,Fd,1)|0;o=(x&49663|d[D>>1]&15872)&65535;ta=364}}else ta=364;if((ta|0)==364){ta=0;r=lf(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=34002+((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=34008+q|0}if((ta|0)==371){ta=0;w=r;q=34014+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=Ij(a,g)|0;ob[sa&127](f[Hf>>2]|0,g);if(!g)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}if((f[Kb>>2]|0)<=1){kb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;break}f[Fe>>2]=g;g=Gg(Yf,35425,Fe)|0;kb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}}while(0);r=m+4|0;g=f[r>>2]|0;if((g|0)>=(f[7228]|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=lf(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=lf(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=+Fc(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=+Fc(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?34020:34029)+(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=+Fc(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{$e(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{af(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=+Fc(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{$e(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 af(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=Dc(+p[r>>3])|0;o=ba()|0;break}if(!(g&18)){g=0;o=0}else{g=Ec(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=+Fc(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=+Fc(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{af(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=Vi(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=Ui(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{af(I);break j}}else{sa=f[o+40>>2]|0;mh(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=Rh(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=Wi(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[7792+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=Rh(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[7792+y>>0]|0}if((ta|0)==528)x=(y+-12|0)>>>1;z=0}B=Nu(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}df(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){df(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{af(I);break}}g=f[m+16>>2]|0;c=ua+(F*40|0)+8|0;if(d[c>>1]&9216){Qi(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)af(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){Xi(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(bf(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}$u(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[30364+((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[7792+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=Wi(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}Xi(c,r,I)|0;d[s>>1]=d[s>>1]&-4097;break k}while(0);Xi(55328,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=Dc(v)|0;o=ba()|0;sa=Nu(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,gf(f[Yd>>2]|0,Jf,f[Zd>>2]|0,Xd)|0):0){if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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)){Ri(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=Dc(v)|0;o=ba()|0;sa=Nu(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,gf(f[$d>>2]|0,Jf,f[ae>>2]|0,_d)|0):0){do if(!(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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)){Ri(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=Xu(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=Nu(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=Nu(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(bf(D,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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=Nu(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=Yu(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=Xu(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=Nu(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=Nu(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(bf(C,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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=Nu(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=Yu(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=Yu(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=Yu(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=Nu(s|0,z|0,w|0,r|0)|0;g=Nu(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(bf(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=Yu(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=Yi(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[7792+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=Yu(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=Yi(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 $u(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=Zi(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=Nu((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=Nu(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)){$g(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=_i(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=_i(sa,c,z,I,h[F>>0]|0)|0}if(c){r=Qf;q=Rf;ta=3925;break a}}c=Zi(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 Oi(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=(zt(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=ib[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=Bc(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;$u(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=Nu(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((rg(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=Zh(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=Jg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Kg(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=Jg(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=Kg(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=Ig(c,0,0)|0,uf|0):0){r=Qf;q=Rf;c=uf;ta=3925;break a}c=Jg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Kg(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=Ig(c,0,0)|0,tf|0):0){r=Qf;q=Rf;c=tf;ta=3925;break a}c=Jg(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=Kg(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);Th(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{sa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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=ib[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=ib[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=ib[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=Ji(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=ib[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=Ni(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 Oi(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=Lg(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=Mg(g)|0;ta=974;break}else{c=Ng(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){Bg(a,g);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(o|0)){if(bf(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=$i(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){Bg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=aj(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=Ji(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=$i(f[q>>2]|0,1,4,0,f[o>>2]|0)|0;b[w+4>>0]=1}else{c=bj(f[q>>2]|0,Jf,(d[s>>1]|2)&65535)|0;if(!c)c=$i(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){Bg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=Bc(Yf,r,0)|0}if(!w){ta=1062;break c}bv(w|0,0,r|0)|0;f[s+40>>2]=w;sa=w+136|0;f[w+28>>2]=sa;$u(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[7215]|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=Tu((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[7165]|0)==0):0){f[w+52>>2]=g;sa=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](g)|0;break}o=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](o)|0;if(!c){c=0;break}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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){Bg(a,q);f[(f[tc>>2]|0)+(r<<2)>>2]=0}if((f[g+24>>2]|0)<(o|0)){if(bf(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]=56246;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 117:{z=m+4|0;Bg(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=cj(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(!(gf(f[q>>2]|0,Jf,f[r>>2]|0,o)|0))o=d[w>>1]|0;else{if(!(hf(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=Dc(+p[x>>3])|0;r=ba()|0;break}if(!(o&18)){q=0;r=0}else{q=Ec(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=cj(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=dj(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=ej(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=Dc(v)|0;q=ba()|0;ta=Nu(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(!(gf(f[r>>2]|0,Jf,f[g>>2]|0,q)|0))g=d[x>>1]|0;else{if(hf(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=Dc(v)|0;r=ba()|0;sa=Nu(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 Oi(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=Nu(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 Oi(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=gj(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;mh(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=Nu(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=Dc(+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=Ec(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=Nu(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{xd(8,Jf);r=Jf;r=Nu(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=cj(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=hj(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)rb[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;mh(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=ij(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;rb[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[7160]|0)){c=hb[f[28684>>2]&127](q)|0;ta=1309;break}o=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](o)|0;if(!c){ta=1310;break c}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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}fj(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(!(jj(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(bf(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;$u(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{Oi(c)|0;q=c}c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;mh(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=Wi(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(bf(q,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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 Oi(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=Vi(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);mh(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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}while(0);s=f[x>>2]|0;x:do if(!s)o=0;else{w=(zt(s)|0)+1|0;y:do if(!r){sa=Nu(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[7160]|0)){o=hb[f[28684>>2]&127](w)|0;ta=1390;break}o=hb[f[28700>>2]&127](w)|0;if((f[14058]|0)>>>0>>0)f[14058]=w;r=55352;q=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&q>>>0>0){sa=f[14051]|0;ra=Ou(q|0,r|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}o=hb[f[28684>>2]&127](o)|0;if(!o){o=0;break x}q=hb[f[28696>>2]&127](o)|0;q=(f[14051]|0)+q|0;f[14051]=q;if(q>>>0>(f[14055]|0)>>>0)f[14055]=q;q=(f[14054]|0)+1|0;f[14054]=q;if(q>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(r,w,0)|0;ta=1390}while(0);if((ta|0)==1390){ta=0;if(!o){o=0;break}}$u(o|0,s|0,w|0)|0}while(0);f[Of>>2]=o;o=f[x>>2]|0;do if(o|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=gj(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=kj(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=Tu(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=Zu(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=Yu(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=Yu(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[7920+((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[zc>>2]=(f[zc>>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=pj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ta=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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(bf(g,(sa|0)>1?sa:1,1)|0){c=7;ta=2145;break c}bv((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{Rh(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=Yu(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[13840]|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=mj(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=Lc(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=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g){c=7;ta=2145;break c}}else{q=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0>>0)f[14058]=r;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](q)|0;if(!g){c=7;ta=2145;break c}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=o}while(0);f[g+4>>2]=f[C>>2];o=C}$u(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=hj(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[Cc>>1]=f[m+12>>2];b[Hc>>0]=0;f[Kc>>2]=ua+((f[m+8>>2]|0)*40|0);c=cj(o,Td,0,0,0,Jf)|0;if(c|0){ta=2150;break c}if((f[Jf>>2]|0)==0?(re=ij(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=Vi(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{af(ua+(c*40|0)|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}}c=f[c>>2]|0;mh(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=Wi(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){Rh(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{Rh(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[7792+g>>0]|0;q=f[Db>>2]|0;if(q>>>0<(c+o|0)>>>0){ta=2177;break c}Xi((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))df(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 Oi(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[Mc>>1]=f[m+16>>2];b[Nc>>0]=((C&255)<39)<<31>>31;f[Oc>>2]=ua+((f[m+12>>2]|0)*40|0);o=f[o+40>>2]|0;mh(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=Wi(o,0,c,Jf)|0;if(c|0){ta=2198;break c}c=f[qb>>2]|0;g=f[mb>>2]|0}else{f[mb>>2]=g;d[La>>1]=4112;f[qb>>2]=c}c=jj(c,g,Td,0)|0;if(!((d[La>>1]&9216)==0&(f[Na>>2]|0)==0))df(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{Oi(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=kb[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=Ig(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=qj(o,s,0,0)|0;if(c|0){ta=2223;break c}if(!(b[x+17>>0]|0)){c=rj(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)){$g(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=rj(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)){$g(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)){$g(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=kb[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=Kh(x,o,1,0,s,0)|0;do if(o|0){g=f[o+72>>2]|0;if(!(d[g+28>>1]&32)){$g(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=kb[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=rj(c,o,w)|0;g=f[g>>2]|0;if(!(d[g+28>>1]&32))$g(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=Lg(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=Mg(q)|0;ta=2270;break}else{wd=Ng(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=Ig(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,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)==(r|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=qj(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=Nu(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){_h(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=Ig(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,zd=f[(f[o>>2]|0)+8>>2]|0,zd|0):0){c=zd;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=qj(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 Oi(g)|0;f[Jf>>2]=0;c=bj(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=sj(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)){Uh(f[(f[Lf>>2]|0)+(c<<4)+12>>2]|0);f[yf>>2]=f[yf>>2]&-9;c=oi(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]=34444;f[Re+8>>2]=g;g=Gg(Yf,34380,Re)|0;if(!g){ta=2354;break c}b[sb>>0]=1;f[tb>>2]=0;c=sj(Yf,g,75,Jf,0)|0;do if(!c){c=f[tb>>2]|0;if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else{if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);b[sb>>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=uj(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=ng((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){fg(Yf,g);break}ra=g+32|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa)fg(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=ng((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)gg(Yf,g);g=f[q+40>>2]|0;if(g|0)hg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ue);break}else{sa=hb[f[28696>>2]&127](ue)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ue);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(Yf,g);g=f[q+40>>2]|0;if(g|0)hg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ve);break}else{sa=hb[f[28696>>2]&127](ve)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ve);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{sa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ng((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=55580;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=55580;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];ig(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[y>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{sa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{sa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);break}}else{ig(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+4>>2]|0;do if(g|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{sa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{sa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g)ta=2578}else{q=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0<=g>>>0)f[14058]=r;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](q)|0;if(g){o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0>(f[14060]|0)>>>0)f[14060]=o}else ta=2578}if((ta|0)==2578){f[Wc>>2]=0;f[Uc>>2]=1;ta=2639;break}bv(g|0,0,r|0)|0;f[Wc>>2]=g;x=B+32|0;r=f[x>>2]|0;if((f[13883]|0)>=(r|0)?(we=f[13889]|0,(we|0)!=0):0){f[13889]=f[we>>2];sa=f[13890]|0;f[13890]=sa+-1;f[13891]=(sa|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=r;g=(f[14052]|0)+1|0;f[14052]=g;if(g>>>0>(f[14056]|0)>>>0){f[14056]=g;g=we}else g=we}else ta=2585;R:do if((ta|0)==2585){ta=0;sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](r)|0;if(!g)break S}else{g=hb[f[28700>>2]&127](r)|0;if((f[14058]|0)>>>0>>0)f[14058]=r;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g)break S;o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=o}while(0);o=hb[f[28696>>2]&127](g)|0;if((f[14059]|0)>>>0>>0)f[14059]=r;o=(f[14053]|0)+o|0;f[14053]=o;if(o>>>0<=(f[14057]|0)>>>0)break R;f[14057]=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]=34458;q=B+12|0;w=f[(f[q>>2]|0)+56>>2]|0;vj(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)wj(be,34519,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;wj(be,34474,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=ph(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;wj(be,34603,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;wj(be,34574,Ue)}g=f[q>>2]|0}else g=r;xj(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=Xu(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;wj(be,34657,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;wj(be,34679,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[Cd>>2]=f[13889];f[13889]=Cd;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break U}else{g=hb[f[28696>>2]&127](Cd)|0;break}else g=hb[f[28696>>2]&127](Cd)|0;while(0);f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](Cd);break}else{sa=hb[f[28696>>2]&127](Cd)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Cd);break}}while(0);g=f[Wc>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ta=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 af(E);if(!r){if(!g){g=Qf;c=Rf;ta=3954;break a}qa=s+-1|0;ra=F;qa=Ou(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;Ze(E,g,-1,1,94)|0}if((d[o>>1]&2)!=0?(b[ua+(D*40|0)+10>>0]|0)!=Fd<<24>>24:0){Pi(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?yj(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=Bc(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;bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{$e(g,x,y);ta=22;break d}}while(0);if(!(g&9216)){d[E>>1]=1;ta=21;break d}else{af(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?yj(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)){bv(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;Aj(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=zj(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=Bc(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=zj(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=Bc(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=Bc(Yf,w,q)|0}if(!A){g=Qf;c=Rf;ta=3954;break a}bv(A|0,0,w|0)|0;if(!((d[r>>1]&9216)==0?!(f[ua+(x*40|0)+24>>2]|0):0))df(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]=95;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;bv(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 Oi(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){Qi(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=Nu(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=Nu(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=Nu(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=Dc(+p[x>>3])|0;q=ba()|0;break}if(!(r&18)){o=0;q=0}else{o=Ec(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=Dc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Ec(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=Ou(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 Oi(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=Ou(-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=Nu(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=Nu(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=Nu(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=Bc(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;nb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{sa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 af(g);f[Jf>>2]=g;f[vb>>2]=r;f[wb>>2]=o;nb[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){Pi(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=Cj(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 $e(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 $e(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 $e(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 Oi(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=56244;if((o|0)==5)if(((q|0)!=0?((zt(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)Dj(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=ib[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=kb[f[c+32>>2]&127](c,f[B+220>>2]|0,0,Jf)|0;if((c|0)==0&(f[Jf>>2]|0)!=0)c=Mi(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=ib[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))ib[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=ci(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))ib[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);Dj(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=Ji(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=Ji(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=Lg(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=Mg(o)|0;ta=3092;break}else{ud=Ng(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=Dj(B,q?C:o)|0;d[g+8>>1]=2562;if((o|0)==6){f[g+16>>2]=0;o=0}else{o=f[7936+(o<<2)>>2]|0;f[g+16>>2]=o;o=(zt(o)|0)&1073741823}f[g+12>>2]=o;b[g+10>>0]=1;if(!cb)Pi(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=Ej(Yf,Of,34897)|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(!(Eg(A,0)|0))Fg(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[7193]|0;q=f[g+44>>2]|0;if((c|0)<=-1){ra=Tu(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=Ru(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}ob[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=Tu(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=Ru(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=Tu(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=Ru(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=Ej(Yf,Of,34918)|0;if(!c){c=Ji(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3172;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3172}while(0);do if((ta|0)==3172){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=gh(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3189;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3189}while(0);do if((ta|0)==3189){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=gh(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[ff>>2]=x;c=Fj(Yf,Of,34924,ff)|0;if(c|0){q=C;g=D;break}f[xe>>2]=x;c=Fj(Yf,Of,35032,xe)|0;if(c|0){q=C;g=D;break}b[Hb>>0]=0;f[ye>>2]=x;c=Fj(Yf,Of,35086,ye)|0;f[yf>>2]=f[yf>>2]&-5;if(c|0){q=C;g=D;break}f[ze>>2]=x;c=Fj(Yf,Of,35237,ze)|0;if(c|0){q=C;g=D;break}g=0;do{o=h[35367+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[35367+(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=Lg(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=Mg(s)|0;ta=3216;break}else{vd=Ng(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=Tu(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=jb[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;Gj(Jf,2147483647)|0;c=Hj(Jf)|0;if(c|0){g=f[f[(f[mc>>2]|0)+4>>2]>>2]|0;if(b[g+12>>0]|0)break;hh(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=Eg(A,0)|0;if(c|0){q=C;g=D;break ja}c=Fg(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3244;break}else{c=hb[f[28696>>2]&127](g)|0;ta=3244}while(0);do if((ta|0)==3244){ta=0;f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);g=w+32|0;c=gh(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;gh(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;$h(f[sa>>2]|0);f[sa>>2]=0;f[q+12>>2]=0}Th(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=Ig(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=yh(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=Lg(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=Mg(g)|0;break}else{c=Ng(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[7160]|0)){c=hb[f[28684>>2]&127](16)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}}else{c=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[14051]|0;ra=Ou(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Jc(Yf,c,o,q)|0;ta=3342;break}c=Jc(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=hb[o&127](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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;na:do if(!r)g=0;else{s=(zt(r)|0)+1|0;oa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3387;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break na}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3387}while(0);if((ta|0)==3387){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(bf(Jf,(sa|0)>1?sa:1,1)|0){c=7;break}bv((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=ef(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=Gc(Jf,1)|0;ta=3408}}else{g=f[Pb>>2]|0;ta=3408}pa:do if((ta|0)==3408){ta=0;if(g){x=hi(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=55580;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=55580;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=qi(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=Bc(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=Jc(Yf,c,q,r)|0;ta=3446;break ra}while(0);c=Jc(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=Gg(Yf,35406,Ce)|0;f[Of>>2]=c;c=1}}while(0);if(!((d[za>>1]&9216)==0&(f[Rb>>2]|0)==0))df(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=hi(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=hb[f[(f[f[o+4>>2]>>2]|0)+20>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;ta:do if(!r)g=0;else{s=(zt(r)|0)+1|0;ua:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3519;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break ta}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3519}while(0);if((ta|0)==3519){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Bg(a,g);f[(f[tc>>2]|0)+(o<<2)>>2]=0}if((f[c+24>>2]|0)<96){if(bf(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=lb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;va:do if(!r)g=0;else{s=(zt(r)|0)+1|0;wa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3578;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break va}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3578}while(0);if((ta|0)==3578){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}sa=hb[f[z+40>>2]&127](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 af(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 af(z);d[x>>1]=16385;f[z>>2]=0}c=jb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;xa:do if(!r)g=0;else{s=(zt(r)|0)+1|0;ya:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3633;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break xa}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3633}while(0);if((ta|0)==3633){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(z,1)|0;else c=0;f[De>>2]=c;Dg(a,31564,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){Pi(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=hb[f[x+36>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[y>>2]|0;za:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Aa:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3695;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break za}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3695}while(0);if((ta|0)==3695)if(!g){g=0;break}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[y>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[y>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}if(!(hb[f[x+40>>2]&127](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=Pi(g,1)|0,qf|0):0){r=Qf;q=Rf;c=qf;ta=3925;break a}c=ib[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;Ba:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Ca:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3745;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break Ba}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3745}while(0);if((ta|0)==3745){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=kb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);r=f[w>>2]|0;Fa:do if(!r)g=0;else{s=(zt(r)|0)+1|0;Ga:do if(!q){sa=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](s)|0;ta=3798;break}g=hb[f[28700>>2]&127](s)|0;if((f[14058]|0)>>>0>>0)f[14058]=s;q=55352;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[14051]|0;ra=Ou(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break Fa}o=hb[f[28696>>2]&127](g)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(q,s,0)|0;ta=3798}while(0);if((ta|0)==3798){ta=0;if(!g){g=0;break}}$u(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{sa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Oi(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 Oi(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=Bc(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=Ag(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 Oi(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=Dc(+p[s>>3])|0;q=ba()|0;c=r;break}if(!(c&18)){g=0;q=0;c=r}else{g=Ec(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){Bg(a,q);f[(f[tc>>2]|0)+(s<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(bf(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=$i(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(bf(o,(sa|0)>1?sa:1,1)|0){ta=1193;break c}bv((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[7160]|0)){c=hb[f[28684>>2]&127](q)|0;ta=1171;break}o=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[14051]|0;ra=Ou(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[13840]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=hb[f[28684>>2]&127](o)|0;if(!g){ta=1193;break c}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;fj(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=cj(f[y+40>>2]|0,r,0,0,0,Jf)|0;do if(s|0){if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{ta=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=cj(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=lj(ra+64|0,c)|0;break}}c=mj(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=Zu(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[7225]|0;if((c|0)!=0?(hb[c&127](100)|0)!=0:0){W=0;Y=0}else ta=1463;Ka:do if((ta|0)==1463){ta=0;do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](976)|0;if(!c){W=0;Y=0;break Ka}}else{c=hb[f[28700>>2]&127](976)|0;if((f[14058]|0)>>>0<976)f[14058]=976;o=55352;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;ia=ba()|0;f[13840]=((ia|0)<0|(ia|0)==0&na>>>0<=oa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){W=0;Y=0;break Ka}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0<=(f[14060]|0)>>>0)break;f[14060]=g}while(0);W=c+16|0;bv(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=nj(ka,(c|0)<16?c:16,Td,be)|0;do if(!c){ea=o+1|0;ca=f[be>>2]|0;c=f[7225]|0;if((c|0)!=0?(hb[c&127](100)|0)!=0:0)ta=1492;else ta=1480;La:do if((ta|0)==1480){ta=0;do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](64)|0;if(!c){ta=1492;break La}else g=c}else{c=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;q=55352;g=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,q|0,c|0,((c|0)<0)<<31>>31|0)|0;da=ba()|0;f[13840]=((da|0)<0|(da|0)==0&na>>>0<=oa>>>0)&1}g=hb[f[28684>>2]&127](c)|0;if(!g){ta=1492;break La}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[g+(r*56|0)+48>>2]|0;do if(c|0){ei(f[c+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](ca);c=7;ca=0;da=0;break}else{c=hb[f[28696>>2]&127](ca)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7225]|0;if(c|0?hb[c&127](100)|0:0){c=7;break Ma}do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](976)|0;if(!c){c=7;break Ma}else g=c}else{c=hb[f[28700>>2]&127](976)|0;if((f[14058]|0)>>>0<976)f[14058]=976;r=55352;g=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&g>>>0>0){oa=f[14051]|0;na=Ou(g|0,r|0,c|0,((c|0)<0)<<31>>31|0)|0;aa=ba()|0;f[13840]=((aa|0)<0|(aa|0)==0&na>>>0<=oa>>>0)&1}g=hb[f[28684>>2]&127](c)|0;if(!g){c=7;break Ma}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=c}while(0);c=g+16|0;bv(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[7225]|0;if(c|0?hb[c&127](100)|0:0){ta=1628;break}do if(!(f[7160]|0)){c=hb[f[28684>>2]&127](64)|0;if(!c){ta=1640;break Na}}else{c=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;s=55352;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){oa=f[14051]|0;na=Ou(r|0,s|0,c|0,((c|0)<0)<<31>>31|0)|0;$=ba()|0;f[13840]=(($|0)<0|($|0)==0&na>>>0<=oa>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){ta=1640;break Na}r=hb[f[28696>>2]&127](c)|0;r=(f[14051]|0)+r|0;f[14051]=r;if(r>>>0>(f[14055]|0)>>>0)f[14055]=r;r=(f[14054]|0)+1|0;f[14054]=r;if(r>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Nu(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[o+(r*56|0)+48>>2]|0;do if(c|0){ei(f[c+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{oa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);c=7;break}else{c=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(_*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);gi(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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](R);break}else{oa=hb[f[28696>>2]&127](R)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](R);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](Q);break}else{oa=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127]($);break}else{oa=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127]($);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](da);o=ea;break}else{o=hb[f[28696>>2]&127](da)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=nj(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){ei(f[g+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{oa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{oa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{oa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{oa=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{oa=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{oa=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{oa=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{oa=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{oa=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](W);break}else{oa=hb[f[28696>>2]&127](W)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){ei(f[g+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{ta=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](w);break}else{ta=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{ta=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](A);break}else{ta=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](A);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);break}else{ta=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](F);break}else{ta=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](E);break}else{ta=hb[f[28696>>2]&127](E)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{ta=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](L);break}else{ta=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](S);ta=2065;break}else{ta=hb[f[28696>>2]&127](S)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](S);ta=2065;break}}else ta=2065;else if((ta|0)==2064){ta=0;c=oj(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=kj(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))pb[f[g+16>>2]&255](s,h[s+25>>0]|0,s+28|0);else pb[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=Gc(c,1)|0;else c=0}else c=0;while(0);f[_e>>2]=c;Dg(a,31564,_e);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{$e(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)){df(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;pb[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=Gc(y,1)|0;else c=0;f[Ee>>2]=c;Dg(a,31564,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)nb[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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}else Ic(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)nb[q&127](f[o+8>>2]|0);f[g>>2]=f[o+16>>2];if(f[pf>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{sa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Pi(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(!(hb[Wd&127](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[7776+((c&65535)+-1<<2)>>2];Dg(a,33950,wf);c=f[m+16>>2]|0;if(c|0){f[Cf>>2]=f[Of>>2];f[Cf+4>>2]=c;Yf=Gg(Yf,33971,Cf)|0;f[Of>>2]=Yf}}else{f[xf>>2]=f[m+16>>2];Dg(a,31564,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;yc(ta,33978,Df);ta=43;break}case 148:{c=f[qc>>2]|0;if(!(e>>>0>>0|(c|0)==0)?hb[c&127](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;Dg(a,33198,jf);r=Qf;q=Rf;c=1;ta=3925;break a}if(f[(f[a>>2]|0)+456>>2]|0?f[ld>>2]|0:0)Hg(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(bf(r,(Of|0)>1?Of:1,1)|0){g=Qf;c=Rf;ta=3954;break a}bv((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(ef(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)ef(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)kb[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]=33143;f[He+4>>2]=85694;f[He+8>>2]=31184;yc(11,31132,He);c=11;ta=579;break}case 580:{g=Qf;c=Rf;ta=3954;break a}case 716:{f[Ie>>2]=33143;f[Ie+4>>2]=67897;f[Ie+8>>2]=31184;yc(11,31132,Ie);r=Qf;q=Rf;c=11;ta=3925;break a}case 719:{f[Je>>2]=33143;f[Je+4>>2]=67897;f[Je+8>>2]=31184;yc(11,31132,Je);r=Qf;q=Rf;c=11;ta=3925;break a}case 729:{Dg(a,34038,Ke);r=Qf;q=Rf;c=5;ta=3925;break a}case 761:{f[Le>>2]=y;Dg(a,34089,Le);r=Qf;q=Rf;c=1;ta=3925;break a}case 763:{Dg(a,34111,Me);r=Qf;q=Rf;c=5;ta=3925;break a}case 767:{f[Uf>>2]=787;b[a+142>>0]=2;Dg(a,33198,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)){Dg(a,(g|0)==0?34304:(c|0)==0?34220:34261,nf);r=Qf;q=Rf;c=1;ta=3925;break a}do if(!c){if(g|0?(f[nd>>2]|0)>0:0){Dg(a,34165,kf);r=Qf;q=Rf;c=5;ta=3925;break a}Wf=f[a>>2]|0;Xf=Wf+464|0;Wf=Wf+472|0;Xf=Nu(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;Dg(a,33198,mf);c=1;break a}else{c=g&255;break}}else{Cg(Yf,516);c=1}while(0);b[sd>>0]=c;if((rg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Xf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Xf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,28,0)|0;ta=942}if((ta|0)==942)if(!c)c=0;else{na=c;g=34352;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{Uh(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]=33143;f[Oe+4>>2]=87331;f[Oe+8>>2]=31184;yc(11,31132,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))df(Td);f[Pe>>2]=33143;f[Pe+4>>2]=80439;f[Pe+8>>2]=31184;yc(11,31132,Pe);c=11;ta=2180;break}case 2191:{f[Qe>>2]=33143;f[Qe+4>>2]=80472;f[Qe+8>>2]=31184;yc(11,31132,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)){$g(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:{Th(Yf);r=Qf;q=Rf;ta=3925;break a}case 2354:{Th(Yf);g=Qf;c=Rf;ta=3954;break a}case 2878:{Dg(a,34713,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=Gc(o,1)|0;else g=0}else g=0;while(0);f[of>>2]=g;Dg(a,31564,of);r=Qf;q=Rf;ta=3925;break a}case 3023:{r=Qf;q=Rf;ta=3925;break a}case 3044:{f[cf>>2]=y?34750:34755;Dg(a,34762,cf);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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,40,0)|0;ta=3120}if((ta|0)==3120)if(!c)c=0;else{na=c;g=34814;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{Pf=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Pf;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(Yf,43,0)|0;ta=3142}if((ta|0)==3142)if(!c)c=0;else{na=c;g=34854;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]=33143;f[Ae+4>>2]=66739;f[Ae+8>>2]=31184;yc(11,31132,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:{hb[f[y+28>>2]&127](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((rg(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];Dg(a,35377,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:{Dg(a,32336,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[7968+(ta<<2)>>2];Dg(a,31564,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){Dg(a,35544,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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=o&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}f[Sf>>2]=c;Dg(a,31564,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;yc(3082,35512,Tf);rg(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=jb[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;yc(o,35512,Vf);rg(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{Uh(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 ol(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,ib=0,jb=0,kb=0,lb=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,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,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=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,_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,ud=0,vd=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,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;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;Lc=ae+1496|0;Kc=ae+1480|0;Dc=ae+1456|0;Cc=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;ib=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;ob=ae+352|0;G=ae+344|0;vd=ae+336|0;lb=ae+328|0;ud=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[20400+(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,pl(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;pl($d,d[k+2>>1]|0,k+4|0);k=f[a>>2]|0}while(k>>>0>g>>>0)}li(m,41615,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=ql(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 rl(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=55600}else{k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=55600}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=rl(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=rl(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){sl(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=ql(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=rl(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){sl(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;tl(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=rl(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;sl(n,(f[r>>2]|0)+(l*20|0)|0,m,0)}l=ul(n,12,21872)|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=vl(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{rl(g,78,k,o,0)|0;break}}else{g=vl(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{rl(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{rl(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;wl(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=mb[y&127](f[l+316>>2]|0,22,34918,0,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,C);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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=ql(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{rl(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 rl(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{rl(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?41689:41698;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=mb[L&127](f[l+316>>2]|0,22,k,0,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,P);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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=ql(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{rl(k,1,1,g,0)|0;break a}}case 10:{e=nl(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=ql(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=mb[ca&127](f[k+316>>2]|0,32,34918,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,oa);f[i+12>>2]=23;break e}if((k|2|0)==2)if(!k)break;else break e;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 11:{e=nl(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=ql(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=mb[da&127](f[k+316>>2]|0,32,41705,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,ha);f[i+12>>2]=23;break f}if((k|2|0)==2)if(!k)break;else break f;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 12:{e=nl(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=ql(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=mb[ea&127](f[k+316>>2]|0,32,41689,e,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,ja);f[i+12>>2]=23;break g}if((k|2|0)==2)if(!k)break;else break g;else{li(i,40505,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=rl(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{sl(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break a}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break a}}break}case 13:{xl(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:{yl(i,$d+-20|0,$d+-8|0,f[$d+4>>2]&255,0);break}case 20:{k=$d+4|0;yl(i,0,0,0,f[k>>2]|0);k=f[k>>2]|0;if(k|0)kg(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=38544;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=38545;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=38546;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=38547;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=38548;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;li(i,41713,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];li(i,41740,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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=347;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Xd=f[14051]|0;Wd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Vd=ba()|0;f[13840]=((Vd|0)<0|(Vd|0)==0&Wd>>>0<=Xd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break i;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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);$u(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;li(i,41763,bd);if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break a}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,l,m,0)|0;Zd=392;break}ed=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break a}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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+((zt(r)|0)&1073741823)+1|0;$u(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}}Nd(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:{zl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 31:{zl(i,f[$d+-8>>2]|0,(f[$d+-20>>2]|0)+1|0,f[$d+4>>2]|0);break}case 32:{zl(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[bb>>2]=l;li(i,33384,bb)}}else Zd=463;if((Zd|0)==463)if(!g)k=0;else{gg(f[i>>2]|0,g);k=0}zl(i,k,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 34:{o=$d+4|0;p=$d+8|0;q=Al(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=40358;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=40363;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;zl(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:{Bl(i,0,f[$d+-8>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0);break}case 37:{Cl(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=542;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)gg(m,k);break}case 39:{Dl(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,$=nl(_,$d+4|0)|0,$|0):0){l=f[i>>2]|0;k=b[l+78>>0]|0;Yd=b[l+165>>0]|0;l=Yk(l,k,$,Yd&255)|0;do if(!(Yd<<24>>24)){if(!l){H=Zk(i,k,0,$)|0;Zd=557;break}if(!(f[l+12>>2]|0)){H=Zk(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){Ic(_,$);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[7160]|0)){nb[f[28688>>2]&127]($);break a}else{i=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(_,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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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:{Bl(i,f[$d+-32>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0,0);break}case 64:{Cl(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=651;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)gg(m,k);break}case 66:{Dl(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:{El(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){xl(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){li(i,41825,Na);e=0;break}if((Fl(k,e)|0)<0){f[Oa>>2]=e;li(i,41842,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]=41862;f[vc+20>>2]=e;f[vc+8>>2]=(k|0)==1&1;if(!(Gl(vc,l)|0)){if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Fk(p,l,1)|0}f[n+12>>2]=l;Xd=Gk(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;yl(i,0,Ld,0,0)}}else k=l}else k=l}else{li(i,41789,ua);k=l}if(k|0)kg(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]=131;k=f[o>>2]|0;if((k|0)>0){l=o+4|0;while(1){m=f[l>>2]|0;if(m|0?mi(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)hg(p,o);break}case 78:{El(i,f[$d+4>>2]|0,1,f[$d+-8>>2]|0);break}case 79:{f[Yd>>2]=f[7369];f[Yd+4>>2]=f[7370];f[Yd+8>>2]=f[7371];f[Yd+12>>2]=f[7372];f[Yd+16>>2]=f[7373];f[Yd+20>>2]=f[7374];k=$d+4|0;Il(i,f[k>>2]|0,Yd)|0;k=f[k>>2]|0;if(k|0)kg(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)hg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)li(i,41867,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)hg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)kg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)li(i,41867,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)li(i,41867,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)li(i,41867,Xa);l=Jl(i,0,ll(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{kg(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=Jl(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=Jl(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;mg(l,i)}while((k|0)!=0);break}case 89:{i=Jl(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=Jl(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=kl(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=Nu(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=Bc(g,e,n)|0;if(n){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=888;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break z;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Bc(o,g,e)|0;if(!k)k=0;else{$u(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=Bk(Zd,168,Yd,0)|0;Zd=$d+-20|0;i=kl(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=Bc(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;hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ya>>2]=k;li(i,33384,Ya);e=0}else e=0}else{e=1;l=0}n=Bk(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[kc>>2]=l;li(i,33384,kc)}}while(0);if((Zd|0)==952){if(n|0)gg(k,n);if(e)k=0;else{gg(k,l);k=0}}Zd=$d+-44|0;i=kl(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[7160]|0)){k=hb[f[28684>>2]&127](80)|0;Zd=986;break}k=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=ll(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=nl(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=ll(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)hg(f[i>>2]|0,l);break}case 106:{Zd=$d+-68|0;i=ll(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=ll(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}lg(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=Jl(i,0,k,0,0,0,0,2048,0)|0;i=ll(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=ml(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1049;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break J;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ml(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1076;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break L;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ml(f[i>>2]|0,0,Zd,0)|0;f[Zd>>2]=i;break}case 113:{Zd=$d+-20|0;i=ml(f[i>>2]|0,0,Zd,$d+4|0)|0;f[Zd>>2]=i;break}case 114:{k=$d+-44|0;Zd=ml(f[i>>2]|0,0,k,$d+-20|0)|0;f[k>>2]=Zd;if(Zd|0){i=nl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 115:{k=$d+-20|0;Zd=ml(f[i>>2]|0,0,k,0)|0;f[k>>2]=Zd;if(Zd|0){i=nl(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=Kl(i,Zd,0,0)|0;f[Zd>>2]=i;break}case 118:{Zd=$d+-20|0;i=Kl(i,Zd,$d+-8|0,0)|0;f[Zd>>2]=i;break}case 119:{Zd=$d+-32|0;i=Kl(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=kl(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=kl(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[db>>2]=l;li(i,33384,db)}}else Zd=1116;if((Zd|0)==1116)if(!g)k=0;else{gg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[wb>>2]=l;li(i,33384,wb)}}while(0);if((Zd|0)==1136){if(e|0)gg(k,e);if(!g)k=0;else{gg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[xb>>2]=l;li(i,33384,xb)}}while(0);if((Zd|0)==1160){if(e|0)gg(k,e);if(!g)k=0;else{gg(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=nl(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);Ll(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=nl(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]=41924;li(i,41901,ma);k=f[l>>2]|0}}else k=0;Ml(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=kl(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=Nu(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=Bc(m,g,e)|0;if(r){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1234;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nl(i,f[Zd>>2]|0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 148:{r=kl(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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1284;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break T;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nl(i,0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[$d+-44>>2]=i;break}case 150:{Ol(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:{Ol(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1314;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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)hg(g,e);if(n|0)gg(g,n);if(o|0)hg(g,o);if(!p)k=0;else{gg(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1348;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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)hg(g,e);if(!n)k=0;else{gg(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[7160]|0)){k=hb[f[28684>>2]&127](36)|0;Zd=1378;break}k=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Pl(i,f[Zd>>2]|0,$d+4|0)|0;f[Zd>>2]=i;break}case 161:{Zd=$d+4|0;i=Pl(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=Al(i,59,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 165:{o=$d+-20|0;n=Bk(f[i>>2]|0,59,o,1)|0;g=$d+4|0;e=Bk(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[7160]|0)){Ra=hb[f[28684>>2]&127](16)|0;Zd=1410;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l|0){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1435;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break _;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zc>>2]=l;li(i,33384,Zc)}}while(0);if((Zd|0)==1451){if(n|0)gg(k,n);if(!e)k=0;else{gg(k,e);k=0}}f[o>>2]=k;break}case 166:{s=$d+-44|0;r=Bk(f[i>>2]|0,59,s,1)|0;p=$d+-20|0;q=Bk(f[i>>2]|0,59,p,1)|0;g=$d+4|0;e=Bk(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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[Wb>>2]=k;li(i,33384,Wb);o=0;n=m}else{o=0;n=m}}while(0);if((Zd|0)==1475){if(q|0)gg(k,q);if(!e){o=1;n=0}else{gg(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[7160]|0)){sc=hb[f[28684>>2]&127](16)|0;Zd=1508;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l|0){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=1533;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break da;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ud>>2]=l;li(i,33384,ud)}}while(0);if((Zd|0)==1549){if(r|0)gg(k,r);if(o)k=0;else{gg(k,n);k=0}}f[s>>2]=k;break}case 168:case 167:{Zd=$d+4|0;i=Al(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=Bk(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;li(i,41637,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=Bc(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;hl(Aa);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Aa+24>>2]|0)){f[ob>>2]=k;li(i,33384,ob)}f[e>>2]=Aa;Nd(g+1|0,Aa+28|0)|0;break}f[e>>2]=0}while(0);break a}u=f[$d+8>>2]|0;w=Al(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=(hf(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;li(i,41933,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(($t(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=Jc(v,l,g,0)|0;g=e;Zd=1604;break}n=Jc(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=Bc(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;$u(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))li(i,41976,vd)}break}case 171:{l=$d+-20|0;k=f[l>>2]|0;if((f[$d+8>>2]|0)!=0?(z=Bk(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=Bk(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;gg(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}hl(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=Bk(m,157,n,1)|0;g=(l|0)==0;if(!k)if(g)k=0;else{hg(m,l);k=0}else{if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[na>>2]=n;li(i,41999,na)}f[k+20>>2]=l;l=k+4|0;f[l>>2]=f[l>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Ca=f[(f[i>>2]|0)+120>>2]|0,(Ca|0)<(f[k+24>>2]|0)):0){f[ya>>2]=Ca;li(i,33384,ya)}if((e|0)==1)f[l>>2]=f[l>>2]|16}f[n>>2]=k;break}case 174:{l=$d+-32|0;k=Bk(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?(hl(k),A=f[(f[i>>2]|0)+120>>2]|0,(A|0)<(f[k+24>>2]|0)):0){f[s>>2]=A;li(i,33384,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=Bk(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;li(i,41999,pa)}f[k+20>>2]=l;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Da=f[(f[i>>2]|0)+120>>2]|0,(Da|0)<(f[k+24>>2]|0)):0){f[za>>2]=Da;li(i,33384,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)li(i,42033,Ja)}else{if(!g)hg(m,l);mg(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[n>>2]=k;break}case 176:{g=$d+-44|0;k=Bk(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?(hl(k),K=f[(f[i>>2]|0)+120>>2]|0,(K|0)<(f[k+24>>2]|0)):0){f[D>>2]=K;li(i,33384,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)li(i,42033,N)}else{mg(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[g>>2]=k;break}case 177:{l=$d+4|0;k=Bk(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?(hl(k),B=f[(f[i>>2]|0)+120>>2]|0,(B|0)<(f[k+24>>2]|0)):0){f[r>>2]=B;li(i,33384,r)}}else k=0;f[l>>2]=k;break}case 178:{g=kl(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=Bc(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;hl(W);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[W+24>>2]|0)){f[Sa>>2]=k;li(i,33384,Sa)}f[$d+-44>>2]=W;f[W+20>>2]=g;break a}f[$d+-44>>2]=0;if(g|0)hg(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=il(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=Bc(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}hl(k);l=i;Zd=1731;break na}while(0);if(n|0)gg(k,n);if(!e)k=0;else{gg(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;li(i,33384,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=kl(f[i>>2]|0,0,f[$d+4>>2]|0)|0;o=$d+-20|0;m=kl(f[i>>2]|0,m,f[o>>2]|0)|0;g=f[i>>2]|0;k=Bk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{hg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[qa>>2]=l;li(i,41999,qa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Ea=f[(f[i>>2]|0)+120>>2]|0,(Ea|0)<(f[k+24>>2]|0)):0){f[ra>>2]=Ea;li(i,33384,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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[_b>>2]=k;li(i,33384,_b);k=m}else k=m}else Zd=1758;if((Zd|0)==1758)if(!k)k=0;else{gg(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=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;o=$d+-44|0;m=kl(f[i>>2]|0,m,f[o>>2]|0)|0;m=kl(f[i>>2]|0,m,f[$d+4>>2]|0)|0;g=f[i>>2]|0;k=Bk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{hg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[sa>>2]=l;li(i,41999,sa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(hl(k),Fa=f[(f[i>>2]|0)+120>>2]|0,(Fa|0)<(f[k+24>>2]|0)):0){f[ta>>2]=Fa;li(i,33384,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=Bc(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}hl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[$b>>2]=k;li(i,33384,$b);k=m}else k=m}else Zd=1789;if((Zd|0)==1789)if(!k)k=0;else{gg(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=Bc(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}hl(m);k=m;l=i;Zd=1818;break}if(!k)k=0;else{gg(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;li(i,33384,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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[fb>>2]=l;li(i,33384,fb)}}else Zd=1834;if((Zd|0)==1834)if(!g)k=0;else{gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Eb>>2]=k;li(i,33384,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)gg(m,l);f[k>>2]=0;break a}while(0);if(e|0)gg(k,e);if(g|0)gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Fb>>2]=k;li(i,33384,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)gg(m,l);f[k>>2]=0;break a}while(0);if(e|0)gg(k,e);if(g|0)gg(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=Bc(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}hl(k);l=i;Zd=1921;break}if(!e)k=0;else{gg(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;li(i,33384,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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[gb>>2]=l;li(i,33384,gb)}}else Zd=1937;if((Zd|0)==1937)if(!e)k=0;else{gg(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=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;e=kl(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[rb>>2]=k;li(i,33384,rb)}f[n>>2]=l;f[l+20>>2]=e}if((Zd|0)==1957){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;if(e|0)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[jc>>2]=l;li(i,33384,jc)}}else Zd=1979;if((Zd|0)==1979)if(!g)k=0;else{gg(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)gg(f[i>>2]|0,l);i=Bk(f[i>>2]|0,143,1e4+(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)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ec>>2]=l;li(i,33384,ec)}}while(0);if((Zd|0)==2008){if(n|0)gg(k,n);if(e)k=0;else{gg(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=Bc(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}hl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ab>>2]=k;li(i,33384,Ab)}f[n>>2]=l;f[l+20>>2]=f[e>>2];k=f[n>>2]|0;if((f[i+36>>2]|0)==0?(hl(k),Jb=f[(f[i>>2]|0)+120>>2]|0,(Jb|0)<(f[k+24>>2]|0)):0){f[Gb>>2]=Jb;li(i,33384,Gb)}}else Zd=2031;if((Zd|0)==2031){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;k=f[e>>2]|0;if(k|0)hg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qc>>2]=l;li(i,33384,qc)}}else Zd=2055;if((Zd|0)==2055)if(!g)k=0;else{gg(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=Bc(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;hl(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;li(i,33384,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;hl(X);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[$a>>2]=k;li(i,33384,$a);break a}f[$d+-20>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(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;li(i,33384,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?(hl(l),yb=f[(f[i>>2]|0)+120>>2]|0,(yb|0)<(f[k>>2]|0)):0){f[tb>>2]=yb;li(i,33384,tb)}}else Zd=2093;if((Zd|0)==2093){if(g|0)gg(f[i>>2]|0,g);f[e>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[lc>>2]=l;li(i,33384,lc)}}else Zd=2117;if((Zd|0)==2117)if(!g)k=0;else{gg(f[i>>2]|0,g);k=0}f[e>>2]=k}break}case 205:{k=ml(f[i>>2]|0,0,$d+-20|0,$d+-8|0)|0;e=Jl(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){hg(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=Bc(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}hl(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;li(i,33384,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?(hl(l),Sb=f[(f[i>>2]|0)+120>>2]|0,(Sb|0)<(f[k>>2]|0)):0){f[Lb>>2]=Sb;li(i,33384,Lb)}}else Zd=2140;if((Zd|0)==2140){if(g|0)gg(f[i>>2]|0,g);f[n>>2]=0;if(e|0)kg(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=Bc(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}hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[rc>>2]=l;li(i,33384,rc)}}else Zd=2164;if((Zd|0)==2164)if(!g)k=0;else{gg(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=Bc(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;hl(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;li(i,33384,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;hl(Y);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[ab>>2]=k;li(i,33384,ab);break a}f[$d+-32>>2]=0;k=f[$d+-8>>2]|0;if(k|0)kg(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=Bc(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}hl(Ka);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Ka+24>>2]|0)){f[Va>>2]=k;li(i,33384,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=kl(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;hl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)>=(f[k+24>>2]|0))break a;f[Tb>>2]=l;li(i,33384,Tb);break a}if(g|0)gg(f[i>>2]|0,g);f[$d+-44>>2]=0;k=f[$d+-20>>2]|0;if(k|0)hg(f[i>>2]|0,k);k=f[$d+-8>>2]|0;if(k|0)gg(f[i>>2]|0,k);break}case 208:{Zd=$d+-44|0;Yd=kl(f[i>>2]|0,f[Zd>>2]|0,f[$d+-20>>2]|0)|0;f[Zd>>2]=Yd;i=kl(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 209:{Yd=kl(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;Zd=$d+-32|0;f[Zd>>2]=Yd;i=kl(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=kl(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=kl(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=ml(f[i>>2]|0,0,e,0)|0;Cl(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2246;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break a;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=kl(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;li(i,42080,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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2300;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Ka;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=kl(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;li(i,42080,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=Nu(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=Bc(m,g,e)|0;if(q){$u(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;Zd=2353;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Oa;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=oi(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=oi(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=Oj(z,f[y+16>>2]|0,k)|0;if(!x){if(!o){f[ib>>2]=y;f[ib+4>>2]=0;li(i,42118,ib)}else Ql(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;li(i,42136,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?39516:34444;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=mb[mc&127](f[m+316>>2]|0,9,k,0,o,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,nc);f[i+12>>2]=23;break}if((k|2|0)!=2){li(i,40505,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=mb[wc&127](f[m+316>>2]|0,g,l,k,o,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,xc);f[i+12>>2]=23;break Sa}if((k|2|0)==2)if(!k)break;else break Sa;else{li(i,40505,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=ql(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=aj(f[fd>>2]|0,0,fd,Yd,0,542)|0;if(k|0){li(q,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=2417;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=2417}while(0);do if((Zd|0)==2417){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=gh(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]=34444;f[od+8>>2]=l;Rl(i,42279,od);l=f[x>>2]|0;m=f[(f[(f[i>>2]|0)+16>>2]|0)+(w<<4)>>2]|0;f[gd>>2]=1;td(24,od,42328,gd)|0;if(hi(f[i>>2]|0,od,m)|0){f[hd>>2]=m;f[hd+4>>2]=od;f[hd+8>>2]=38503;f[hd+12>>2]=l;Rl(i,42342,hd)}f[id>>2]=2;td(24,od,42328,id)|0;if(hi(f[i>>2]|0,od,m)|0){f[kd>>2]=m;f[kd+4>>2]=od;f[kd+8>>2]=38503;f[kd+12>>2]=l;Rl(i,42342,kd)}f[ld>>2]=3;td(24,od,42328,ld)|0;if(hi(f[i>>2]|0,od,m)|0){f[md>>2]=m;f[md+4>>2]=od;f[md+8>>2]=38503;f[md+12>>2]=l;Rl(i,42342,md)}f[nd>>2]=4;td(24,od,42328,nd)|0;k=f[i>>2]|0;if(hi(k,od,m)|0){f[pd>>2]=m;f[pd+4>>2]=od;f[pd+8>>2]=38503;f[pd+12>>2]=l;Rl(i,42342,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 rl(g,107,w,1,k)|0;Sl(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=rl(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;sl(u,(f[u+88>>2]|0)+(k*20|0)|0,m,0)}}while(0);lg(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=ql(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 rl(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=ql(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){li(i,41825,V);break a}m=Fl(k,l)|0;if((m|0)<0){f[la>>2]=l;li(i,41842,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 rl(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:{Tl(i,$d+-8|0,$d+4|0,0,0);break}case 232:{Tl(i,$d+-32|0,$d+-20|0,$d+4|0,0);break}case 233:{Tl(i,$d+-44|0,$d+-32|0,$d+-8|0,0);break}case 234:{Tl(i,$d+-32|0,$d+-20|0,$d+4|0,1);break}case 235:{Tl(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=(zt(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]=42372;f[Ld+20>>2]=vc;q=(z|0)==1;f[Ld+8>>2]=q&1;if(!e)do{if(Gl(Ld,f[k+8>>2]|0)|0){k=0;Zd=2591;break Wa}if(Ul(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(Ul(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(Ul(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(Ul(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(Ul(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(Ul(Ld,f[o+12>>2]|0)|0){k=0;Zd=2591;break Wa}}k=f[k+36>>2]|0}while((k|0)!=0);if(!(Ul(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=ql(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=aj(f[dd>>2]|0,0,dd,Yd,0,542)|0;if(m|0){li(s,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](g)|0;Zd=2530;break}else{m=hb[f[28696>>2]&127](g)|0;Zd=2530}while(0);do if((Zd|0)==2530){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{Yd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Yd=gh(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=Nu(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=Bc(B,e,n)|0;if(g){$u(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]=34444;f[xd+8>>2]=A;f[xd+12>>2]=Zd;f[xd+16>>2]=g;Rl(i,42380,xd);_a:do if(g|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Zd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(n,107,z,1,m)|0;f[Dd>>2]=A;Vl(v,z,Gg(B,42444,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=ng((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=55580;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=55580;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){ig(B,f[m>>2]|0);l=f[l>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[r+12>>2]|0;if(l|0)gg(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(B,m);m=g;Zd=2648;break bb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](m);Zd=2646;break}else{Zd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Vd);break}else{i=hb[f[28696>>2]&127](Vd)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Vd);break}while(0);if(!r)break}if(B|0){if(f[B+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);ig(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{li(i,42473,ub);Zd=2894;break}else{if(!l){if(b[K+165>>0]|0){li(i,41825,vb);Zd=2894;break}l=Fl(K,H)|0;if((l|0)<0){f[Bb>>2]=H;li(i,41842,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Vd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Vd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ni(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){fg(e,n);break}Jd=n+32|0;Vd=(f[Jd>>2]|0)+-1|0;f[Jd>>2]=Vd;if(!Vd)fg(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;li(i,41262,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]=42372,f[Ld+20>>2]=m,Kd=(B|0)==1,f[Ld+8>>2]=Kd&1,(Wl(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=ni(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){fg(l,g);break}Ld=g+32|0;Vd=(f[Ld>>2]|0)+-1|0;f[Ld>>2]=Vd;if(!Vd)fg(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;li(i,41262,yd);b[i+17>>0]=1;break fb}while(0);if(f[A+56>>2]|0){li(i,42519,zd);Zd=2894;break cb}x=nl(K,m)|0;if(!x){Zd=2894;break cb}ib:do if(!(Xl(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=55580;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=55580;break}}}while(0);if(!(f[l+8>>2]|0))break;if(!w){f[Hd>>2]=m;li(i,42560,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=aj(f[q>>2]|0,0,q,Yd,0,542)|0;if(m|0){li(e,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=2778;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=2778}while(0);do if((Zd|0)==2778){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Zd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Zd=gh(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;Zd=2792;break kb}if(l<<24>>24==95)break kb;else{m=95;l=1232+(l&255)|0}}else m=115;while(0);Pd=h[l>>0]|0;Od=m;Zd=2796}while(0);if((Zd|0)==2792){Pd=0;Od=b[1232+(h[l>>0]|0)>>0]|0;Zd=2796}if((Zd|0)==2796?(Pd|0)!=(Od&255|0):0)break;li(i,42594,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?42632:42639;f[Rd+4>>2]=F;f[Rd+8>>2]=0;li(i,42645,Rd);Zd=2885;break}q=(z|0)==65;if(q&(l|0)==0){f[Sd>>2]=F;f[Sd+4>>2]=0;li(i,42682,Sd);Zd=2885;break}do if(s){e=q?33:z;if(K|0){Zd=2826;break}if(!(f[7160]|0)){m=hb[f[28684>>2]&127](36)|0;g=1;l=e;Zd=2848;break}l=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[14051]|0;Xd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}m=hb[f[28684>>2]&127](l)|0;if(!m)break ib;l=hb[f[28696>>2]&127](m)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){q=m;g=1;break}f[14060]=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=mb[m&127](f[g+316>>2]|0,e,x,r,n,f[i+236>>2]|0)|0;if((l|0)==1){li(i,40490,Td);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)!=2){li(i,40505,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?39516:34444;do if(!(l<<24>>24)){if(b[v>>0]|0)break;l=f[g+312>>2]|0;if(!l)break;l=mb[l&127](f[g+316>>2]|0,18,m,0,p,f[i+236>>2]|0)|0;if((l|0)==1){li(i,40490,Wd);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)==2)if(!l)break;else{Zd=2885;break ib}else{li(i,40505,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=Bc(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=(zt(n)|0)+1|0;nb:do if(g){Yd=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;Zd=2874;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[14051]|0;Xd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){g=0;break mb}m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(K,o,0)|0;Zd=2874}while(0);if((Zd|0)==2874)if(!l){g=0;break}$u(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=zk(K,G,1,0)|0}while(0);f[q+12>>2]=l;f[q+16>>2]=k;f[i+232>>2]=q;lg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](x);Zd=2894;break cb}else{Zd=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){lg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(K,l);l=m;Zd=2927;break qb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);Zd=2925;break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);l=0;k=G;r=0;break}else{l=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(K,k);do if(!((l|0)==0|(f[i+232>>2]|0)!=0)){ig(K,f[l+28>>2]|0);k=f[l>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);k=f[l+12>>2]|0;if(k|0)gg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(K,l);l=m;Zd=2994;break tb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);Zd=2992;break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(r|0){if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{i=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(i,42728,g);break}case 251:{li(i,42823,n);break}case 252:{li(i,42907,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=Yl(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=Gk(n,l,1)|0;f[o+20>>2]=i;if(!m){k=m;m=0}else{k=m;m=zk(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)hg(n,l);if(k|0)gg(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=Yl(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(u,k);k=q;Zd=3076;break vb}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);Zd=3074;break}else{Zd=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(r){k=f[r>>2]|0;if(k|0)hg(u,k);k=f[r+4>>2]|0;if(k|0)gg(u,k);k=f[r+8>>2]|0;if(k|0)hg(u,k);k=f[r+12>>2]|0;if(k|0)gg(u,k);if(u|0){if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);k=l;break}else{k=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);k=l;break}}else k=l}else{if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Fk(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)kg(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=Yl(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=zk(g,l,1,0)|0}else k=0;f[e+16>>2]=l;b[e+1>>0]=11}if(k|0)gg(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[7160]|0)){k=hb[f[28684>>2]&127](44)|0;Zd=3137;break}k=hb[f[28700>>2]&127](44)|0;if((f[14058]|0)>>>0<44)f[14058]=44;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Zd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[13840]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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{kg(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=Nu(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=Bc(p,e,n)|0;if(l){$u(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=Bc(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;hl(R);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[R+24>>2]|0)){f[Ma>>2]=k;li(i,33384,Ma)}f[$d+-32>>2]=R;b[R+1>>0]=4;break a}f[$d+-32>>2]=0;break}case 258:{k=Bk(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=oi(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=oi(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=55580;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=55580;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){Zl(i,k);break}}if(!v){f[cd>>2]=w;f[cd+4>>2]=0;li(i,42992,cd)}else Ql(i,u);b[i+17>>0]=1}while(0);lg(x,w);break}case 263:{Zd=f[$d+-32>>2]|0;_l(i,24,29500,Zd,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 264:{Zd=f[$d+4>>2]|0;_l(i,25,29540,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=oi(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=oi(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=aj(f[Wc>>2]|0,0,Wc,Yd,0,542)|0;if(k|0){li(s,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;Xd=(f[13890]|0)+1|0;f[13890]=Xd;f[13891]=(Xd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](g)|0;Zd=3270;break}else{k=hb[f[28696>>2]&127](g)|0;Zd=3270}while(0);do if((Zd|0)==3270){Zd=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{Xd=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Xd=gh(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;$l(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=oi(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=oi(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=nl(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=55580;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=55580;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Xd=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(i,41825,Ac);break a}k=Fl(k,l)|0;if((k|0)>=0){l=r;m=k;break}f[Ec>>2]=l;li(i,41842,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{am(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break a}else{i=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(i,41825,cb);break a}k=Fl(k,l)|0;if((k|0)<0){f[kb>>2]=l;li(i,41842,kb);break a}else{l=r;m=k}}while(0);v=nl(w,l)|0;if(v|0){k=f[(f[w+16>>2]|0)+(m<<4)>>2]|0;l=hi(w,v,k)|0;if(!l){r=Oj(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[7160]|0)){nb[f[28688>>2]&127](v);break}else{Xd=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}}else Ic(w,v);while(0);if(!r){li(i,43012,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=aj(f[wd>>2]|0,0,wd,Yd,0,542)|0;if(k|0){li(q,42209,_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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Yd=(f[13890]|0)+1|0;f[13890]=Yd;f[13891]=(Yd|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=3420;break}else{k=hb[f[28696>>2]&127](l)|0;Zd=3420}while(0);do if((Zd|0)==3420){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Zd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=gh(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;$l(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=aj(f[Fd>>2]|0,0,Fd,Yd,0,542)|0;if(l|0){li(r,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;Xd=(f[13890]|0)+1|0;f[13890]=Xd;f[13891]=(Xd|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=3374;break}else{l=hb[f[28696>>2]&127](m)|0;Zd=3374}while(0);do if((Zd|0)==3374){Zd=0;f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Xd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Xd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Xd=gh(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;$l(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](v);break a}else{i=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break a}}break}case 269:{bm(i,0,0);break}case 270:{bm(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=ni(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=nl(y,g)|0;if(u){Lb:do if(!(hi(y,u,w)|0)){if(Oj(y,u,w)|0){f[Ob>>2]=u;li(i,43058,Ob);Zd=3513;break}if((cm(i,f[s>>2]|0)|0)==0?(Xl(i,u)|0)==0:0){l=f[s>>2]|0;if(f[s+12>>2]|0){f[Ub>>2]=l;li(i,43117,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=mb[dc&127](f[k+316>>2]|0,26,w,l,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,fc);f[i+12>>2]=23;Zd=3513;break Lb}if((k|2|0)==2)if(!k)break;else{Zd=3513;break Lb}else{li(i,40505,gc);f[i+12>>2]=1;Zd=3513;break Lb}}while(0);if(!(ii(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=ql(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]=34444;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;Rl(i,43144,Qc);f[Rc>>2]=w;f[Rc+4>>2]=34444;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;Rl(i,43305,Rc);if(hi(y,43582,w)|0){Yd=f[s>>2]|0;f[Sc>>2]=w;f[Sc+4>>2]=u;f[Sc+8>>2]=Yd;Rl(i,43598,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;Rl(i,43656,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=rl(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;sl(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=rl(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{sl(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]=34444;f[jd+8>>2]=w;f[jd+12>>2]=o;Rl(i,43910,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 rl(g,107,v,1,k)|0;Vl(f[r>>2]|0,v,0);if(n){f[qd>>2]=w;f[qd+4>>2]=34444;f[qd+8>>2]=w;f[qd+12>>2]=o;Rl(i,43910,qd);break Nb}else{Vl(f[r>>2]|0,1,0);f[rd>>2]=w;f[rd+4>>2]=34444;f[rd+8>>2]=w;f[rd+12>>2]=o;Rl(i,43910,rd);break}}while(0);f[sd>>2]=34444;f[sd+4>>2]=w;Rl(i,44054,sd)}while(0);lg(y,x);if(y|0)Zd=3516}else Zd=3513}else Zd=3513}else{f[Nb>>2]=u;li(i,43058,Nb);Zd=3513}while(0);if((Zd|0)==3513){lg(y,x);Zd=3516}if((Zd|0)==3516){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{i=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);break}}else Zd=3514}else Zd=3514}else Zd=3514;while(0);if((Zd|0)==3514)lg(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=hi(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=mb[Db&127](f[s+316>>2]|0,26,p,k,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,Hb);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{li(i,40505,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){li(i,44197,Pb);break a}if(f[r+8>>2]|0){li(i,44229,Qb);break a}if(!(0==0?(f[s+32>>2]&16384|0)==0:0)?(l|0)!=0&(f[r+16>>2]|0)!=0:0){li(i,44256,Rb);break a}k=(l|0)!=0;if(!(k|(b[m+(g<<4)+12>>0]|0)==0)){li(i,44315,Vb);break a}Ob:do if(k){f[Yd>>2]=0;do if(!(Ck(s,l,1,65,Yd)|0)){m=f[Yd>>2]|0;if(!m){li(i,44368,ac);break}if(!((d[m+8>>1]&9216)==0?!(f[m+24>>2]|0):0))df(m);k=f[m+32>>2]|0;do if(!k)Zd=3562;else{if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Yd=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Bc(s,m,g)|0;if(l|0){$u(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]=34444;f[Fc+8>>2]=Yd;f[Fc+12>>2]=l;f[Fc+16>>2]=Yd+1;f[Fc+20>>2]=q;Rl(i,44414,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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Yd=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else Ic(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=ql(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 rl(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 rl(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 rl(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 rl(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 rl(g,107,u,1,k)|0;Vl(f[p>>2]|0,u,0);if((u|0)!=1)Vl(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=ni(i,0,f[G+16>>2]|0,f[k>>2]|0)|0;if(D|0){if(f[D+56>>2]|0){li(i,44523,Pa);break}if(f[D+12>>2]|0){li(i,44557,Qa);break}if(!(cm(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[7160]|0)){k=hb[f[28684>>2]&127](80)|0;Zd=3665;break}k=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[14051]|0;Xd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[13840]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break Sb;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Nu(e|0,0,-1,-1)|0;Yd=ba()|0;if(!(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390)){if(!(f[7160]|0)){l=hb[f[28684>>2]&127](e)|0;Zd=3690;break}l=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[14051]|0;Yd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(l){m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(E,e,0)|0;Zd=3690}while(0);if((Zd|0)==3690)if(!l)l=0;else Zd=3691;if((Zd|0)==3691)bv(l|0,0,e|0)|0;y=k+4|0;f[y>>2]=l;f[$c>>2]=f[D>>2];i=Gg(E,44587,$c)|0;f[k>>2]=i;l=f[y>>2]|0;if(!((i|0)==0|(l|0)==0)){$u(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=(zt(e)|0)+1|0;Wb:do if(C){i=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](n)|0;Zd=3718;break}l=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;g=55352;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[14051]|0;Yd=Ou(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break Vb}m=hb[f[28696>>2]&127](l)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(E,n,0)|0;Zd=3718}while(0);if((Zd|0)==3718){Zd=0;if(!l){l=0;break}}$u(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);lg(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=ni(i,0,f[v+16>>2]|0,f[k>>2]|0)|0;Xb:do if(r|0?(cm(i,f[r>>2]|0)|0)==0:0){k=(f[r+56>>2]|0)==0?((f[r+12>>2]|0)==0?0:41862):44606;if(k|0){Zd=f[r>>2]|0;f[Wa>>2]=k;f[Wa+4>>2]=Zd;li(i,44620,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=mb[Xb&127](f[l+316>>2]|0,26,s,k,0,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,bc);f[i+12>>2]=23;break Xb}if((k|2|0)==2)if(!k)break;else break Xb;else{li(i,40505,cc);f[i+12>>2]=1;break Xb}}while(0);q=nl(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=nl(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[Cc>>2]=s;f[Cc+4>>2]=34444;f[Cc+8>>2]=s;f[Cc+12>>2]=n;f[Cc+16>>2]=k;f[Cc+20>>2]=l;f[Cc+24>>2]=e;f[Cc+28>>2]=p;f[Cc+32>>2]=n;Rl(i,44674,Cc);n=f[r>>2]|0;f[Dc>>2]=34444;f[Dc+4>>2]=s;f[Dc+8>>2]=n;f[Dc+12>>2]=k;f[Dc+16>>2]=l;f[Dc+20>>2]=e;Rl(i,44868,Dc);e=i+8|0;n=f[e>>2]|0;do if(!n){f[Gc>>2]=s;f[Gc+4>>2]=34444;f[Gc+8>>2]=s;f[Gc+12>>2]=p;Rl(i,43910,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 rl(n,107,u,1,k)|0;Vl(f[e>>2]|0,u,0);if(o){f[Kc>>2]=s;f[Kc+4>>2]=34444;f[Kc+8>>2]=s;f[Kc+12>>2]=p;Rl(i,43910,Kc);break Zb}else{Vl(f[e>>2]|0,1,0);f[Lc>>2]=s;f[Lc+4>>2]=34444;f[Lc+8>>2]=s;f[Lc+12>>2]=p;Rl(i,43910,Lc);break}}while(0);f[Mc>>2]=34444;f[Mc+4>>2]=s;Rl(i,44054,Mc)}}else{f[zc>>2]=q;li(i,44653,zc);l=0}while(0);lg(w,v);k=(w|0)==0;do if(!k){if(f[w+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{i=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);if(!l)break a;if(!k){if(f[w+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break a}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break a}}}while(0);lg(w,v);break}case 275:{dm(i,0);break}case 276:{dm(i,$d+4|0);break}case 277:{n=$d+4|0;xl(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=nl(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=Bc(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=Jc(q,k,m,g)|0;Zd=3803;break}k=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Yd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Yd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,l,m,g)|0;Zd=3832;break}ic=Jc(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=(zt(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=Bc(q,g,0)|0;if(k){$u(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=Bc(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=Jc(q,k,m,g)|0;Zd=3866;break}k=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{Zd=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[Ad&127](f[m+316>>2]|0,29,g,l,k,f[i+236>>2]|0)|0;if((k|0)==1){li(i,40490,Bd);f[i+12>>2]=23;break a}if((k|2|0)!=2){li(i,40505,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=Nu(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=Bc(q,m,g)|0;Zd=3902}if((Zd|0)==3902)if(!k)n=0;else{$u(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=Bc(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=Jc(q,l,g,m)|0;Zd=3921;break}hc=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{Zd=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Zd;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=em(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=em(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[7160]|0)){k=hb[f[28684>>2]&127](72)|0;Zd=4023;break}k=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Zd=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=Zd>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Nu(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=Bc(g,e,n)|0;if(k){$u(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{gg(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=Nu(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=Bc(m,g,e)|0;if(k){$u(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[7160]|0)){k=hb[f[28684>>2]&127](72)|0;Zd=3987;break}k=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[14051]|0;Yd=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[13840]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=fm(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=fm(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[20400+(c<<2)>>1]|0;_d=_d<<24>>24;c=d[15312+((d[21920+(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 sb(a){a=a|0;var b=0;b=t;t=t+a|0;t=t+15&-16;return b|0}function tb(){return t|0}function ub(a){a=a|0;t=a}function vb(a,b){a=a|0;b=b|0;t=a;u=b}function wb(a,b){a=a|0;b=b|0;if(!v){v=a;w=b}}function xb(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}hq(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);hq(a,30613,1,1,0,0,169,88)|0;hq(a,30619,1,1,0,0,169,89)|0;hq(a,45840,1,1,0,0,170,90)|0;hq(a,30628,1,1,0,0,170,91)|0;hq(a,30635,1,1,0,0,170,92)|0;hq(a,30650,1,1,0,0,170,93)|0;return 0}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,378,30697);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+N(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,379,30706);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+O(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,380,30715);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+P(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=2)pa(30724,30673,570,30732);if((pp(f[c>>2]|0)|0)!=5?(d=c+4|0,(pp(f[d>>2]|0)|0)!=5):0){e=+mp(f[c>>2]|0);qp(a,+Q(+e,+(+mp(f[d>>2]|0))));return}up(a);return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,394,30741);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Cu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,402,30751);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Eu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,410,30761);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Au(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Fb(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)pa(30724,30673,1680,30771);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){g=kp(f[d>>2]|0)|0;i=kp(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(tt(c)|0)break;d=d+1|0;c=b[g+d>>0]|0;if(!(c<<24>>24)){n=17;break a}}c=(ut(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)bv(k+c|0,48,4-c|0)|0;b[k+4>>0]=0}while(0);if((n|0)==17){b[k>>0]=b[30786]|0;b[k+1>>0]=b[30787]|0;b[k+2>>0]=b[30788]|0;b[k+3>>0]=b[30789]|0;b[k+4>>0]=b[30790]|0}c=b[i>>0]|0;b:do if(!(c<<24>>24))n=29;else{d=0;while(1){c=c&255;if(tt(c)|0)break;d=d+1|0;c=b[i+d>>0]|0;if(!(c<<24>>24)){n=29;break b}}c=(ut(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)bv(j+c|0,48,4-c|0)|0;b[j+4>>0]=0}while(0);if((n|0)==29){b[j>>0]=b[30786]|0;b[j+1>>0]=b[30787]|0;b[j+2>>0]=b[30788]|0;b[j+3>>0]=b[30789]|0;b[j+4>>0]=b[30790]|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}}sp(a,d);t=o;return}up(a);t=o;return}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,498,30791);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,d*180.0/3.141592653589793);return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,499,30803);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,d*3.141592653589793/180.0);return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,420,30815);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+K(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,419,30823);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+L(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,421,30831);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+M(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,422,30839);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,1.0/+M(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,446,30847);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,438,30856);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+eu(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,454,30865);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,456,30874);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,1.0/+Du(d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,474,30883);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+R(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,472,30891);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+S(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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)pa(30665,30673,473,30899);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+Wa(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(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,e=0.0,g=0;if((b|0)!=2)pa(30724,30673,546,30909);if((pp(f[c>>2]|0)|0)!=5?(g=c+4|0,(pp(f[g>>2]|0)|0)!=5):0){e=+mp(f[c>>2]|0);d=+mp(f[g>>2]|0);g=pt()|0;f[g>>2]=0;g=pt()|0;if(!(f[g>>2]|0)){qp(a,+J(+e,+d));return}else{c=pt()|0;c=Gt(f[c>>2]|0)|0;g=pt()|0;rp(a,c,f[g>>2]|0);return}}up(a);return}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=1)pa(30665,30673,590,30919);switch(pp(f[c>>2]|0)|0){case 1:{d=op(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;tp(a,b?1:c,b?0:((c|0)<0)<<31>>31);return}case 5:{up(a);return}default:{e=+mp(f[c>>2]|0);qp(a,e>0.0?1.0:+((e<0.0)<<31>>31));return}}}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,375,30928);if((pp(f[c>>2]|0)|0)==5){up(a);return}d=+mp(f[c>>2]|0);c=pt()|0;f[c>>2]=0;c=pt()|0;if(!(f[c>>2]|0)){qp(a,+I(+d));return}else{b=pt()|0;b=Gt(f[b>>2]|0)|0;c=pt()|0;rp(a,b,f[c>>2]|0);return}}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,514,30937);switch(pp(f[c>>2]|0)|0){case 1:{b=op(f[c>>2]|0)|0;c=ba()|0;tp(a,Tu(b|0,c|0,b|0,c|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+mp(f[c>>2]|0);qp(a,d*d);return}}}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,620,30948);switch(pp(f[c>>2]|0)|0){case 1:{tp(a,op(f[c>>2]|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+T(+(+mp(f[c>>2]|0)));tp(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 Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)pa(30665,30673,645,30957);switch(pp(f[c>>2]|0)|0){case 1:{tp(a,op(f[c>>2]|0)|0,ba()|0);return}case 5:{up(a);return}default:{d=+G(+(+mp(f[c>>2]|0)));tp(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 Zb(a,b,c){a=a|0;b=b|0;c=c|0;qp(a,3.141592653589793);return}function _b(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((pp(f[c>>2]|0)|0)==5)return;j=op(f[c+4>>2]|0)|0;e=ba()|0;if((e|0)<0){rp(a,30967,-1);return}g=lp(f[c>>2]|0)|0;h=Dd((U(g,j)|0)+1|0)|0;i=Dd(g+1|0)|0;b=(h|0)!=0;d=(i|0)!=0;if(b&d){Rt(i,kp(f[c>>2]|0)|0)|0;if((e|0)>0|(e|0)==0&j>>>0>0){b=0;d=0;do{Rt(h+(U(g,b)|0)|0,i)|0;b=Nu(b|0,d|0,1,0)|0;d=ba()|0}while((d|0)<(e|0)|(d|0)==(e|0)&b>>>0>>0)}wp(a,h,-1,-1);fe(h);fe(i);return}xp(a);if(b)fe(h);if(!d)return;fe(i);return}function $b(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)pa(30980,30673,1038,30998);if((pp(f[c>>2]|0)|0)!=5?(d=c+4|0,(pp(f[d>>2]|0)|0)!=5):0){e=kp(f[c>>2]|0)|0;if(!e)return;d=kp(f[d>>2]|0)|0;if(g){b=(np(f[c+8>>2]|0)|0)+-1|0;b=(b|0)>0?b:0}else b=0;sp(a,(uc(e,d,b)|0)+1|0);return}up(a);return}function ac(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)pa(30724,30673,1073,31012);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){n=kp(f[d>>2]|0)|0;k=np(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=Dd(c+1|0)|0;if(!d){xp(a);return}else{iu(d,n,c)|0;b[d+c>>0]=0;wp(a,d,-1,-1);fe(d);return}}up(a);return}function bc(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)pa(30724,30673,1113,31021);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){d=kp(f[d>>2]|0)|0;k=np(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=Dd(q+1-d|0)|0;if(!c){xp(a);return}else{Rt(c,d)|0;wp(a,c,-1,-1);fe(c);return}}up(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;if((c|0)!=1)pa(31031,30673,1323,31039);if((pp(f[d>>2]|0)|0)==5){up(a);return}c=kp(f[d>>2]|0)|0;d=zt(c)|0;l=Dd(d+1|0)|0;if(!l){xp(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}wp(a,l,-1,-1);fe(l);return}function dc(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)pa(30665,30673,724,31051);if((pp(f[d>>2]|0)|0)==5){up(a);return}e=kp(f[d>>2]|0)|0;c=Dd((zt(e)|0)+1|0)|0;i=Rt(c,e)|0;if(!i){xp(a);return}d=b[e>>0]|0;if(d<<24>>24){h=1;g=d<<24>>24;while(1){e=e+1|0;if(!(rt(g)|0)){if((h|0)==1)d=ut(g)|0;else d=yt(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;wp(a,i,-1,-1);fe(i);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;if((c|0)!=2)pa(30724,30673,771,31062);if((pp(f[d>>2]|0)|0)==5){up(a);return}l=kp(f[d>>2]|0)|0;j=op(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){rp(a,30967,-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=Dd(j+1-d+(zt(l)|0)|0)|0;if(!c){xp(a);return}e=1;g=c;do{m=g;g=g+1|0;b[m>>0]=32;e=e+1|0;m=Nu(e|0,0,d|0,i|0)|0;n=ba()|0}while(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0));Rt(g,l)|0}else{c=Dd((zt(l)|0)+1|0)|0;d=Rt(c,l)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(c);return}function fc(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)pa(30724,30673,825,31071);if((pp(f[d>>2]|0)|0)==5){up(a);return}g=kp(f[d>>2]|0)|0;j=op(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){rp(a,30967,-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=zt(g)|0;c=Dd(j+1-d+e|0)|0;if(!c){xp(a);return}Rt(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=Nu(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=Dd((zt(g)|0)+1|0)|0;d=Rt(c,g)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(c);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,o=0;if((c|0)!=2)pa(30724,30673,880,31080);if((pp(f[d>>2]|0)|0)==5){up(a);return}l=kp(f[d>>2]|0)|0;m=op(f[d+4>>2]|0)|0;n=ba()|0;if((n|0)<0){rp(a,30967,-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=zt(l)|0;c=Dd(m+1-j+i|0)|0;if(!c){xp(a);return}g=Nu(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=Nu(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}}Rt(d,l)|0;d=d+i|0;o=Nu(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=Nu(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=Dd((zt(l)|0)+1|0)|0;d=Rt(c,l)|0;if(d|0){wp(a,d,-1,-1);break}xp(a);return}while(0);wp(a,c,-1,-1);fe(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,n=0,o=0;if((c|0)!=2)pa(30724,30673,939,31089);if((pp(f[d>>2]|0)|0)!=5?(e=d+4|0,(pp(f[e>>2]|0)|0)!=5):0){c=kp(f[d>>2]|0)|0;m=kp(f[e>>2]|0)|0;n=Dd((zt(c)|0)+1|0)|0;if(!n){xp(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;iu(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;wp(a,n,-1,-1);fe(n);return}up(a);return}function ic(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)pa(30665,30673,1395,31103);a=yp(a,24)|0;if((Qp(f[c>>2]|0)|0)==5)return;b=a+16|0;j=b;j=Nu(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=+mp(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 jc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=yp(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=Nu(c|0,d|0,-1,-1)|0;qp(a,+I(+(e/(+(d>>>0)+4294967296.0*+(ba()|0)))));return}qp(a,0.0);return}function kc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=yp(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=Nu(c|0,d|0,-1,-1)|0;qp(a,e/(+(d>>>0)+4294967296.0*+(ba()|0)));return}qp(a,0.0);return}function lc(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)pa(30665,30673,1418,31116);d=Qp(f[c>>2]|0)|0;if((d|0)==5)return;a=yp(a,64)|0;g=a+56|0;do if(!(f[g>>2]|0)){b=it(1,12)|0;f[g>>2]=b;if((d|0)==1){f[b>>2]=0;f[b+4>>2]=114;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;b=a+16|0;a=b;a=Nu(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]=115;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=Nu(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=+mp(b);c=it(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=ib[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=Nu(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ht(c);return}while(0);h=it(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=op(b)|0;d=ba()|0;c=it(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=ib[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=Nu(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ht(c);return}while(0);h=it(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 mc(a){a=a|0;var b=0,c=0,d=0;b=yp(a,0)|0;if(!b)return;c=b+56|0;d=f[c>>2]|0;if(!d)return;qc(f[d>>2]|0,66,b);rc(f[f[c>>2]>>2]|0);ht(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;tp(a,f[d>>2]|0,f[d+4>>2]|0);return}else{qp(a,+p[b+8>>3]);return}}function nc(a){a=a|0;var b=0,c=0;b=yp(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;wc(a);return}function oc(a){a=a|0;var b=0,c=0;b=yp(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;wc(a);return}function pc(a){a=a|0;var b=0,c=0.0,d=0;b=yp(a,0)|0;if(!b)return;d=b+16|0;d=Tu(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;wc(a);return}function qc(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)qc(d,b,c);d=a+16|0;qb[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 rc(a){a=a|0;var b=0;if(!a)return;ht(f[a+8>>2]|0);b=f[a>>2]|0;if(b|0)rc(b);b=f[a+4>>2]|0;if(b|0)rc(b);ht(a);return}function sc(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 tc(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 vc(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=Nu(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=Nu(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 wc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;d=yp(a,0)|0;if(!d)return;b=d+56|0;c=f[b>>2]|0;if(!c)return;f[d+60>>2]=0;qc(f[c>>2]|0,67,d);rc(f[f[b>>2]>>2]|0);ht(f[b>>2]|0);g=d+48|0;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0)){g=d+40|0;qp(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){tp(a,b,c);return}else{qp(a,(+(b>>>0)+4294967296.0*+(c|0))/(+(e>>>0)+4294967296.0*+(g|0)));return}}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,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=Nu(i|0,j|0,b|0,c|0)|0;c=ba()|0;do if(l<=+(b|0)){j=Ou(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=Nu(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=Nu(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 yc(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[7223]|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;zc(k,c,g);c=f[7223]|0;g=f[7224]|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=Ac(k)|0;else e=f[i>>2]|0;pb[c&255](g,a,e);t=l;return}function zc(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;$u((f[aa>>2]|0)+i|0,c|0,g|0)|0}}else Cc(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=Dc(+p[c>>3])|0;ba()|0;E=34;break}if(k&18){c=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(k&18|0){c=Ec(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=+Fc(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=Nu(z|0,((z|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;c=Nu(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=Nu(c|0,g|0,15,0)|0;ba()|0;v=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](i)|0;if(!c){E=197;break a}else{g=c;n=c;break}}l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){v=f[14051]|0;n=Ou(c|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=v>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){E=197;break a}c=hb[f[28696>>2]&127](i)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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){bv(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}bv(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=31281;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=Gc(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=Nu(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=Hc(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;$u((f[aa>>2]|0)+i|0,U|0,m|0)|0}else Cc(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=Gc(X,1)|0;c=5;E=275}else{m=56244;n=0;E=286}}else{m=56244;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=hb[f[28696>>2]&127](g)|0;f[$>>2]=c;c=(zt(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=56244;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=(zt(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=Gc(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?31267:31272):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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](c)|0;if(!c){E=348;break a}else{g=c;n=c;break}}i=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){E=f[14051]|0;D=Ou(c|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;C=ba()|0;f[13840]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){E=348;break a}c=hb[f[28696>>2]&127](i)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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;$u((f[aa>>2]|0)+i|0,c|0,K|0)|0;c=0;l=0;n=0;break e}else{Cc(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=(zt(c)|0)&1073741823;k=f[_>>2]|0;l=k+i|0;if(l>>>0<(f[$>>2]|0)>>>0){if(i|0){f[_>>2]=l;$u((f[aa>>2]|0)+k|0,c|0,i|0)|0}}else Cc(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{Cc(a,31279,1);break}}while(0);i=f[m+8+(n*72|0)+8>>2]|0;if(!i)c=0;else c=(zt(i)|0)&1073741823;k=f[_>>2]|0;l=k+c|0;if(l>>>0>=(f[$>>2]|0)>>>0){Cc(a,i,c);c=0;l=0;n=0;break e}if(!c){c=0;l=0;n=0}else{f[_>>2]=l;$u((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=Dc(+p[c>>3])|0;c=0;g=ba()|0;E=115;break}if(g&18){i=Ec(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=Ou(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=Dc(+p[c>>3])|0;g=ba()|0;E=101;break}if(!(g&18)){c=n;E=116;break k}i=Ec(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=Ou(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=Nu(w|0,((w|0)<0)<<31>>31|0,10,0)|0;g=Nu(g|0,ba()|0,(w>>>0)/3|0|0,0)|0;C=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](g)|0;if(!i){E=130;break a}else{l=i;z=i;break}}i=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){C=f[14051]|0;B=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[13840]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){E=130;break a}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Vu(u|0,y|0,10,0)|0;g=ba()|0;C=Tu(B|0,g|0,10,0)|0;C=Ou(u|0,y|0,C|0,ba()|0)|0;ba()|0;g=Wu(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[31251+(C|1)>>0]|0;g=g+-1|0;b[g>>0]=b[31251+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=Vu(k|0,i|0,n|0,0)|0;B=i;i=ba()|0;A=Tu(k|0,i|0,n|0,0)|0;A=Ou(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;bv(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=31260+(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=Nu(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=Hc(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){Cc(a,g,l);break}if(!l)break;f[_>>2]=i;$u((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;$u((f[aa>>2]|0)+k|0,g|0,l|0)|0}}else Cc(a,g,l);H=Nu(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=Hc(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){Cc(a,g,l);break}if(l|0){f[_>>2]=i;$u((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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{H=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{Cc(a,31249,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 Ac(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=Nu(g|0,0,-1,-1)|0;d=ba()|0;if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;d=25;break}e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[14051]|0;d=Ou(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;$u(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 Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Nu(c|0,d|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](c)|0;if(!d)break;return d|0}e=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){g=f[14051]|0;c=Ou(d|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&c>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c|0){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0<=(f[14060]|0)>>>0){g=c;return g|0}f[14060]=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 Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=Hc(a,c)|0;if((c|0)<=0)return;d=a+16|0;$u((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 Dc(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 Ec(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;hf(c,e,b,a)|0;b=e;c=f[b>>2]|0;aa(f[b+4>>2]|0);t=d;return c|0}function Fc(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;gf(c,d,b,a)|0;t=e;return +(+p[d>>3])}function Gc(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(!(bf(a,(i|0)>1?i:1,1)|0)){bv((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))Pi(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(!(bf(a,(i|0)>1?i:1,1)|0)){bv((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(!(ef(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)ef(a)|0}else{Ri(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 Hc(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=Nu(l|0,0,u|0,((u|0)<0)<<31>>31|0)|0;s=ba()|0;l=Nu(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Kc()|0)){e=Lc(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=Jc(g,i,l,0)|0;k=41;break}e=Jc(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=Bc(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)$u(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=hb[f[28696>>2]&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(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=hb[f[28696>>2]&127](b)|0;a=f[a+480>>2]|0;f[a>>2]=(f[a>>2]|0)+b;return}function Jc(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=Bc(a,d,e)|0;if(!g){m=0;return m|0}$u(g|0,c|0,j[a+276>>1]|0)|0;if(!c){m=g;return m|0}if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);m=g;return m|0}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);m=g;return m|0}}if((Kc()|0)==0?(h=Lc(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 Kc(){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[7216]|0){o=0;t=p;return o|0}f[7218]=1;if(!(f[7219]|0)){if(!(f[7171]|0)){f[a>>2]=28976;Mc(4,a)|0};f[13836]=0;f[13837]=0;f[13838]=0;f[13839]=0;f[13840]=0;f[13841]=0;f[13836]=8;if((f[7210]|0)==0|(f[7211]|0)<512|(f[7212]|0)<1){f[7210]=0;f[7211]=0}a=hb[f[28704>>2]&127](f[7178]|0)|0;if(a|0){f[13836]=0;f[13837]=0;f[13838]=0;f[13839]=0;f[13840]=0;f[13841]=0;o=a;t=p;return o|0}}f[7219]=1;if(!(f[7222]|0))f[7222]=8;c=(f[7221]|0)+1|0;f[7221]=c;if(!(f[7217]|f[7216])){f[7217]=1;a=55372;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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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=(zt(k)|0)&1073741823;d=b[k>>0]|0;a=55372+(((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[7220]|0)){a=f[7190]|0;if(!a){f[n>>2]=29008;Mc(18,n)|0;a=f[7190]|0}a=hb[a&127](f[7189]|0)|0;if(!a)o=94}else o=94;g:do if((o|0)==94){f[7220]=1;if(!(Kc()|0)){do if(!(f[7160]|0)){a=hb[f[28684>>2]&127](10)|0;if(!a){a=7;break g}}else{a=hb[f[28700>>2]&127](10)|0;if((f[14058]|0)>>>0<10)f[14058]=10;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){q=f[14051]|0;o=Ou(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=q>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){a=7;break g}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=c}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{q=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a)}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4704){a=f[1179]|0;f[13866]=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[13866]=4704}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4792){a=f[1201]|0;f[13866]=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=55464}f[a>>2]=4792}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4880){a=f[1223]|0;f[13866]=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=55464}f[a>>2]=4880}if(!(Kc()|0)){a=f[13866]|0;do if((a|0)==4968){a=f[1245]|0;f[13866]=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=55464}f[a>>2]=4968}a=f[7210]|0;if(f[13880]|0){i=(a|0)==0;j=i?0:f[7212]|0;c=(j|0)==0;i=i|c?0:f[7211]&-8;f[13883]=i;f[13890]=j;f[13884]=j;if((j|0)>90)d=10;else d=((j|0)/10|0)+1|0;f[13885]=d;f[13886]=a;f[13889]=0;f[13891]=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[13889]=a+e;a=a+q|0}f[13887]=a}f[7216]=1;a=0}else a=7}while(0);f[7217]=0;c=f[7221]|0}else a=0;f[7221]=c+-1;if((c|0)>=2){q=a;t=p;return q|0}f[7222]=0;q=a;t=p;return q|0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!a){d=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](b)|0;return d|0}a=hb[f[28700>>2]&127](b)|0;if((f[14058]|0)>>>0>>0)f[14058]=b;b=55352;c=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&c>>>0>0){d=f[14051]|0;b=Ou(c|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&b>>>0<=d>>>0)&1}b=hb[f[28684>>2]&127](a)|0;if(!b){d=0;return d|0}c=hb[f[28696>>2]&127](b)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0){d=b;return d|0}f[14060]=c;d=b;return d|0}if((b|0)==0&(c|0)==0)if(!(f[7160]|0)){nb[f[28688>>2]&127](a);d=0;return d|0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);d=0;return d|0}if(c>>>0>0|(c|0)==0&b>>>0>2147483391){d=0;return d|0}d=hb[f[28696>>2]&127](a)|0;c=hb[f[28700>>2]&127](b)|0;if((c|0)==(d|0)){d=a;return d|0}if(!(f[7160]|0)){d=ib[f[28692>>2]&255](a,c)|0;return d|0}if((f[14058]|0)>>>0>>0)f[14058]=b;b=ib[f[28692>>2]&255](a,c)|0;e=55352;g=f[e+4>>2]|0;if((b|0)==0&((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0))b=ib[f[28692>>2]&255](a,c)|0;if(!b){g=0;return g|0}c=(hb[f[28696>>2]&127](b)|0)-d|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0<=(f[14055]|0)>>>0){g=b;return g|0}f[14055]=c;g=b;return g|0}function Mc(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[7216]|0){f[d>>2]=31157;f[d+4>>2]=153095;f[d+8>>2]=31184;yc(21,31132,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[7171]=f[a>>2];f[7172]=f[a+4>>2];f[7173]=f[a+8>>2];f[7174]=f[a+12>>2];f[7175]=f[a+16>>2];f[7176]=f[a+20>>2];f[7177]=f[a+24>>2];f[7178]=f[a+28>>2];a=0;break}case 5:{if(!(f[7171]|0)){f[e>>2]=28976;Mc(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[7171];f[a+4>>2]=f[7172];f[a+8>>2]=f[7173];f[a+12>>2]=f[7174];f[a+16>>2]=f[7175];f[a+20>>2]=f[7176];f[a+24>>2]=f[7177];f[a+28>>2]=f[7178];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[7160]=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[7165]=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[7210]=a;a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[7211]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7212]=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=28752;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[7190]|0)){f[g>>2]=29008;Mc(18,g)|0}d=(f[c>>2]|0)+(4-1)&~(4-1);a=f[d>>2]|0;f[c>>2]=d+4;c=28752;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[7168]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7169]=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[7223]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[7224]=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[7163]=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[7164]=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[7206]=0;f[7207]=0;f[7208]=0;f[7209]=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[7215]=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[7170]=a;a=0;break}default:a=1}while(0);b=a;t=h;return b|0}function Nc(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[13892]|0;if((z|0)!=(Et()|0)?(z=Et()|0,f[13892]=z,(Kc()|0)==0):0)b[56247]=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=wd(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[13893]|0)!=0?(ib[f[5108>>2]&255](c,H)|0)==0:0)?(i=f[13893]|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(Kc()|0){e=7;t=I;return e|0}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](12)|0;if(!i)i=7;else{m=-1;break}t=I;return i|0}i=hb[f[28700>>2]&127](12)|0;if((f[14058]|0)>>>0<12)f[14058]=12;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){v=f[14051]|0;u=Ou(m|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&u>>>0<=v>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){e=7;t=I;return e|0}m=hb[f[28696>>2]&127](i)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=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+(((zt(v)|0)&1073741823)+1)|0,(b[l>>0]|0)!=0):0){while(1){s=wt(l,31728)|0;l=l+(((zt(l)|0)&1073741823)+1)|0;if(!s)break;l=l+(((zt(l)|0)&1073741823)+1)|0;if(!(b[l>>0]|0)){p=0;n=0;m=0;break e}}if(!(ib[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=((zt(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);$u(D|0,v|0,l|0)|0;b[D+l>>0]=0;if(!(ib[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=Ed(v,q,m)|0;do if((l|0)<0){if((B?(s=pt()|0,(f[s>>2]|0)==13):0)?(ib[f[5084>>2]&255](v,0)|0)!=0:0)i=1544;else{s=pt()|0;if(u&(f[s>>2]|0)!=21?(y=Ed(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]=31620;f[w+4>>2]=38389;f[w+8>>2]=31184;yc(14,31132,w);H=pt()|0;H=f[H>>2]|0;j=Gt(H)|0;f[x>>2]=38389;f[x+4>>2]=H;f[x+8>>2]=31360;f[x+12>>2]=(v|0)==0?56244:v;f[x+16>>2]=j;yc(14,31323,x);j=(i|0)==0?14:i;i=e+28|0;break d}else m=g;while(0);if((i|0)!=0?(gb[f[5312>>2]&127]()|0)==0:0){jb[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)hb[f[5252>>2]&127](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+(((zt(c)|0)&1073741823)+1)|0,(b[j>>0]|0)!=0):0){while(1){B=wt(j,31735)|0;j=j+(((zt(j)|0)&1073741823)+1)|0;if(!B)break;j=j+(((zt(j)|0)&1073741823)+1)|0;if(!(b[j>>0]|0)){C=82;break h}}if((Fd(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(!(wt(f[a+16>>2]|0,31313)|0))d[k>>1]=d[k>>1]|1;i:do if(!(l&128)){i=ib[f[f[a+20>>2]>>2]&255](c,e)|0;if((i|0)!=29224){if((i|0)!=29072)break;i=(zt(c)|0)+6|0;j=vd(i,((i|0)<0)<<31>>31)|0;if(j|0){f[E>>2]=c;td(i,j,31740,E)|0;f[e+24>>2]=j;i=29072;break}f[e+24>>2]=0;f[e+20>>2]=0;if((o|0)<=-1){j=7;i=p;break g}if(!(hb[f[5072>>2]&127](o)|0)){j=7;i=p;break g}i=f[n>>2]|0;e=pt()|0;e=f[e>>2]|0;j=Gt(e)|0;f[F>>2]=37976;f[F+4>>2]=e;f[F+8>>2]=31354;f[F+12>>2]=(i|0)==0?56244:i;f[F+16>>2]=j;yc(4106,31323,F);j=7;i=p;break g}l=e+8|0;j:do if(!(ib[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[13893]|0;k:do if(!i)C=93;else{while(1){if(!(Kt(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(Kc()|0){j=7;break}do if(!(f[7160]|0)){i=hb[f[28684>>2]&127](56)|0;if(!i){j=7;break j}}else{i=hb[f[28700>>2]&127](56)|0;if((f[14058]|0)>>>0<56)f[14058]=56;k=55352;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){F=f[14051]|0;E=Ou(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&E>>>0<=F>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){j=7;break j}j=hb[f[28696>>2]&127](i)|0;j=(f[14051]|0)+j|0;f[14051]=j;if(j>>>0>(f[14055]|0)>>>0)f[14055]=j;j=(f[14054]|0)+1|0;f[14054]=j;if(j>>>0<=(f[14060]|0)>>>0)break;f[14060]=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[7161]|0)f[j>>2]=8;f[i+36>>2]=1;j=f[13893]|0;f[i+44>>2]=j;f[i+48>>2]=0;if(j|0)f[j+48>>2]=i;f[13893]=i}f[l>>2]=i;i=29224;break i}else{j=pt()|0;j=f[j>>2]|0;f[e+20>>2]=j;j=(j|0)==75?22:10}while(0);if(hb[f[5072>>2]&127](o)|0){if(!e)i=0;else i=f[n>>2]|0;F=pt()|0;F=f[F>>2]|0;H=Gt(F)|0;f[G>>2]=37891;f[G+4>>2]=F;f[G+8>>2]=31354;f[G+12>>2]=(i|0)==0?56244:i;f[G+16>>2]=H;yc(4106,31323,G)}f[e+20>>2]=0;i=p;break g}else i=29148;while(0);f[e+20>>2]=0;f[e>>2]=i;Gd(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[7160]|0)){nb[f[28688>>2]&127](i);e=j;t=I;return e|0}else{e=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);e=j;t=I;return e|0}return 0}function Oc(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((hb[f[5252>>2]&127](b)|0)==-1){g=pt()|0;if((f[g>>2]|0)==2){g=5898;t=h;return g|0}e=pt()|0;e=f[e>>2]|0;g=Gt(e)|0;f[a>>2]=38519;f[a+4>>2]=e;f[a+8>>2]=31464;f[a+12>>2]=(b|0)==0?56244:b;f[a+16>>2]=g;yc(2570,31323,a);g=2570;t=h;return g|0}if(!(c&1)){g=0;t=h;return g|0}if(!(ib[f[5264>>2]&255](b,e)|0)){if(!(uu(f[e>>2]|0)|0))a=0;else{c=pt()|0;c=f[c>>2]|0;a=Gt(c)|0;f[d>>2]=38529;f[d+4>>2]=c;f[d+8>>2]=31722;f[d+12>>2]=(b|0)==0?56244:b;f[d+16>>2]=a;yc(1290,31323,d);a=1290}if(hb[f[5072>>2]&127](f[e>>2]|0)|0){c=pt()|0;c=f[c>>2]|0;e=Gt(c)|0;f[g>>2]=38531;f[g+4>>2]=c;f[g+8>>2]=31354;f[g+12>>2]=56244;f[g+16>>2]=e;yc(4106,31323,g)}}else a=0;g=a;t=h;return g|0}function Pc(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=(ib[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=(ib[f[5084>>2]&255](b,6)|0)==0&1;f[d>>2]=c;t=e;return 0}return 0}function Qc(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(!(ib[f[5384>>2]&255](c,l)|0))if((f[m>>2]&61440|0)==40960){if(!a){a=Dd(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=jb[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=(zt(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)){av(a+h|0,a|0,g+1|0)|0;$u(a|0,c|0,h|0)|0;g=i;c=0;break}else{f[v>>2]=31620;f[v+4>>2]=38666;f[v+8>>2]=31184;yc(14,31132,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=pt()|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=(zt(k)|0)&1073741823;if((b[k>>0]|0)==47)c=0;else{if(!(ib[f[5096>>2]&255](e,o)|0)){D=27;break}if(p)c=0;else c=(zt(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;td(d-c|0,e+c|0,31564,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]=31620;f[q+4>>2]=38643;f[q+8>>2]=31184;yc(14,31132,q);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[w>>2]=38643;f[w+4>>2]=e;f[w+8>>2]=31552;f[w+12>>2]=(c|0)==0?56244:c;f[w+16>>2]=B;yc(14,31323,w);c=14;D=36}else if((D|0)==9){f[r>>2]=31620;f[r+4>>2]=38654;f[r+8>>2]=31184;yc(14,31132,r);c=14;D=34}else if((D|0)==11){f[s>>2]=31620;f[s+4>>2]=38660;f[s+8>>2]=31184;yc(14,31132,s);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[u>>2]=38660;f[u+4>>2]=e;f[u+8>>2]=31543;f[u+12>>2]=(c|0)==0?56244:c;f[u+16>>2]=B;yc(14,31323,u);c=14;D=34}else if((D|0)==27){f[x>>2]=31620;f[x+4>>2]=38586;f[x+8>>2]=31184;yc(14,31132,x);e=pt()|0;e=f[e>>2]|0;B=Gt(e)|0;f[y>>2]=38586;f[y+4>>2]=e;f[y+8>>2]=31372;f[y+12>>2]=c?56244:k;f[y+16>>2]=B;yc(14,31323,y);c=14;D=34}else if((D|0)==32){b[e+c>>0]=0;f[z>>2]=31620;f[z+4>>2]=38595;f[z+8>>2]=31184;yc(14,31132,z);c=14;D=34}if(!a){t=C;return c|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);t=C;return c|0}else{D=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);t=C;return c|0}return 0}function Rc(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;bv(d|0,0,c|0)|0;e=Et()|0;f[13892]=e;while(1){e=jb[f[5060>>2]&127](31709,524288,420)|0;if((e|0)<0){e=pt()|0;if((f[e>>2]|0)!=4){j=8;break}}else{if((e|0)>2)break;hb[f[5072>>2]&127](e)|0;f[g>>2]=31709;f[g+4>>2]=e;yc(28,31567,g);if((jb[f[5060>>2]&127](31610,0,0)|0)<0){j=8;break}}}if((j|0)==8){ab(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[13892]|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((jb[f[5156>>2]&127](e,d,c)|0)>=0)break;j=pt()|0}while((f[j>>2]|0)==4);if(!(hb[f[5072>>2]&127](e)|0)){j=c;t=i;return j|0}d=pt()|0;d=f[d>>2]|0;j=Gt(d)|0;f[h>>2]=38790;f[h+4>>2]=d;f[h+8>>2]=31354;f[h+12>>2]=56244;f[h+16>>2]=j;yc(4106,31323,h);j=c;t=i;return j|0}function Sc(a,b){a=a|0;b=b|0;b=(b+999999|0)/1e6|0;vu(b)|0;return b*1e6|0}function Tc(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;Ua(d|0,0)|0;g=f[d>>2]|0;g=Tu(g|0,((g|0)<0)<<31>>31|0,1e3,0)|0;g=Nu(g|0,ba()|0,1045635584,49096)|0;e=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=Nu(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 Uc(a,b,c){a=a|0;b=b|0;c=c|0;c=pt()|0;return f[c>>2]|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a=t;t=t+16|0;d=a;Ua(d|0,0)|0;e=f[d>>2]|0;e=Tu(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;e=Nu(e|0,ba()|0,1045635584,49096)|0;c=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=Nu(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 Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b|0){do if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(!(wt(b,f[1312]|0)|0))d=16;else{if(!(wt(b,f[1315]|0)|0)){d=17;break}if(!(wt(b,f[1318]|0)|0)){d=18;break}if(!(wt(b,f[1321]|0)|0)){d=19;break}if(!(wt(b,f[1324]|0)|0)){d=20;break}if(!(wt(b,f[1327]|0)|0)){d=21;break}if(!(wt(b,f[1330]|0)|0)){d=22;break}if(!(wt(b,f[1333]|0)|0)){d=23;break}if(!(wt(b,f[1336]|0)|0)){d=24;break}if(!(wt(b,f[1339]|0)|0)){d=25;break}if(!(wt(b,f[1342]|0)|0)){d=26;break}if(!(wt(b,f[1345]|0)|0)){d=27;break}if(!(wt(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 Xc(a,b){a=a|0;b=b|0;do if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(wt(b,f[1312]|0)|0)if(wt(b,f[1315]|0)|0)if(!(wt(b,f[1318]|0)|0))a=18;else{if(!(wt(b,f[1321]|0)|0)){a=19;break}if(!(wt(b,f[1324]|0)|0)){a=20;break}if(!(wt(b,f[1327]|0)|0)){a=21;break}if(!(wt(b,f[1330]|0)|0)){a=22;break}if(!(wt(b,f[1333]|0)|0)){a=23;break}if(!(wt(b,f[1336]|0)|0)){a=24;break}if(!(wt(b,f[1339]|0)|0)){a=25;break}if(!(wt(b,f[1342]|0)|0)){a=26;break}if(!(wt(b,f[1345]|0)|0)){a=27;break}if(!(wt(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 Yc(a,b){a=a|0;b=b|0;var c=0;do if(b)if(wt(b,f[1264]|0)|0)if(wt(b,f[1267]|0)|0)if(wt(b,f[1270]|0)|0)if(wt(b,f[1273]|0)|0)if(wt(b,f[1276]|0)|0)if(wt(b,f[1279]|0)|0)if(wt(b,f[1282]|0)|0)if(wt(b,f[1285]|0)|0)if(wt(b,f[1288]|0)|0)if(wt(b,f[1291]|0)|0)if(wt(b,f[1294]|0)|0)if(wt(b,f[1297]|0)|0)if(wt(b,f[1300]|0)|0)if(wt(b,f[1303]|0)|0)if(wt(b,f[1306]|0)|0)if(wt(b,f[1309]|0)|0)if(wt(b,f[1312]|0)|0)if(!(wt(b,f[1315]|0)|0))a=17;else{if(!(wt(b,f[1318]|0)|0)){a=18;break}if(!(wt(b,f[1321]|0)|0)){a=19;break}if(!(wt(b,f[1324]|0)|0)){a=20;break}if(!(wt(b,f[1327]|0)|0)){a=21;break}if(!(wt(b,f[1330]|0)|0)){a=22;break}if(!(wt(b,f[1333]|0)|0)){a=23;break}if(!(wt(b,f[1336]|0)|0)){a=24;break}if(!(wt(b,f[1339]|0)|0)){a=25;break}if(!(wt(b,f[1342]|0)|0)){a=26;break}if(!(wt(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 Zc(a,b){a=a|0;b=b|0;return 29072}function _c(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((hb[f[5288>>2]&127](f[d>>2]|0)|0)>=0){b[c>>0]=0;break}c=pt()|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[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+12|0;d=f[c>>2]|0;if((d|0)>-1){if(hb[f[5072>>2]&127](d)|0){h=f[a+32>>2]|0;i=pt()|0;i=f[i>>2]|0;d=Gt(i)|0;f[e>>2]=34408;f[e+4>>2]=i;f[e+8>>2]=31354;f[e+12>>2]=(h|0)==0?56244:h;f[e+16>>2]=d;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 $c(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((su(f[l>>2]|0,d,0)|0)<0){e=3;break}j=jb[f[5156>>2]&127](f[l>>2]|0,i,h)|0;if((h|0)==(j|0)){e=10;break}if((j|0)<0){k=pt()|0;if((f[k>>2]|0)==4)k=1;else{e=7;break}}else{d=Nu(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=pt()|0;f[a+20>>2]=f[g>>2];g=-1}else if((e|0)==7){h=pt()|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;bv(b+g|0,0,c-g|0)|0;c=522;return c|0}function ad(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((su(c,d,0)|0)<0){e=-1;b=6;break a}e=jb[f[5192>>2]&127](c,b,g)|0;if((e|0)>=0)break;k=pt()|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=Nu(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=pt()|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 bd(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=Nu(b|0,c|0,-1,-1)|0;c=Nu(c|0,ba()|0,e|0,g|0)|0;d=ba()|0;if((e|0)>0){b=Uu(c|0,d|0,e|0,g|0)|0;b=Ou(c|0,d|0,b|0,ba()|0)|0;ba()|0}c=f[a+12>>2]|0;do{d=ib[f[5132>>2]&255](c,b)|0;if((d|0)>=0){i=6;break}g=pt()|0}while((f[g>>2]|0)==4);if((i|0)==6?(d|0)==0:0){i=0;t=j;return i|0}g=pt()|0;f[a+20>>2]=f[g>>2];a=f[a+32>>2]|0;g=pt()|0;g=f[g>>2]|0;i=Gt(g)|0;f[h>>2]=36097;f[h+4>>2]=g;f[h+8>>2]=31390;f[h+12>>2]=(a|0)==0?56244:a;f[h+16>>2]=i;yc(1546,31323,h);i=1546;t=j;return i|0}function cd(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(uu(f[a+12>>2]|0)|0){e=pt()|0;f[a+20>>2]=f[e>>2];e=f[a+32>>2]|0;a=pt()|0;a=f[a>>2]|0;g=Gt(a)|0;f[b>>2]=36052;f[b+4>>2]=a;f[b+8>>2]=31698;f[b+12>>2]=(e|0)==0?56244:e;f[b+16>>2]=g;yc(1034,31323,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((ib[f[5264>>2]&255](f[b>>2]|0,e)|0)==0?(uu(f[e>>2]|0)|0,hb[f[5072>>2]&127](f[e>>2]|0)|0):0){a=f[b>>2]|0;b=pt()|0;b=f[b>>2]|0;e=Gt(b)|0;f[g>>2]=36066;f[g+4>>2]=b;f[g+8>>2]=31354;f[g+12>>2]=(a|0)==0?56244:a;f[g+16>>2]=e;yc(4106,31323,g)}d[c>>1]=d[c>>1]&-9;g=0;t=h;return g|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=t;t=t+80|0;c=d;if(!(ib[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=pt()|0;f[a+20>>2]=f[e>>2];e=1802;t=d;return e|0}return 0}function ed(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;db(d|0,0)|0;a=0;return a|0}d=ib[f[5276>>2]&255](d,511)|0;if((d|0)>=0){b[e>>0]=c;a=d;return a|0}c=pt()|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 fd(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((hb[f[5288>>2]&127](d)|0)>=0){b[e>>0]=0;a=0;return a|0}c=pt()|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 gd(a,b){a=a|0;b=b|0;a=(ib[f[5084>>2]&255](f[a+24>>2]|0,0)|0)==0&1;f[b>>2]=a;return 0}function hd(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(!(ib[f[5120>>2]&255](f[o>>2]|0,m)|0)){c=f[g>>2]|0;i=((c|0)<0)<<31>>31;b=Nu(b|0,e|0,-1,-1)|0;b=Nu(b|0,ba()|0,c|0,i|0)|0;k=ba()|0;i=Uu(b|0,k|0,c|0,i|0)|0;i=Ou(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=Nu(i|0,k|0,-1,-1)|0,s=ba()|0,u=Nu(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((su(e,g,0)|0)<0)break c;c=jb[f[5192>>2]&127](e,56244,1)|0;if((c|0)>=0)break;n=pt()|0;if((f[n>>2]|0)!=4)break c}b=Nu(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=pt()|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=ud(31564,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=vd(e,((e|0)<0)<<31>>31)|0;if(!e){a=0;t=w;return a|0}wd(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(!(ib[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 id(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 jd(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 kd(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,(jb[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,(jb[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,(jb[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 ld(a){a=a|0;return}function md(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[7160]|0))nb[f[28688>>2]&127](e);else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[5252>>2]&127](f[g+8>>2]|0)|0;pd(a);return 0}function nd(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 od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function pd(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=gb[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[7160]|0)){nb[f[28688>>2]&127](k);break}else{o=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else ib[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[7160]|0)){nb[f[28688>>2]&127](b);break}else{o=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);c=l+12|0;b=f[c>>2]|0;if((b|0)>-1){if(hb[f[5072>>2]&127](b)|0){if(!a)b=0;else b=f[a+32>>2]|0;a=pt()|0;a=f[a>>2]|0;o=Gt(a)|0;f[m>>2]=36721;f[m+4>>2]=a;f[m+8>>2]=31354;f[m+12>>2]=(b|0)==0?56244:b;f[m+16>>2]=o;yc(4106,31323,m)}f[c>>2]=-1}f[(f[l>>2]|0)+40>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);t=n;return}else{o=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);t=n;return}}function qd(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=Lt(a,b,e)|0;t=d;return c|0}function rd(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;td(512,e,31564,k)|0;a=zt(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=jb[f[5060>>2]&127](e,524288,420)|0;if((a|0)<0){k=pt()|0;if((f[k>>2]|0)!=4){i=14;break}}else{if((a|0)>2){i=13;break}hb[f[5072>>2]&127](a)|0;f[d>>2]=e;f[d+4>>2]=a;yc(28,31567,d);if((jb[f[5060>>2]&127](31610,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]=31620;f[h+4>>2]=36011;f[h+8>>2]=31184;yc(14,31132,h);i=pt()|0;i=f[i>>2]|0;k=Gt(i)|0;f[g>>2]=36011;f[g+4>>2]=i;f[g+8>>2]=31471;f[g+12>>2]=e;f[g+16>>2]=k;yc(14,31323,g);k=14;t=j;return k|0}return 0}function sd(){return $a(30)|0}function td(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;zc(h,e,i);b[c+(f[h+16>>2]|0)>>0]=0;t=j;return c|0}function ud(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(Kc()|0){j=0;t=k;return j|0}f[h>>2]=c;do if(!(Kc()|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;zc(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=Ac(j)|0;break}c=f[i>>2]|0}else c=0;while(0);j=c;t=k;return j|0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0;c=(Kc()|0)!=0;b=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](a)|0;return d|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;a=55352;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[14051]|0;a=Ou(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=hb[f[28684>>2]&127](c)|0;if(!a){d=0;return d|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0<=(f[14060]|0)>>>0){d=a;return d|0}f[14060]=b;d=a;return d|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,l=0,m=0;k=t;t=t+112|0;j=k+80|0;i=k;b[c>>0]=0;d=f[13842]|0;if(!(f[1352]|0)){g=Ta(31637)|0;f[1352]=g}if(!(f[1353]|0)){g=Ta(31651)|0;f[1353]=g}e=i+12|0;g=d;d=0;while(1){if(((g|0?(ib[f[5108>>2]&255](g,i)|0)==0:0)?(f[e>>2]&61440|0)==16384:0)?(ib[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){xd(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;td(a,c,31658,j)|0;if(d>>>0>10|(b[e>>0]|0)!=0){d=1;h=16;break}if(!(ib[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 xd(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(Kc()|0){t=i;return}if((a|0)<1|(c|0)==0){b[56247]=0;t=i;return}if(!(b[56247]|0)){b[56249]=0;b[56248]=0;d=(Kc()|0)==0;d=d?f[13866]|0:0;jb[f[d+56>>2]&127](d,256,g)|0;d=0;do{b[56250+d>>0]=d;d=d+1|0}while((d|0)!=256);d=0;e=b[56249]|0;do{j=56250+d|0;m=b[j>>0]|0;l=(h[g+d>>0]|0)+(m&255)+(e&255)|0;e=l&255;l=56250+(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[56249]=e;b[56247]=1}while(1){l=(b[56248]|0)+1<<24>>24;b[56248]=l;l=56250+(l&255)|0;j=b[l>>0]|0;m=j&255;k=(h[56249]|0)+m|0;b[56249]=k;k=56250+(k&255)|0;b[l>>0]=b[k>>0]|0;b[k>>0]=j;b[c>>0]=b[56250+((h[l>>0]|0)+m&255)>>0]|0;a=a+-1|0;if(!a)break;else c=c+1|0}t=i;return}function yd(a,b){a=a|0;b=b|0;return 29148}function zd(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(hb[f[5072>>2]&127](c)|0){g=f[a+32>>2]|0;h=pt()|0;h=f[h>>2]|0;c=Gt(h)|0;f[d>>2]=34408;f[d+4>>2]=h;f[d+8>>2]=31354;f[d+12>>2]=(g|0)==0?56244:g;f[d+16>>2]=c;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ad(a,b){a=a|0;b=b|0;return 0}function Bd(a,b){a=a|0;b=b|0;return 0}function Cd(a,b){a=a|0;b=b|0;f[b>>2]=0;return 0}function Dd(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1|(Kc()|0)!=0){c=0;return c|0}c=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](a)|0;return c|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;b=55352;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){d=f[14051]|0;b=Ou(a|0,b|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&b>>>0<=d>>>0)&1}b=hb[f[28684>>2]&127](c)|0;if(!b){d=0;return d|0}a=hb[f[28696>>2]&127](b)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0<=(f[14060]|0)>>>0){d=b;return d|0}f[14060]=a;d=b;return d|0}function Ed(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=jb[f[5060>>2]&127](a,g,e)|0;if((d|0)<0){l=pt()|0;if((f[l>>2]|0)!=4){a=13;break}}else{if((d|0)>2){a=7;break}hb[f[5072>>2]&127](d)|0;f[h>>2]=a;f[h+4>>2]=d;yc(28,31567,h);if((jb[f[5060>>2]&127](31610,b,c)|0)<0){d=-1;a=13;break}}}if((a|0)==7){if(!j){l=d;t=k;return l|0}if(((ib[f[5120>>2]&255](d,i)|0)==0?(f[i+36>>2]|0)==0:0)?(f[i+12>>2]&511|0)!=(c|0):0)ib[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 Fd(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;Nd(a,e)|0;d=f[e>>2]&255}else{g=zt(a)|0;e=(g&1073741823|0)==2;b:do if(!c){if(e){if(!(Od(5440,a,2)|0)){d=0;break}if(!(Od(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Od(5442,a,3)|0)){d=2;break b}if(!(Od(5449,a,3)|0)){d=4;break b}else break a}case 5:{if(!(Od(5444,a,5)|0)){d=3;break b}if(!(Od(5455,a,5)|0)){d=6;break b}else break a}case 4:{if(!(Od(5452,a,4)|0)){d=5;break b}if(!(Od(5460,a,4)|0)){d=7;break b}else break a}default:break a}}else{if(e){if(!(Od(5440,a,2)|0)){d=0;break}if(!(Od(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Od(5442,a,3)|0)){d=2;break b}if(!(Od(5449,a,3)|0)){d=4;break b}else break a}case 5:if(!(Od(5444,a,5)|0)){d=3;break b}else break a;case 4:if(!(Od(5452,a,4)|0)){d=5;break b}else break a;default:break a}}while(0);d=b[31876+d>>0]|0}while(0);t=i;return d|0}function Gd(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(ib[f[5120>>2]&255](f[a+12>>2]|0,b)|0){f[c>>2]=f[a+32>>2];yc(28,31748,c);t=j;return}switch(f[b+16>>2]|0){case 0:{f[e>>2]=f[a+32>>2];yc(28,31772,e);t=j;return}case 1:{c=a+8|0;if(!(f[c>>2]|0)){t=j;return}b=a+32|0;if(!(ib[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];yc(28,31828,i);t=j;return}default:{f[g>>2]=f[a+32>>2];yc(28,31801,g);t=j;return}}}function Hd(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;Gd(a);Jd(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(hb[f[5072>>2]&127](f[c>>2]|0)|0){l=f[e>>2]|0;m=pt()|0;m=f[m>>2]|0;k=Gt(m)|0;f[g>>2]=33628;f[g+4>>2]=m;f[g+8>>2]=31354;f[g+12>>2]=(l|0)==0?56244:l;f[g+16>>2]=k;yc(4106,31323,g)}if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13893]=b;else{f[d+44>>2]=b;b=f[c>>2]|0}if(b|0)f[b+48>>2]=d;if(!(f[7160]|0)){nb[f[28688>>2]&127](h);break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(hb[f[5072>>2]&127](c)|0){l=f[a+32>>2]|0;k=pt()|0;k=f[k>>2]|0;m=Gt(k)|0;f[i>>2]=34408;f[i+4>>2]=k;f[i+8>>2]=31354;f[i+12>>2]=(l|0)==0?56244:l;f[i+16>>2]=m;yc(4106,31323,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[7160]|0)){nb[f[28688>>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=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Id(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=jb[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=jb[A&127](i,13,h)|0;A=16}while(0);if((A|0)==16?i|0:0)A=17;if((A|0)==17){g=pt()|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=jb[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=jb[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=pt()|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=jb[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=jb[A&127](h,13,q)|0;A=37}while(0);if((A|0)==37)if((g|0)==0&(h|0)!=0){e=pt()|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=jb[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=jb[A&127](v,13,r)|0;A=54}while(0);if((A|0)==54?(v|0)==0:0){A=58;break}g=pt()|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 Jd(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=jb[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=jb[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=pt()|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=jb[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=jb[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=pt()|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=jb[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=jb[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=pt()|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(hb[f[5072>>2]&127](f[g>>2]|0)|0){a=f[h>>2]|0;x=pt()|0;x=f[x>>2]|0;B=Gt(x)|0;f[z>>2]=33628;f[z+4>>2]=x;f[z+8>>2]=31354;f[z+12>>2]=(a|0)==0?56244:a;f[z+16>>2]=B;yc(4106,31323,z)}if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{B=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Kd(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(!(jb[k&127](e,12,g)|0)){e=0;a=(d[i>>1]|0)!=2&1}else{e=pt()|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 Ld(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=gb[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(Kc()|0){h=7;t=E;return h|0}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](16)|0;if(!i){h=7;t=E;return h|0}else u=i}else{i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){u=f[14051]|0;q=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=u>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){h=7;t=E;return h|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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(!(ib[f[5120>>2]&255](f[a+12>>2]|0,y)|0)){m=zt(l)|0;i=m+42|0;k=vd(i,0)|0;if(!k)i=7;else{bv(k|0,0,i|0)|0;q=k+36|0;f[k+8>>2]=q;f[r>>2]=l;td(m+6|0,q,31856,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[7161]|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+(((zt(i)|0)&1073741823)+1)|0,(b[s>>0]|0)!=0):0){i=s;while(1){s=wt(i,31863)|0;i=i+(((zt(i)|0)&1073741823)+1)|0;if(!s)break;i=i+(((zt(i)|0)&1073741823)+1)|0;if(!(b[i>>0]|0)){B=26;break c}}if((Fd(i,1,0)|0)<<24>>24)m=f[l>>2]|0;else B=26}else B=26;while(0);if((B|0)==26){m=Ed(q,66,f[y+12>>2]&511)|0;f[l>>2]=m}do if((m|0)<0){m=Ed(q,0,f[y+12>>2]&511)|0;f[l>>2]=m;if((m|0)<0){f[v>>2]=31620;f[v+4>>2]=36901;f[v+8>>2]=31184;yc(14,31132,v);h=pt()|0;h=f[h>>2]|0;i=Gt(h)|0;f[w>>2]=36901;f[w+4>>2]=h;f[w+8>>2]=31360;f[w+12>>2]=q;f[w+16>>2]=i;yc(14,31323,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(!(gb[f[5312>>2]&127]()|0))jb[f[5300>>2]&127](m,i,l)|0;i=Md(a,k)|0;switch(i|0){case 0:case 1288:break;default:break b}}else i=0;break a}}else i=1802;while(0);pd(a);if(!(f[7160]|0)){nb[f[28688>>2]&127](u);h=i;t=E;return h|0}else{h=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Md(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(!(ib[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((su(k,l,0)|0)<0){B=56;break e}m=jb[f[5192>>2]&127](k,56244,1)|0;if((m|0)>=0)break;g=pt()|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=pt()|0;e=f[e>>2]|0;i=Gt(e)|0;f[z>>2]=37045;f[z+4>>2]=e;f[z+8>>2]=31425;f[z+12>>2]=(D|0)==0?56244:D;f[z+16>>2]=i;yc(4874,31323,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((Kc()|0)==0?(A=Lc(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=mb[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=vd(n,p)|0;if(!i){i=7;break f}bv(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((mb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,B)|0)==(-1|0))break g}else{i=vd(n,p)|0;if(!i){i=7;break f}bv(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=pt()|0;C=f[C>>2]|0;i=Gt(C)|0;f[D>>2]=37072;f[D+4>>2]=C;f[D+8>>2]=31512;f[D+12>>2]=(e|0)==0?56244:e;f[D+16>>2]=i;yc(5386,31323,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 Md(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(jb[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,(jb[o&127](e,13,h)|0)==-1):0){o=5;t=m;return o|0}e=f[g>>2]|0;do{g=ib[f[5132>>2]&255](e,3)|0;if((g|0)>=0){j=12;break}o=pt()|0}while((f[o>>2]|0)==4);if((j|0)==12?(g|0)==0:0)break a;n=f[c+8>>2]|0;l=pt()|0;l=f[l>>2]|0;o=Gt(l)|0;f[i>>2]=36778;f[i+4>>2]=l;f[i+8>>2]=31390;f[i+12>>2]=(n|0)==0?56244:n;f[i+16>>2]=o;yc(4618,31323,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=(jb[o&127](a,13,l)|0)==-1;a=a?5:0}else a=0;o=a;t=m;return o|0}function Nd(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Tu(d|0,g|0,10,0)|0;d=Nu(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=Ou(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 Od(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 Pd(a,b){a=a|0;b=b|0;return 29224}function Qd(a){a=a|0;var b=0;a=55468;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=(f[7210]|0)==0;f[13881]=a&1;b=f[7212]|0;f[13882]=a&(b|0)!=0?b:0;f[13870]=10;f[13880]=1;return 0}function Rd(a){a=a|0;var b=0;a=55468;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Sd(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[13881]|0)*52|0)+64|0;h=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](i)|0;if(!e){d=0;return d|0}else g=e}else{e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){j=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=j>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){j=0;return j|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}bv(g|0,0,i|0)|0;if(!(f[13881]|0))e=55468;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;de(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=55576;f[g+4>>2]=e;if(f[g+48>>2]|0){j=g;return j|0}Zd(g);j=0;return j|0}function Td(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;$d(a);return}function Ud(a){a=a|0;return f[a+44>>2]|0}function Vd(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=ce(a,b,c)|0;return c|0}function Wd(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;be(b);return}function Xd(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 Yd(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){be(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;be(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 Zd(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)be(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;be(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;$d(a);b=f[a+60>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{n=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{n=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{n=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function _d(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;$d(a);f[b>>2]=c;return}function $d(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;ae(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[7160]|0))nb[f[28688>>2]&127](d);else{j=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}f[a+56>>2]=0;f[c>>2]=0;return}function ae(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;be(a);return}function be(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[13886]|0)>>>0<=a>>>0)if((f[13887]|0)>>>0>a>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;c=(f[13890]|0)+1|0;f[13890]=c;f[13891]=(c|0)<(f[13885]|0)&1;break a}else{a=hb[f[28696>>2]&127](c)|0;break}else a=hb[f[28696>>2]&127](c)|0;while(0);f[14053]=(f[14053]|0)-a;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 ce(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[13884]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[13883]|0):0)d=55564;else d=55360;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)de(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[13884]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[13883]|0):0)d=55564;else d=55360;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{be(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[13882]|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=Tu(d|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;i=ba()|0}else{h=Tu(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=Tu(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=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](d)|0;break}h=hb[f[28700>>2]&127](d)|0;if((f[14058]|0)>>>0>>0)f[14058]=d;g=55352;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[14051]|0;o=Ou(d|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(g){d=hb[f[28696>>2]&127](g)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}else g=0}else g=0;while(0);f[a+60>>2]=g;if(!g)d=f[m>>2]|0;else{d=hb[f[28696>>2]&127](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[13883]|0)>=(h|0)?(e=f[13889]|0,(e|0)!=0):0){f[13889]=f[e>>2];s=f[13890]|0;f[13890]=s+-1;f[13891]=(s|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=h;d=(f[14052]|0)+1|0;f[14052]=d;if(d>>>0>(f[14056]|0)>>>0)f[14056]=d}else r=54;do if((r|0)==54){s=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](h)|0;if(!e){e=0;break}}else{e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[14051]|0;o=Ou(d|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break}d=hb[f[28696>>2]&127](e)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}d=hb[f[28696>>2]&127](e)|0;if((f[14059]|0)>>>0>>0)f[14059]=h;d=(f[14053]|0)+d|0;f[14053]=d;if(d>>>0>(f[14057]|0)>>>0)f[14057]=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 de(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=ee(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)}fe(f[c>>2]|0);f[c>>2]=e;f[d>>2]=h;return}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=Nu(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[7160]|0)){b=hb[f[28684>>2]&127](a)|0;if(!b){d=0;return d|0}}else{b=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){e=f[14051]|0;d=Ou(c|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=e>>>0)&1}b=hb[f[28684>>2]&127](b)|0;if(!b){e=0;return e|0}c=hb[f[28696>>2]&127](b)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}bv(b|0,0,a|0)|0;e=b;return e|0}function fe(a){a=a|0;var b=0;if(!a)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function ge(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=Gc(c,1)|0;break}else return;while(0);if(!c)return;h=pf(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{$e(c,h,e);return}}function he(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=Dc(+p[c>>3])|0;ba()|0;d=7;break}if(!(d&18)){c=5872;d=8}else{c=Ec(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<6){c=5872+(c<<2)|0;d=8}else c=0;if((d|0)==8)c=f[c>>2]|0;if((Ze(f[a>>2]|0,c,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ie(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(f[a>>2]|0,31125,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function je(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=Gc(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=Ye(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=Gc(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=Tu(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;Ze(k,32336,-1,1,0)|0;return}o=Nu(c|0,j|0,-1,-1)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[7160]|0)){j=hb[f[28684>>2]&127](c)|0;if(!j)break}else{e=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;k=55352;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){o=f[14051]|0;n=Ou(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}j=hb[f[28684>>2]&127](e)|0;if(!j)break;k=hb[f[28696>>2]&127](j)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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{af(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=29300;m=32444;c=1;n=29300;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)?(Kt(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,(Kt(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{r=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if((Ze(f[a>>2]|0,i,g,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ke(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=((lf(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);kf(a,e);return}function le(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=ff(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(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=lf(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)af(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(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)af(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(!(bf(i,(h|0)>1?h:1,1)|0)){bv((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(!(ef(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}function me(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;if(!((d[c>>1]|0)!=0?(kf(a,b),(d[c>>1]&9216)!=0):0))e=7;if((e|0)==7?(f[b+24>>2]|0)==0:0)return;df(b);return}function ne(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;if(!(d[b+8>>1]|0))return;kf(a,b);return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function pe(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=Ye(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{$e(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=Gc(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{$e(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{af(c);return}}}}function qe(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=Ye(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=Ye(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=Gc(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=Gc(i,1)|0;break}else return}else{g=jf(g)|0;c=0;j=jf(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(!(Kt(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(!(Kt(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{$e(g,c,i);return}}function re(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=Gc(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;of(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=Ac(m)|0;else g=f[i>>2]|0;if((Ze(f[a>>2]|0,g,h,1,108)|0)!=18){t=n;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=n;return}function se(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=Gc(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{$e(e,c,g);return}}function te(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=vd(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{af(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=Dc(+p[h>>3])|0;h=ba()|0;o=18;break}if(!(i&18)){m=g;l=1;h=0}else{i=Ec(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((Ze(f[a>>2]|0,q,g,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}do if(94!=-1)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{o=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);if(!a)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function ue(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=Dc(+p[e>>3])|0;e=ba()|0;j=8;break}if(!(c&18)){c=0;i=0}else{c=Ec(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=Ou(0,0,c|0,e|0)|0;i=ba()|0;break}f[a+20>>2]=1;Ze(f[a>>2]|0,32380,-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{$e(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{af(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=+Fc(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 af(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 ve(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=Dc(+p[g>>3])|0;ba()|0;break}if(!(c&18)){c=0;break a}c=Ec(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=+Fc(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=ud(32411,i)|0;if(c|0){gf(c,j,(zt(c)|0)&1073741823,1)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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 af(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 we(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=Gc(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=Ye(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=Nu(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;Ze(c,32336,-1,1,0)|0;return}do if(i>>>0<=2147483390){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;if(!c)break}else{e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){h=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=h>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,i,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 xe(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=Gc(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=Ye(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=Nu(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;Ze(c,32336,-1,1,0)|0;return}do if(j>>>0<=2147483390){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](g)|0;if(!c)break}else{e=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){i=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=i>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,j,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 ko(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{ko(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))}ko(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{ko(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))}ko(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}function lo(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=Mo(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=Mo(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=Mo(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=Mo(a,f[d>>2]|0)|0;f[d>>2]=e;d=c+36|0;e=Mo(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){lo(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=Mo(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 mo(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{rl(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 rl(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}Ho(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;og(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=55600;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=Xk(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{rl(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{rl(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){sl(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{rl(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;og(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:Io(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{rl(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 rl(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=rl(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{rl(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 rl(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=rl(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=rl(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 rl(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 rl(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 Po(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){Po(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=rl(P,102,M,H,s)|0;n=f[P>>2]|0;do if(b[n+81>>0]|0){if((H|0)!=-12)og(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}sl(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=rl(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{rl(P,70,1,N,0)|0;F=237;break c}}case 10:{if(G){Po(a,O,c,M,y,H,D);t=Q;return}break}case 9:case 13:{if(G){Po(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{rl(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{rl(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=rl(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 rl(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 rl(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 rl(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 rl(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 rl(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=rl(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=55600;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{rl(P,49,g,m,0)|0;t=Q;return}}function no(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){li(a,48434,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=mb[h&127](f[g+316>>2]|0,33,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,i);f[a+12>>2]=23;t=J;return}if((g|2|0)==2){if(!g)break;t=J;return}else{li(a,40505,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=Jc(m,g,l,0)|0;if(!h){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(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{rl(I,113,o,p,0)|0;break}}else{l=No(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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;Im(a,1,48483,q);q=Il(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=rl(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 rl(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{rl(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{rl(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 rl(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=Jc(m,g,l,0)|0;if(h|0){g=h;break}if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{q=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(I,47,u,g,1)|0;break}}while(0);mo(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{rl(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;Im(a,1,48531,H);Il(a,c,F)|0;f[D>>2]=E}else li(a,48489,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 rl(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)hg(f[a>>2]|0,g);f[z>>2]=A;f[x>>2]=y;t=J;return}function oo(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=Jc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{V=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{V=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bk(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=kl(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=Bc(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=No(a,c)|0;J=0;I=i}f[s>>2]=m;G=Gk(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 rl(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=Bc(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;bv(l+24|0,0,m+-4|0)|0;k=l}if((o|0)>0){i=l+16|0;g=0;do{G=qo(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]=39800;li(a,40188,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;Lk(a,m,i+-1|0,f[l>>2]|0,39800,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]=39800;f[w+8>>2]=k;li(a,40066,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]=39800;li(a,40188,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;Lk(a,m,i+-1|0,f[l>>2]|0,39800,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]=39800;f[C+8>>2]=k;li(a,40066,C)}}while(0);po(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 rl(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{rl(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)gg(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[F>>2]=g;Im(a,1,48412,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=rl(X,13,x,0,i)|0;f[V+12>>2]=m;Im(a,1,48423,H);Il(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 rl(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=55600;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=rl(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;Im(a,1,48428,L);Il(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 rl(X,67,y,0,0)|0;q=f[W>>2]|0;b[q+19>>0]=0;f[q+28>>2]=0;q=Oo(a,c,N,e,v,p,A,P)|0;s=(E+-123&255)<2;if(s)r=Oo(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{O=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-O;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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[22944+(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[22944+(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=rl(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 rl(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{rl(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=rl(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 rl(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 rl(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=rl(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{rl(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{rl(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 rl(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 rl(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=55600;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 rl(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 rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](K);break}else{T=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Q);break}else{T=hb[f[28696>>2]&127](Q)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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)kg(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=55600;g=f[g+8>>2]|0}f[k>>2]=g;a=(f[a+36>>2]|0)!=0&1;t=$;return a|0}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;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=ql(a)|0}else v=g;g=q+12|0;do if(!(yk(f[g>>2]|0,h)|0)){g=f[g>>2]|0;do if(g){if((b[g>>0]|0)!=-92){m=vl(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{rl(k,78,g,w,0)|0;break}}else{m=vl(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{rl(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 rl(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{rl(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 rl(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{rl(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=Zu(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=Yu(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=Yu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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{rl(k,78,g,m,0)|0;break}}else{i=vl(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{rl(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 rl(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{rl(v,153,w,l,m)|0;t=x;return}}function qo(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=qo(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=Xk(a,f[b+4+(c*20|0)>>2]|0)|0;return c|0}function ro(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:{ro(a,f[c+16>>2]|0);ro(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]=132;f[o+8>>2]=133;f[o+24>>2]=0;if(c){mi(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=Xk(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=Xk(h,m)|0,n|0):0){l=n;v=14}if((v|0)==14){if((f[l+12>>2]|0)!=77)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=Bc(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=Jc(l,r,k,0)|0;if(!g){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);v=48;break}else{v=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=132;f[o+8>>2]=133;f[o+24>>2]=0;l=(e|0)==0;if(!l){mi(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=Xk(i,e)|0;v=66;break}h=Xk(i,c)|0;if(!h){p=Xk(i,e)|0;v=66}else{q=h;v=67}}else{p=Xk(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)!=77){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=Bc(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=Jc(m,w,l,0)|0;if(!h){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);v=101;break}else{v=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 so(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=zk(f[f[m>>2]>>2]|0,a,0,0)|0;f[c+12>>2]=a;o=1;return o|0}function to(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 uo(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=(uo(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]=132;f[n+8>>2]=133;f[n+24>>2]=g;mi(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=zk(f[a>>2]|0,e,0,0)|0;ko(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=Mo(n,r)|0;q=(f[j+8>>2]&8|0)==0;p=j+36|0;c=j+44|0;r=il(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 vo(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=ql(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{E=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{D=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;wo(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=rl(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 rl(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 rl(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 rl(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{rl(m,78,i,z,0)|0;break}}else{i=vl(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{rl(u,79,i,z,0)|0;break}}}while(0);Lo(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{rl(m,78,i,p,0)|0;break}}else{l=vl(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{rl(w,79,l,p,0)|0;break}}}while(0);Lo(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 rl(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 rl(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{rl(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 rl(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 rl(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{rl(K,78,k,p,0)|0;break}}while(0);u=xo(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 rl(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 rl(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 rl(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=rl(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 rl(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=rl(K,11,0,0,0)|0;yo(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 rl(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=55600;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=55600;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=55600;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=rl(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=rl(K,47,z,0,1)|0;break}}else m=0;while(0);Ao(a,H,0);Ko(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 rl(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 rl(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=55600;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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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{rl(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{rl(K,5,F,i,0)|0;break}}while(0);yo(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=55600;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 rl(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 rl(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 rl(K,66,J,0,0)|0;i=f[D>>2]|0;if(b[(f[K>>2]|0)+81>>0]|0){K=55600;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 wo(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=ql(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 rl(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 rl(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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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{rl(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 rl(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 rl(z,122,k,v,w)|0;rn(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{rl(z,12,g,h,0)|0;return}}function xo(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=ql(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 rl(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)==33002|(i|0)==33012){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 rl(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{rl(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 rl(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{rl(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 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 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=ql(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 rl(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{rl(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=rl(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 rl(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 rl(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 rl(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{rl(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=rl(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 rl(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=55600;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=55600;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{rl(j,83,k,1,0)|0;break}}H=f[l+32>>2]|0;if(!((H|0)==33024|(H|0)==33029)){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{rl(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=rl(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=Xk(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=rl(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){sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=55600;f[k+8>>2]=l}}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function zo(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=ql(a)|0}else o=k;Ao(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=rl(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 rl(o,11,0,0,0)|0;Ko(a,c,g,h);k=c+36|0;if(i|0)yo(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 rl(o,5,k,e,0)|0;k=f[m>>2]|0;if(b[(f[o>>2]|0)+81>>0]|0){p=55600;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 Ao(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=ql(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 rl(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 rl(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 rl(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=55600;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{rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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{rl(g,73,0,a,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Bo(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=Bc(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=Jc(i,a,k,l)|0;r=31;break}e=Jc(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(!(Ak(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=Bc(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=Jc(k,a,l,m)|0;r=71;break}e=Jc(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=Pk(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 Co(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+1;return 0}function Do(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+-1;return}function Eo(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]=147;f[l+8>>2]=0;f[l+24>>2]=i;f[l>>2]=j;mi(l,c)|0;if(!(b[k>>0]|0)){l=1;t=m;return l|0}j=f[f[a>>2]>>2]|0;k=Bk(j,143,10008,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=il(j,e,k)|0;f[d>>2]=l;b[a+20>>0]=1;l=1;t=m;return l|0}function Fo(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);Ho(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=Jc(o,k,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);i=0;break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Io(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=Xk(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=rl(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){sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=vl(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{rl(l,78,g,p,0)|0;break}}else{J=vl(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{rl(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=55600;f[g+8>>2]=h;return}function Go(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 rl(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=Bc(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=Xk(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}li(a,48201,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 Ho(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{rl(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]=132;f[v>>2]=133;f[w>>2]=0;if(g){mi(B,g)|0;if(!(b[s>>0]|0))break}Nm(a,g,h+e|0)|0;break a}while(0);j=h+e|0;c=vl(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=55600;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{rl(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 Io(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=rl(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 rl(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=rl(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 Jo(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((Ak(0,c,d,-1)|0)<2){e=f[a>>2]|0;d=Xk(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)==77?(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=hm(a,c)|0;return c|0}else{b[a+20>>0]=0;c=2;return c|0}return 0}function Ko(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=ql(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)==33002|(k|0)==33012){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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{u=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(D,73,0,k,0)|0;do if((f[v>>2]|0)!=33002){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{rl(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 rl(D,90,k,l,p)|0;Lo(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 rl(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 rl(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 rl(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 rl(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)==33024|(k|0)==33029){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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{p=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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 rl(D,129,s,p,0)|0;k=(f[v>>2]|0)==33024;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{rl(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 rl(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 rl(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 rl(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 rl(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{rl(D,12,e,g,0)|0;return}}function Lo(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=ql(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 rl(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 rl(g,15,c,i,0)|0;i=f[29712+(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 rl(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 rl(g,69,1,2,0)|0;if(!(b[(f[g>>2]|0)+81>>0]|0)){c=f[29724+(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 Mo(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)){li(g,40340,j);break}else{f[i>>2]=f[f[f[l+20>>2]>>2]>>2];f[i+4>>2]=1;li(g,45521,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=zk(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}gg(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=Mo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+16|0;m=Mo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+20|0;if(f[n>>2]&2048|0){lo(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=Mo(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 No(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=Bc(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;bv(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=qo(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=(zt(i)|0)&1073741823;f[n>>2]=p;if((p|0)!=0?(u=Bk(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=Xk(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 Oo(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=Jc(r,m,q,0)|0;if(!n){if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{v=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=rl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{r=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=55600;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 rl(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{rl(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{rl(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 rl(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 rl(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 rl(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=rl(G,102,n,p,t)|0;n=f[G>>2]|0;do if(b[n+81>>0]|0){if((p|0)!=-12)og(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}sl(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=rl(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{rl(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 rl(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{rl(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{rl(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{rl(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{rl(G,66,h,0,0)|0;G=F;return G|0}return 0}function Po(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=Jc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{y=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Ho(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{rl(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{rl(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)Ho(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 rl(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=rl(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=rl(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 rl(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=55600;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;bv(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{t=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;bv(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=Xk(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 rl(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=Jc(q,k,o,0)|0;if(l|0){k=l;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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{rl(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=55600;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 rl(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=55600;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 rl(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 rl(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=rl(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{rl(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)Ho(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{rl(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=rl(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=55600;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=55600;f[k+8>>2]=l;return}function Qo(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=ql(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=aj(f[s>>2]|0,0,s,l,0,542)|0;if(i|0){li(q,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[j>>2]=f[13889];f[13889]=j;o=(f[13890]|0)+1|0;f[13890]=o;f[13891]=(o|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](j)|0;x=21;break}else{i=hb[f[28696>>2]&127](j)|0;x=21}while(0);do if((x|0)==21){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](j);break}else{o=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[r>>2]=0}r=gh(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{rl(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{Zl(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;Rl(a,48652,w);p=c}x=f[p>>2]|0;f[y>>2]=f[i>>2];f[y+4>>2]=34444;f[y+8>>2]=x;Rl(a,48697,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}Sl(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=rl(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;sl(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=rl(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;sl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[j+4>>2]|0;if(l|0)gg(B,l);l=f[j+8>>2]|0;d:do if(l|0){if(f[p>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{a=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ro(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=Yu(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=Yu(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=Zu(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[7920+((b&7)<<1)>>1]|0)&65535;a=a+48|0;d[a>>1]=k;return}function So(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{rl(w,70,k,g,0)|0;t=x;return}}q=f[c+8>>2]|0;c=Um(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=Ou(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=Bc(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=rl(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{sl(w,l+(c*20|0)|0,k,-14);break}}if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{n=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=50074;u=9}else{c=k&255;if(k<<24>>24==48){c=b[q+1>>0]|0;if(!(c<<24>>24)){c=50075;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){gf(q,v,(zt(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=Bc(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=rl(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{sl(w,i+(c*20|0)|0,l,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{w=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(w,i+(c*20|0)|0,0,-13)}}break}f[s>>2]=r?33713:56244;f[s+4>>2]=q;li(a,50077,s)}while(0);t=x;return}function To(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(!(lb[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=((zt(e)|0)&1073741823)+41|0;a:do if(!a){if(!(f[7160]|0)){e=hb[f[28684>>2]&127](h)|0;i=34;break}e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;d=55352;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){a=f[14051]|0;d=Ou(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&d>>>0<=a>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){m=c;t=n;return m|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,h,0)|0;i=34}while(0);if((i|0)==34)if(!e){m=c;t=n;return m|0}else a=e;bv(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=((zt(g)|0)&1073741823)+1|0;$u(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 Uo(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 Vo(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 Wo(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)mi(a,c)|0;b=f[b+28>>2]|0;if(!b)return;do{wk(a,f[b+8>>2]|0)|0;c=f[b+16>>2]|0;if(c|0)mi(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?mi(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?mi(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?mi(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)mi(a,c)|0;c=f[g+4>>2]|0;if(c|0)mi(a,c)|0}b=f[b+36>>2]|0}while((b|0)!=0);return} -function Ul(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(Ul(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(Gl(a,f[e>>2]|0)|0){c=1;e=17;break}if(Ul(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];li(d,46069,h);h=1;t=i;return h|0}else if((e|0)==17){t=i;return c|0}return 0}function Vl(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=rl(a,143,c,0,0)|0;Mm(a,g,e,-7);if((f[(f[a>>2]|0)+20>>2]|0)<=0)return;g=0;do{Sm(a,g);g=g+1|0}while((g|0)<(f[(f[a>>2]|0)+20>>2]|0));return}function Wl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[i>>2]=0;f[l>>2]=f[p>>2]}if(Gl(a,f[l+20>>2]|0)|0){d=1;e=30;break}if(Ul(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(Ul(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;li(g,46023,q);s=1;t=r;return s|0}else if((e|0)==30){t=r;return d|0}return 0}function Xl(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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;li(a,45981,j);l=1;t=k;return l|0}function Yl(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](m)|0;q=25;break}i=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;n=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&n>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){d=0;return d|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(p,m,0)|0;q=25}while(0);if((q|0)==25)if(!i){d=0;return d|0}else r=i;bv(r|0,0,m|0)|0;n=r+44|0;$u(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=Nu(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=Bc(p,m,n)|0;if(i){$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;q=82;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){p=f[14051]|0;g=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=p>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){d=r;return d|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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 Zl(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=55580;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=55580;break}}}while(0);n=e+16|0;l=f[(f[n>>2]|0)+(v<<4)>>2]|0;k=(v|0)==1;m=k?39516:34444;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=mb[i&127](f[e+316>>2]|0,k,j,g,l,f[a+236>>2]|0)|0;if((e|0)==1){li(a,40490,o);f[a+12>>2]=23;t=w;return}if((e|2|0)!=2){li(a,40505,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=mb[g&127](f[e+316>>2]|0,9,m,0,l,f[a+236>>2]|0)|0;if((e|0)==1){li(a,40490,r);f[a+12>>2]=23;t=w;return}if((e|2|0)==2){if(!e)break;t=w;return}else{li(a,40505,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=ql(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]=34444;f[u+8>>2]=j;Rl(a,45930,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 rl(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=rl(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;sl(k,(f[k+88>>2]|0)+(e*20|0)|0,i,0);t=w;return}function _l(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]=123;f[r+8>>2]=124;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)){mi(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;li(a,33384,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]=123;f[r+8>>2]=124;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)){mi(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;li(l,33384,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]=123;f[r+8>>2]=124;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)){mi(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;li(l,33384,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=mb[v&127](f[m+316>>2]|0,c,l,0,0,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,w);f[a+12>>2]=23;F=112;break a}if((l|2|0)==2)if(!l)break;else{F=112;break a}else{li(a,40505,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=ql(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=vl(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{rl(l,78,m,q,0)|0;break}}else{C=vl(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{rl(B,79,C,q,0)|0;break}}while(0);p=q+1|0;do if(!A){if((b[j>>0]|0)!=-92){E=vl(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{rl(l,78,m,p,0)|0;break}}else{E=vl(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{rl(D,79,E,p,0)|0;break}}while(0);p=q+2|0;do if(!y){if((b[k>>0]|0)!=-92){H=vl(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{rl(l,78,m,p,0)|0;break}}else{H=vl(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{rl(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=rl(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{sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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)gg(I,i);if(j|0)gg(I,j);if(!k){t=J;return}gg(I,k);t=J;return}function $l(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=mb[l&127](f[k+316>>2]|0,27,h,0,g,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,m);f[a+12>>2]=23;t=C;return}if((g|2|0)==2){if(!g)break;t=C;return}else{li(a,40505,n);f[a+12>>2]=1;t=C;return}}while(0);lm(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=ql(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=mm(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{o=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);tl(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=rl(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;vm(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 rl(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 rl(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=55600;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{rl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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=rl(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}wm(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=55600;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 rl(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 rl(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 rl(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 rl(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=55600;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 rl(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 rl(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{rl(y,117,z,0,0)|0;t=C;return}}function am(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)rm(l)|0;e=l+80|0;f[e>>2]=f[e>>2]|k;$l(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)rm(l)|0;q=l+80|0;f[q>>2]=f[q>>2]|k;$l(a,g,-1)}while(0);g=f[g+20>>2]|0}while((g|0)!=0);return}function bm(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=oi(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=oi(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;jm(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{km(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=ql(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{rl(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=Fl(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){li(a,41825,q);break c}g=Fl(g,c)|0;if((g|0)>=0){c=e;break}f[r>>2]=c;li(a,41842,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=aj(f[y>>2]|0,0,y,F,0,542)|0;if(g|0){li(n,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=49;break}else{g=hb[f[28696>>2]&127](c)|0;G=49}while(0);do if((G|0)==49){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[x>>2]=0}G=gh(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;jm(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{km(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=ql(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{rl(g,144,w,0,0)|0;break c}}else{g=f[a>>2]|0;if(b[g+165>>0]|0){li(a,41825,o);break c}g=Fl(g,c)|0;if((g|0)<0){f[p>>2]=c;li(a,41842,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=nl(H,c)|0;if(s|0){e=Oj(H,s,g)|0;do if(!e){q=ni(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=aj(f[E>>2]|0,0,E,F,0,542)|0;if(g|0){li(o,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=143;break}else{g=hb[f[28696>>2]&127](c)|0;G=143}while(0);do if((G|0)==143){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=gh(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;jm(a,r,G,f[q>>2]|0,38499);km(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=ql(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{rl(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=aj(f[D>>2]|0,0,D,F,0,542)|0;if(g|0){li(o,42209,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[13886]|0)>>>0<=g>>>0)if((f[13887]|0)>>>0>g>>>0){f[14052]=(f[14052]|0)+-1;f[c>>2]=f[13889];f[13889]=c;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{g=hb[f[28696>>2]&127](c)|0;G=104;break}else{g=hb[f[28696>>2]&127](c)|0;G=104}while(0);do if((G|0)==104){f[14053]=(f[14053]|0)-g;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{G=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=gh(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;jm(a,r,G,f[e>>2]|0,38503);km(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=ql(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{rl(g,144,r,0,0)|0;break}}while(0);if(H|0){if(f[H+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{G=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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{rl(g,159,0,0,0)|0;t=I;return}}function cm(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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;li(a,45239,j);l=1;t=k;return l|0}function dm(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=Nu(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=Bc(x,i,k)|0;o=15}if((o|0)==15)if(!e)m=0;else{$u(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=Bc(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=Jc(x,i,k,l)|0;o=34;break}h=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{p=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(ng((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=Gg(x,45100,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]=34444;f[u+8>>2]=r;f[u+12>>2]=r;f[u+16>>2]=i;f[u+20>>2]=s;Rl(a,45124,u);do if(i|0){if(f[x+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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 rl(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 rl(l,159,0,0,0)|0;f[v>>2]=f[w>>2];Vl(l,m,Gg(x,45212,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=rl(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;sl(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{rl(l,162,m,h,0)|0;t=y;return}}function em(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=nl(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;li(a,45070,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=Jc(r,c,d,i)|0;break}d=Jc(r,c,d,i)|0}else{b:do if(!r){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](24)|0;p=39;break}k=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;i=55352;d=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&d>>>0>0){u=f[14051]|0;o=Ou(d|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&o>>>0<=u>>>0)&1}d=hb[f[28684>>2]&127](k)|0;if(!d){d=0;break a}i=hb[f[28696>>2]&127](d)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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)hg(r,e);if(g|0)kg(r,g,1);if(!q){u=c;t=s;return u|0}if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);u=c;t=s;return u|0}else{u=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);u=c;t=s;return u|0}return 0}function fm(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)li(a,44988,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=gm(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]=132;f[l+8>>2]=133;f[l+24>>2]=0;if(h){mi(l,h)|0;if(!(b[i>>0]|0)){gg(f[a>>2]|0,h);h=Bk(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]=132;f[l+8>>2]=133;f[l+24>>2]=0;if(e){mi(l,e)|0;if(!(b[h>>0]|0)){gg(f[a>>2]|0,e);e=Bk(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);li(a,45033,j)}while(0);if(h|0)gg(f[a>>2]|0,h);if(!e){l=0;t=m;return l|0}gg(f[a>>2]|0,e);l=0;t=m;return l|0}function gm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a:do if(!a)e=yg(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=Bc(a,c,d)|0}while(0);if(!e){c=0;return c|0}bv(e|0,0,c|0)|0;c=e;return c|0}function hm(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=40358;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=40363;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 im(a,c){a=a|0;c=c|0;b[a+20>>0]=0;return 2}function jm(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=ql(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=hi(s,36628,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;lm(a,c,j,1,36628);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{rl(x,138,j,c,0)|0;k=0;break}}else{f[m>>2]=i;f[m+4>>2]=36628;f[m+8>>2]=45344;Rl(a,45321,m);j=f[l>>2]|0;f[u>>2]=j;b[v>>0]=16;k=16}while(0);i=hi(s,45357,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;lm(a,c,i,1,45357);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{rl(x,138,i,c,0)|0;break}}while(0);i=hi(s,45370,f[r>>2]|0)|0;if(i){l=f[i+28>>2]|0;f[u+8>>2]=l;b[v+2>>0]=0;lm(a,c,l,1,45370);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{rl(x,138,l,c,0)|0;break}}}else{if(k){f[n>>2]=i;f[n+4>>2]=36628;f[n+8>>2]=45344;Rl(a,45321,n);k=16;j=f[l>>2]|0}else{j=f[j+28>>2]|0;lm(a,c,j,1,36628);f[o>>2]=f[r>>2];f[o+4>>2]=36628;f[o+8>>2]=h;f[o+12>>2]=g;Rl(a,42342,o);k=0}f[u>>2]=j;b[v>>0]=k;i=f[r>>2]|0;l=hi(s,45357,i)|0;if(l){i=f[l+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;lm(a,c,i,1,45357);f[p>>2]=f[r>>2];f[p+4>>2]=45357;f[p+8>>2]=h;f[p+12>>2]=g;Rl(a,42342,p);i=f[r>>2]|0}i=hi(s,45370,i)|0;if(i){s=f[i+28>>2]|0;f[u+8>>2]=s;b[v+2>>0]=0;lm(a,c,s,1,45370);f[q>>2]=f[r>>2];f[q+4>>2]=45370;f[q+8>>2]=h;f[q+12>>2]=g;Rl(a,42342,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=rl(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 km(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=ql(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(!(_e(45267,l,32240,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=mb[r&127](f[p+316>>2]|0,28,l,0,o,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,s);f[a+12>>2]=23;t=ea;return}if((l|2|0)!=2){li(a,40505,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);lm(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;tl(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=rl(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;sl(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=rl(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;sl(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 rl(ca,109,R,o,n)|0;o=f[X>>2]|0;r=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{A=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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=rl(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]=29580;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29580,-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=rl(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 rl(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=Jc(u,o,s,0)|0;if(p|0){o=p;break}if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{y=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bc(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 rl(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{rl(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=Yk(q,p,o,u&255)|0;do if(!(u<<24>>24)){if(!q){q=Zk(a,p,0,o)|0;break}if(f[q+12>>2]|0)break;q=Zk(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 rl(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 rl(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=rl(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){sl(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 rl(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 rl(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=55600;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=55600;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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);break}else{B=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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]=29620;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29620,-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 rl(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=rl(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]=29660;b[q>>0]=-8;break}else{sl(ca,p+(o*20|0)|0,29660,-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=rl(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;sl(ca,(f[D>>2]|0)+(o*20|0)|0,45277,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 rl(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 rl(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=55600;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 rl(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=rl(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 rl(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=rl(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;sl(ca,(f[ca+88>>2]|0)+(l*20|0)|0,45277,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 rl(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 rl(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=55600;f[l+8>>2]=m;t=ea;return}function lm(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=Bc(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=Jc(n,o,i,m)|0;if(i|0){f[h>>2]=i;a=i;q=37;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);q=39;break}else{q=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 mm(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=Bc(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;bv(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=Bc(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;bv(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)!=33704){e=f[a>>2]|0;i=b[e+78>>0]|0;c=b[e+165>>0]|0;e=Yk(e,i,g,c&255)|0;if(!(c<<24>>24)){if(!e){e=Zk(a,i,0,g)|0;break}if(!(f[e+12>>2]|0))e=Zk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);t=0;return t|0}else{t=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);t=0;return t|0}return 0}function nm(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=jf(f[e>>2]|0)|0;k=j+12|0;h=((f[k>>2]|0)*25|0)+25|0;g=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c)break}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break;e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}bv(c|0,0,h|0)|0;n=i;f[n>>2]=f[j>>2];f[n+4>>2]=0;td(24,c,45290,i)|0;if((f[k>>2]|0)>0){i=j+24|0;g=0;h=c+((zt(c)|0)&1073741823)|0;while(1){o=(f[(f[i>>2]|0)+(g<<2)>>2]|0)+1|0;e=f[j>>2]|0;n=Nu(o|0,0,-1,-1)|0;e=Nu(n|0,ba()|0,e|0,0)|0;o=Vu(e|0,ba()|0,o|0,0)|0;e=ba()|0;n=l;f[n>>2]=o;f[n+4>>2]=e;td(24,h,45295,l)|0;if(!h)e=0;else e=(zt(h)|0)&1073741823;g=g+1|0;if((g|0)>=(f[k>>2]|0))break;else h=h+e|0}}if((Ze(f[a>>2]|0,c,-1,1,94)|0)!=18){t=m;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 om(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=jf(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=Dc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Ec(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 pm(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))n=0;else{n=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Ec(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=Nu(l|0,e|0,-1,-1)|0;g=ba()|0;if(!(g>>>0>0|(g|0)==0&e>>>0>2147483390)){if(!(f[7160]|0)){h=hb[f[28684>>2]&127](l)|0;i=37;break}e=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){q=f[14051]|0;g=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&g>>>0<=q>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(c|0){g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,l,e)|0;i=37}while(0);if((i|0)==37?h|0:0){c=h;i=46}if((i|0)==46){bv(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((Ze(f[a>>2]|0,c,60,0,98)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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 qm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function rm(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=aj(f[e>>2]|0,0,e,c,0,542)|0;if(d|0){li(a,42209,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((sm(d,f[e+92>>2]|0,-1,0)|0)==7){tm(e);g=1;t=h;return g|0}else{g=0;t=h;return g|0}return 0}function sm(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;um(h)}b=h+32|0;a=gh(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 tm(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 um(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[13886]|0)>>>0<=a>>>0)if((f[13887]|0)>>>0>a>>>0){f[14052]=(f[14052]|0)+-1;f[b>>2]=f[13889];f[13889]=b;b=(f[13890]|0)+1|0;f[13890]=b;f[13891]=(b|0)<(f[13885]|0)&1;break}else{a=hb[f[28696>>2]&127](b)|0;d=7;break}else{a=hb[f[28696>>2]&127](b)|0;d=7}while(0);do if((d|0)==7){f[14053]=(f[14053]|0)-a;if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}}while(0);f[c>>2]=0;return}function vm(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=Jc(s,n,r,0)|0;if(!o){if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{C=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=zk(q,o,0,0)|0;if(!(b[q+81>>0]|0))xm(a,o,p,16);if(o)gg(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=zk(s,n,0,0)|0;b:do if(!(b[s+81>>0]|0)){do if(r){if((b[r>>0]|0)!=-92){p=vl(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{rl(n,78,o,t,0)|0;D=76;break b}}else p=vl(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{rl(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;gg(s,r)}f[i>>2]=0}else ym(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;og(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 rl(L,102,A,C,g)|0;if(f[(f[c+12>>2]|0)+12>>2]|0?(K=zm(f[a>>2]|0,c)|0,(b[(f[L>>2]|0)+81>>0]|0)==0):0)sl(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 wm(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{Cc(w,45394,2);break}}while(0);i=f[r>>2]|0;if(!i)g=0;else g=(zt(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;$u((f[x>>2]|0)+k|0,i|0,g|0)|0}}else Cc(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 Cc(w,31279,1);if(!q)g=0;else g=(zt(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;$u((f[x>>2]|0)+i|0,q|0,g|0)|0}}else Cc(w,q,g);m=m+1|0}while(m>>>0<(j[n>>1]|0)>>>0)}}else{f[g>>2]=f[e>>2];of(w,45383,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=Ac(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=ql(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{c=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 xm(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:{xm(a,f[c+12>>2]|0,e,g);xm(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Am(a,f[c+12>>2]|0,~q,g^16);xm(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:{Am(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){xm(a,h,e,g);break a}else{Am(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=Bm(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{rl(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=Dm(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;xm(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){Em(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=Jc(m,h,l,0)|0;if(!g){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Em(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?(yk(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?(yk(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95;break}u=Bm(a,l,x)|0;c=c+16|0;w=Bm(a,f[c>>2]|0,y)|0;Cm(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{rl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(yk(c,u)|0)!=0:0){if(f[u>>2]|0)break}else v=101;k=Bm(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{rl(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 ym(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{rl(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{rl(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{rl(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?(Ck(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{og(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{rl(a,84,i,0,0)|0;t=r;return}}function zm(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;f[m>>2]=e;if(!e)i=15}else{h=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0<=g>>>0)f[14058]=e;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;g=Ou(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](h)|0;if(!e){f[m>>2]=0;i=15;break}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Wk(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 Am(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,f[c+12>>2]|0,~q,g^16);Am(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:{Am(a,f[c+12>>2]|0,e,g);Am(a,f[c+16>>2]|0,e,g);break}case 19:{xm(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){Am(a,h,e,g);break a}else{xm(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=Bm(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{rl(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=Dm(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;Am(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{u=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Em(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 rl(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?(yk(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?(yk(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96;break}u=Bm(a,l,x)|0;c=c+16|0;w=Bm(a,f[c>>2]|0,y)|0;Cm(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{rl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(yk(c,u)|0)!=0:0){if(!(f[u>>2]|0))break}else v=102;k=Bm(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{rl(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 Bm(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]=132,f[g+8>>2]=133,f[g+24>>2]=0,mi(g,e)|0,b[c>>0]|0):0){f[d>>2]=0;d=Nm(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=vl(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 Cm(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=Xk(a,e)|0;break}l=Xk(a,c)|0;if(!l)n=Xk(a,e)|0;else n=l}else n=Xk(a,c)|0;while(0);e=Wk(e)|0;l=Wk(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=rl(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){sl(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 Dm(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=Km(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=vl(a,0,r)|0;x=24}else x=18;else{b[m>>0]=2;f[n>>2]=132;f[o>>2]=133;f[p>>2]=0;if(h){mi(u,h)|0;if(!(b[m>>0]|0)){x=18;break}}Nm(a,h,r)|0}while(0);do if((x|0)==18){x=0;if((b[h>>0]|0)!=-92){w=vl(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{rl(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{rl(v,79,w,r,0)|0;break}}while(0);j=j+1|0}while((j|0)!=(s|0));t=y;return g|0}x=Bm(a,c,e)|0;t=y;return x|0}function Em(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(Fm(a,c)|0){t=O;return}N=Gm(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=Nu(l|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[7160]|0)){h=hb[f[28684>>2]&127](l)|0;E=32;break}h=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){K=f[14051]|0;J=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;I=ba()|0;f[13840]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(h){i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(k,l,0)|0;E=32}while(0);if((E|0)==32)if(!h)K=0;else E=33;if((E|0)==33){bv(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=Hm(a,c,3,v?0:x,K)|0;J=Dm(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 rl(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=Xk(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{G=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=Bm(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{rl(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=rl(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){sl(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=rl(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){sl(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 rl(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{rl(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=Jc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{C=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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 rl(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=rl(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=rl(I,91,H,F,0)|0;i=f[I>>2]|0;do if(b[i+81>>0]|0){if((F|0)!=-12)og(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}sl(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=rl(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=rl(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{rl(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{rl(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=rl(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=Jc(p,i,o,0)|0;if(l|0){i=l;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Xk(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 rl(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=rl(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){sl(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 rl(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 rl(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{rl(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=55600;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](K);break}else{M=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](N);t=O;return}else{a=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);t=O;return}}function Fm(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;li(a,45521,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)){li(a,40340,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;li(a,45521,h);k=1;t=l;return k|0}return 0}function Gm(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=Nu(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[7160]|0)){d=hb[f[28684>>2]&127](g)|0;l=33;break}a=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}d=hb[f[28684>>2]&127](a)|0;if(!d){n=0;return n|0}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Wk(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=Wk(c)|0;a=Wk(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 Hm(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=ql(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=aj(f[u>>2]|0,0,u,M,0,542)|0;if(k|0){li(o,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;G=(f[13890]|0)+1|0;f[13890]=G;f[13891]=(G|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;Q=54;break}else{k=hb[f[28696>>2]&127](l)|0;Q=54}while(0);do if((Q|0)==54){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);G=gh(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);lm(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=rl(R,17,0,0,0)|0;tl(a,S,K,w,109);f[v>>2]=f[w>>2];Im(a,0,45397,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=55600;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=Wk(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=Wk(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=Zu(1,0,I|0)|0;w=Nu(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=Xk(a,n)|0;Q=132;break k}while(0);m=Xk(a,m)|0;if(!m){m=Xk(a,n)|0;Q=132;break}else{r=f[u>>2]|0;q=d[n+32>>1]|0;Q=136;break}}else{m=Xk(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=Zu(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=rl(R,17,0,0,0)|0;f[O>>2]=f[B>>2];Im(a,0,45444,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 rl(R,109,S,k,K)|0;l=f[P>>2]|0;m=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{U=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Jm(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=55600;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]=132;f[M+8>>2]=133;f[M+24>>2]=0;mi(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}Km(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 Im(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=xg(f[a>>2]|0,d,g)|0;i=f[a+8>>2]|0;g=f[i+136>>2]|0;d=a+208|0;Lm(i,172,g,f[d>>2]|0,0,e,-7)|0;if(c<<24>>24)f[d>>2]=g;t=h;return}function Jm(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 rl(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=rl(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 rl(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=55600;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 Km(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=ql(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=rl(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=rl(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=Bc(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;bv(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=Wk(v)|0;b[D>>0]=w<<24>>24==0?65:w;if(B|0){w=Xk(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=rl(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]=56244;b[m>>0]=-1;break}else{sl(J,l+(k*20|0)|0,56244,-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]=132;f[q>>2]=133;f[r>>2]=0;if(!m)break;mi(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;og(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(yk(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{rl(J,123,l,v,m)|0;break}}g=vl(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 rl(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{rl(J,122,l,v,g)|0;break}}else{g=vl(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=rl(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;sl(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=rl(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?56244:45475;Im(a,1,45487,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=Gm(a,c)|0;f[m>>2]=l;f[k+12>>2]=0;k=(Il(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{L=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);break}else{L=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Xk(a,l)|0;break f}while(0);k=Xk(a,k)|0;if(!k)k=Xk(a,l)|0}else k=Xk(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);i=0;break}else{i=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?56244:45475;Im(a,1,45503,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{rl(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{rl(J,70,0,n,0)|0;break}}while(0);g=Bk(f[a>>2]|0,143,10008,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=Bc(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}hl(i);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[q>>2]=k;li(a,33384,q)}}else A=186;if((A|0)==186)if(!g)i=0;else{gg(f[a>>2]|0,g);i=0}f[n>>2]=i}else{i=i+12|0;k=f[i>>2]|0;if(k){gg(l,k);i=(f[n>>2]|0)+12|0}f[i>>2]=g}f[p+12>>2]=0;L=(Il(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)Jm(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=55600;f[h+8>>2]=f[J+136>>2];L=i;t=K;return L|0}function Lm(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;Mm(a,l,i,j);return l|0}else{l=rl(a,c,e,g,h)|0;Mm(a,l,i,j);return l|0}return 0}function Mm(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;og(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}sl(a,h,d,e);return}function Nm(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?(Ak(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=zk(f[a>>2]|0,c,0,0)|0;g=kl(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 Om(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=Gc(c,1)|0;else c=0}else c=0;while(0);w=f[(f[a>>2]|0)+32>>2]|0;n=(c|0)==0?56244: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;td(128,o,45600,q)|0;break}if((b[k+8>>0]|0)==0?(f[k+16>>2]|0)==0:0){$h(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{y=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);f[v>>2]=e;t=x;return}f[r>>2]=n;td(128,o,45626,r)|0}else s=15;while(0);if((s|0)==15){f[p>>2]=n;td(128,o,45579,p)|0}f[a+20>>2]=1;Ze(f[a>>2]|0,o,-1,1,-1)|0;t=x;return} -function ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=jf(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=Ye(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=Zu(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;Ze(g,32336,-1,1,0)|0;return}k=Nu(i|0,c|0,-1,-1)|0;j=ba()|0;do if(!(j>>>0>0|(j|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](i)|0;if(!c)break;else g=c}else{j=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){k=f[14051]|0;i=Ou(c|0,g|0,j|0,((j|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}g=hb[f[28684>>2]&127](j)|0;if(!g)break;c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,g,k,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 ze(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;xd(8,b);e=b;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)<0){g=Ou(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{$e(b,g,e);t=h;return}}function Ae(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=Dc(+p[c>>3])|0;ba()|0;g=7;break}if(!(e&18))h=1;else{c=Ec(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;Ze(c,32336,-1,1,0)|0;return}g=Nu(h|0,0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c)break}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break;e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}xd(h,c);if((Ze(f[a>>2]|0,c,h,0,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 Be(a,b,c){a=a|0;b=b|0;c=c|0;if(!(lf(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;kf(a,f[c>>2]|0);return}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;if((Ze(f[a>>2]|0,31164,-1,1,0)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function De(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=Dc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Ec(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=Gc(a,1)|0;else a=0}else a=0;while(0);f[h>>2]=a;yc(g,31564,h);t=i;return}function Ee(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=+Fc(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;td(50,k,32397,l)|0;gf(k,j,20,1)|0;if(i!=+p[j>>3]){p[m>>3]=i;td(50,k,32404,m)|0}if((Ze(f[a>>2]|0,k,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=q;return}case 1:{kf(a,g);t=q;return}case 4:{l=jf(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=Ye(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=Zu(k|0,((k|0)<0)<<31>>31|0,1)|0;g=ba()|0;j=Nu(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;Ze(e,32336,-1,1,0)|0;t=q;return}o=Nu(c|0,g|0,3,0)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c)break}else{e=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){o=f[14051]|0;n=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=q;return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{af(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=Gc(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=Nu(c|0,g|0,1,0)|0;g=ba()|0;break}default:{}}e=e+1|0}c=Nu(c|0,g|0,e|0,0)|0;g=ba()|0;j=Nu(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;Ze(e,32336,-1,1,0)|0;t=q;return}n=Nu(c|0,g|0,2,0)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c)break}else{e=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){n=f[14051]|0;m=Ou(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c)break;g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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((Ze(f[a>>2]|0,c,g,1,94)|0)!=18){t=q;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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((Ze(f[a>>2]|0,31267,4,1,0)|0)!=18){t=q;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=q;return}}}function Fe(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{$e(c,e,a);return}}function Ge(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{$e(b,c,e);return}}function He(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{$e(b,c,e);return}}function Ie(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=Gc(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=Ye(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=Gc(c,1)|0;break}else return;while(0);if(!y)return;if(!(b[y>>0]|0)){kf(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=Ye(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=Gc(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=Ye(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;Ze(c,32336,-1,1,0)|0;return}u=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](k)|0;if(!h)break a}else{c=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){u=f[14051]|0;t=Ou(g|0,h|0,c|0,((c|0)<0)<<31>>31|0)|0;s=ba()|0;f[13840]=((s|0)<0|(s|0)==0&t>>>0<=u>>>0)&1}h=hb[f[28684>>2]&127](c)|0;if(!h)break a;c=hb[f[28696>>2]&127](h)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0<=(f[14060]|0)>>>0)break;f[14060]=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(Kt(e,y,x)|0){B=85;break}$u(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(Kt(e,y,x)|0){B=76;break}j=Nu(k|0,j|0,r|0,s|0)|0;l=ba()|0;k=Nu(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(Kc()|0)break c;n=Xu(0,j|0,32)|0;e=ba()|0;m=Nu(j|0,l|0,p|0,q|0)|0;e=Nu(m|0,ba()|0,n|0,e|0)|0;e=Lc(h,e,ba()|0)|0;if(!e)break c;else h=e}$u(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;if(!h)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](h);return}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);return}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{af(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[7160]|0)){nb[f[28688>>2]&127](h);return}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);return}}else{g=0;c=0}while(0);B=z-c|0;$u(h+g|0,A+c|0,B|0)|0;B=g+B|0;b[h+B>>0]=0;if((Ze(f[a>>2]|0,h,B,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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{af(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 Je(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=Dc(+p[c>>3])|0;c=ba()|0;h=7;break}if(!(e&18)){c=0;g=0}else{e=Ec(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;Ze(e,32336,-1,1,0)|0;return}c=e+8|0;if(!((d[c>>1]&9216)==0?!(f[e+24>>2]|0):0))df(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 Ke(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=Dc(+p[i>>3])|0;ba()|0;break}if(!(c&18))r=0;else{r=Ec(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=Ye(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=jf(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;s=42;break}if(!(g&18)){g=0;c=0;h=0}else{c=Ec(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=Ou(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=Nu(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=0;i=0;g=ba()|0;break}else{h=Nu(r|0,q|0,-1,-1)|0;i=ba()|0;break}else{h=Nu(n|0,((n|0)<0)<<31>>31|0,r|0,q|0)|0;i=ba()|0;q=(i|0)<0;e=Nu(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=Ou(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=Nu(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=Ou(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}else{if((Ze(f[a>>2]|0,o+l|0,c,0,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Nu(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=Nu(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;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}else{if((Ze(f[a>>2]|0,l,c,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}function Le(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=ff(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(!(gf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(hf(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=Nu(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=+Fc(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=Dc(+p[c>>3])|0;m=ba()|0;break}if(!(a&18)){l=0;m=0}else{l=Ec(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=Ou(-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=Ou(1,-2147483648,a|0,i|0)|0,s=ba()|0,o=Nu(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=Nu(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 Me(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=ff(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;Ze(f[a>>2]|0,32380,-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{$e(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 af(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 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;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=ff(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(!(gf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(hf(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=Nu(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Ou(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=+Fc(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 Oe(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=ff(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 af(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 Pe(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=ff(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 af(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 Qe(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=ff(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=Nu(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 Re(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(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{$e(b,c,e);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=ff(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=Nu(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 Te(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=ff(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=Gc(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=Ye(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=32359}c=k+16|0;h=f[c>>2]|0;i=h+g|0;if(i>>>0>=(f[k+8>>2]|0)>>>0){Cc(k,a,g);break}if(g|0){f[c>>2]=i;$u((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=Gc(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=Ye(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){Cc(k,i,a);return}if(!a)return;f[g>>2]=h;$u((f[k+4>>2]|0)+c|0,i|0,a|0)|0;return}function Ue(a){a=a|0;var c=0,e=0,g=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=ff(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;Ze(f[a>>2]|0,32336,-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{af(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=Ac(c)|0;else c=f[e>>2]|0;if((Ze(f[a>>2]|0,c,-1,1,94)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}}function Ve(a){a=a|0;var c=0,e=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=ff(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;Ze(f[a>>2]|0,32336,-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{af(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((Ze(f[a>>2]|0,c,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}}}function We(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=ff(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=Ye(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=Ye(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;av(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 Xe(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=Gc(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=Gc(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=Ye(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;Ze(f[a>>2]|0,32258,-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=Gc(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;Ze(f[a>>2]|0,32291,-1,1,-1)|0;return}else g=h[o+2>>0]|0;while(0);if(!((n|0)!=0&(m|0)!=0))return;i=(_e(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{$e(g,i,0);return}}function Ye(a,b){a=a|0;b=b|0;if(!(Gc(a,b)|0)){b=0;return b|0}b=f[a+12>>2]|0;return b|0}function Ze(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{af(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=(zt(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(!(bf(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);$u(i|0,c|0,k|0)|0}else{i=(h|0)==108;e=a+8|0;if(!((d[e>>1]&9216)==0?!(f[a+24>>2]|0):0))df(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=hb[f[28696>>2]&127](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(!(bf(a,(g|0)>1?g:1,1)|0)){bv((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(!(ef(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;av(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 _e(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=_e(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+(Hu(j,J)|0)|0;d:do if(b[f>>0]|0){while(1){f=f+1|0;c=_e(I,f,d,e)|0;if((c|0)!=1)break;f=f+(Hu(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=_e(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 $e(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 af(a);f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}function af(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;nb[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}nb[f[a+36>>2]&127](f[a+16>>2]|0);d[j>>1]=1;t=k;return}function bf(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=Jc(e,h,l,0)|0;if(!(g|(c|0)!=0)){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);c=0;break}else{c=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);h=f[h>>2]|0;b:do if(!h){k=Nu(l|0,0,-1,-1)|0;i=ba()|0;if(!(i>>>0>0|(i|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](l)|0;break}h=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;g=55352;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){l=f[14051]|0;k=Ou(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(g){c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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 af(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=hb[f[28696>>2]&127](c)|0;f[o>>2]=c;if(h|0?(n=f[a+16>>2]|0,n|0):0)$u(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;nb[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 cf(a){a=a|0;return hb[f[28696>>2]&127](a)|0}function df(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(d[a+8>>1]&9216)af(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{h=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);f[c>>2]=0;h=a+16|0;f[h>>2]=0;return}function ef(a){a=a|0;var c=0,e=0;c=a+12|0;if(bf(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 ff(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 af(h);f[h+16>>2]=0;h=0;return h|0}if((f[h+24>>2]|0)<(b|0)){bf(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}bv(g|0,0,b|0)|0;h=f[e>>2]|0;return h|0}function gf(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=Tu(a|0,l|0,10,0)|0;a=(d<<24>>24)+-48|0;a=Nu(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=Tu(a|0,l|0,10,0)|0;n=(d<<24>>24)+-48|0;n=Nu(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=Tu(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=Ru(a|0,l|0,10,0)|0;n=ba()|0;k=Tu(m|0,n|0,10,0)|0;k=Ou(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=Ou(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=Ou(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 hf(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=Tu(j|0,d|0,10,0)|0;j=a<<24>>24;d=Nu(d|0,ba()|0,-48,-1)|0;j=Nu(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=Ou(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[32361+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 jf(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=Gc(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(!(bf(a,(h|0)>1?h:1,1)|0)){bv((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 kf(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)af(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(!(bf(e,(c|0)>1?c:1,1)|0)){bv((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(!(ef(e)|0)){a=d[g>>1]|0;break}else return;while(0);d[g>>1]=a&-4097;return}function lf(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=mf(a,b,c,0)|0;return b|0}}b=nf(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 mf(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=lb[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=Gc(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=Gc(o,h)|0;h=17}else h=18;if((h|0)==17)if((c|0)==0|(a|0)==0)h=18;else a=lb[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))df(n);if(!((d[l>>1]&9216)==0&(f[m>>2]|0)==0))df(o);o=a;t=p;return o|0}function nf(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=Kt(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 of(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;zc(a,b,e);t=d;return}function pf(a){a=a|0;var c=0,d=0,e=0,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,t=0,u=0;if(!a){u=0;return u|0}c=b[a>>0]|0;do if(!(c<<24>>24)){c=32549;e=3}else{m=c&255;c=1232+m|0;if((m|32|0)==115){c=b[a+1>>0]|0;if(!(c<<24>>24)){c=32550;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==113){c=b[a+2>>0]|0;if(!(c<<24>>24)){c=32551;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==108){c=b[a+3>>0]|0;if(!(c<<24>>24)){c=32552;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==105){c=b[a+4>>0]|0;if(!(c<<24>>24)){c=32553;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==116){c=b[a+5>>0]|0;if(!(c<<24>>24)){c=32554;e=3;break}m=c&255;c=1232+m|0;if((m|32|0)==101){c=b[a+6>>0]|0;if(!(c<<24>>24)){c=32555;e=3;break}if(c<<24>>24==95){d=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)d=(d|0)==(c&255|0)?a+7|0:a;m=(zt(d)|0)&1073741823;if(!m){u=0;return u|0}e=d;g=32447;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=11;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=13;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=16;break}}if((e|0)==11){i=0;j=b[1232+(h[g>>0]|0)>>0]|0;e=15}else if((e|0)==13){i=c&255;j=f;e=15}if((e|0)==15?(i|0)==(j&255|0):0)e=16;if((e|0)==16?(b[5472+(h[32447+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32468;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=23;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=21;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=25;break}}if((e|0)==21){k=c&255;l=f;e=24}else if((e|0)==23){k=0;l=b[1232+(h[g>>0]|0)>>0]|0;e=24}if((e|0)==24?(k|0)==(l&255|0):0)e=25;if((e|0)==25?(b[5472+(h[32468+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32480;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=31;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=29;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=33;break}}if((e|0)==29){n=c&255;o=f;e=32}else if((e|0)==31){n=0;o=b[1232+(h[g>>0]|0)>>0]|0;e=32}if((e|0)==32?(n|0)==(o&255|0):0)e=33;if((e|0)==33?(b[5472+(h[32480+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32492;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=39;break}f=b[1232+(c&255)>>0]|0;c=b[1232+(h[g>>0]|0)>>0]|0;if(f<<24>>24!=c<<24>>24){e=37;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=41;break}}if((e|0)==37){p=f&255;q=c;e=40}else if((e|0)==39){p=0;q=b[1232+(h[g>>0]|0)>>0]|0;e=40}if((e|0)==40?(p|0)==(q&255|0):0)e=41;if((e|0)==41?(b[5472+(h[32492+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}e=d;g=32516;a=m;while(1){c=b[e>>0]|0;if(!(c<<24>>24)){e=47;break}c=b[1232+(c&255)>>0]|0;f=b[1232+(h[g>>0]|0)>>0]|0;if(c<<24>>24!=f<<24>>24){e=45;break}if((a|0)>1){e=e+1|0;g=g+1|0;a=a+-1|0}else{e=49;break}}if((e|0)==45){r=c&255;s=f;e=48}else if((e|0)==47){r=0;s=b[1232+(h[g>>0]|0)>>0]|0;e=48}if((e|0)==48?(r|0)==(s&255|0):0)e=49;if((e|0)==49?(b[5472+(h[32516+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}f=32536;e=m;while(1){c=b[d>>0]|0;if(!(c<<24>>24)){e=55;break}c=b[1232+(c&255)>>0]|0;a=b[1232+(h[f>>0]|0)>>0]|0;if(c<<24>>24!=a<<24>>24){e=53;break}if((e|0)>1){d=d+1|0;f=f+1|0;e=e+-1|0}else{e=57;break}}if((e|0)==53){t=c&255;u=a;e=56}else if((e|0)==55){t=0;u=b[1232+(h[f>>0]|0)>>0]|0;e=56}if((e|0)==56?(t|0)==(u&255|0):0)e=57;if((e|0)==57?(b[5472+(h[32536+m>>0]|0)>>0]&70)==0:0){u=1;return u|0}u=0;return u|0}function qf(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(yf(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=Nu(~~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=Nu(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=Ou(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 af(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 rf(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(yf(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=Nu(c|0,d|0,432e5,0)|0;d=Ru(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;td(100,i,32920,j)|0;if((Ze(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=k;return}function sf(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(yf(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=Nu(c|0,d|0,432e5,0)|0;i=Uu(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;td(100,m,32905,n)|0;if((Ze(f[a>>2]|0,m,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=o;return}function tf(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(yf(a,b,c,d)|0){t=h;return}zf(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;td(100,e,32875,g)|0;if((Ze(f[a>>2]|0,e,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}t=h;return}function uf(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=Gc(g,1)|0;break}else{t=$;return}while(0);if(!K){t=$;return}if(yf(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=Nu(e|0,c|0,1,0)|0;c=ba()|0;break b}case 102:{e=Nu(e|0,c|0,8,0)|0;c=ba()|0;break b}case 106:{e=Nu(e|0,c|0,3,0)|0;c=ba()|0;break b}case 89:{e=Nu(e|0,c|0,8,0)|0;c=ba()|0;break b}case 74:case 115:{e=Nu(e|0,c|0,50,0)|0;c=ba()|0;break b}default:{J=85;break a}}}default:{}}while(0);e=Nu(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;Ze(g,32336,-1,1,0)|0;t=$;return}c=Xu(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=Bc(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{af(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=Nu(~~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=Nu(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=Ou(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);zf(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];td(3,g+v|0,32639,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;td(7,h,32644,O)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 72:{f[Z>>2]=f[E>>2];td(3,g+v|0,32639,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=Ou(0,0,l|0,((l|0)<0)<<31>>31|0)|0;o=ba()|0;k=Nu(~~aa>>>0|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;o=Nu(k|0,ba()|0,(m?0:l)|0,(m?0:o)|0)|0;i=Nu(o|0,ba()|0,i|0,h|0)|0;h=ba()|0}}else{i=0;h=0}}c=Nu(q|0,r|0,432e5,0)|0;e=ba()|0;h=Ru(Ou(c|0,e|0,i|0,h|0)|0,ba()|0,864e5,0)|0;ba()|0;if(s<<24>>24==87){c=Ru(c|0,e|0,864e5,0)|0;c=Uu(c|0,ba()|0,7,0)|0;ba()|0;f[_>>2]=(7-c+h|0)/7|0;td(3,g+v|0,32639,_)|0;c=v+2|0;h=u;break e}else{f[P>>2]=h+1;td(4,g+v|0,32651,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;td(20,h,32656,Q)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 109:{f[R>>2]=f[F>>2];td(3,g+v|0,32639,R)|0;c=v+2|0;h=u;break e}case 77:{f[S>>2]=f[w>>2];td(3,g+v|0,32639,S)|0;c=v+2|0;h=u;break e}case 115:{h=g+v|0;q=L;q=Nu(Ru(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;td(30,h,32662,W)|0;if(!h)h=0;else h=(zt(h)|0)&1073741823;c=h+v|0;h=u;break e}case 83:{f[X>>2]=~~+p[D>>3];td(3,g+v|0,32639,X)|0;c=v+2|0;h=u;break e}case 119:{c=L;c=Uu(Ru(Nu(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];td(5,h,32667,Y)|0;if(!h)h=0;else h=(zt(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((Ze(f[a>>2]|0,g,-1,1,(g|0)==(M|0)?-1:108)|0)!=18){t=$;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=$;return}function vf(a,b,c){a=a|0;b=b|0;c=c|0;sf(a,0,0);return}function wf(a,b,c){a=a|0;b=b|0;c=c|0;tf(a,0,0);return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;rf(a,0,0);return}function yf(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=ib[m&255](i,k)|0;else{i=ib[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=+Fc(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=Gc(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((Bf(i,32672,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(Cf(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)Af(g)}else u=39;while(0);b:do if((u|0)==39?Cf(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=32684;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;Ze(f[a>>2]|0,32688,-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=ib[n&255](i,k)|0;else{i=ib[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?gf(m,q,(zt(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=Gc(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;Ye(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=32755;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;Ze(f[a>>2]|0,32688,-1,1,-1)|0;u=193;break f}else{Af(g);r=Df(g,a,ya)|0;q=ba()|0;u=g;q=Nu(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=32765;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=32775;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;Ze(f[a>>2]|0,32688,-1,1,-1)|0;u=193;break f}if(b[J>>0]|0){f[ya>>2]=0;u=192;break f}Af(g);j=Df(g,a,ya)|0;k=ba()|0;if(!(f[ya>>2]|0)){q=g;q=Ou(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=Df(g,a,ya)|0;u=Ou(j|0,k|0,u|0,ba()|0)|0;r=ba()|0;q=g;q=Nu(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=32779;u=105}else{n=q;j=32779;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((gf(u,wa,(zt(u)|0)&1073741823,1)|0)!=0?(s=+p[wa>>3],va=~~s,s<7.0&((va|0)>-1&s==+(va|0))):0){zf(g);b[D>>0]=0;b[z>>0]=0;Af(g);q=g;r=f[q>>2]|0;q=f[q+4>>2]|0;m=Nu(r|0,q|0,1296e5,0)|0;m=Ru(m|0,ba()|0,864e5,0)|0;m=Uu(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=Nu(m|0,u|0,-7,-1)|0;o=ba()|0;u=Ou(va|0,j|0,(n?k:m)|0,(n?o:u)|0)|0;u=Tu(u|0,ba()|0,864e5,0)|0;q=Nu(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=32788;u=116}else{n=q;j=32788;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=Nu(k|0,m|0,432e5,0)|0;u=Ru(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=32798;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=32804;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=32809;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(!(gf(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(!(Cf(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=Nu(~~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=Nu(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=Ou(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=Nu(j|0,k|0,-432e5,-1)|0;r=Uu(r|0,ba()|0,864e5,0)|0;u=ba()|0;o=(b[q>>0]|0)==45;n=Ou(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;Af(g);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=g;q=Nu(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=(zt(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;Af(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[5904+(j*24|0)>>0]|0){case 1:{zf(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;zf(g);f[K>>2]=(f[K>>2]|0)+u;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}default:{}}Af(g);s=s+l*+p[5904+(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=Nu(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);Af(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 zf(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=Nu(d|0,e|0,432e5,0)|0;e=Ru(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;Af(a);d=a;d=Nu(f[d>>2]|0,f[d+4>>2]|0,432e5,0)|0;d=Uu(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 Af(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=Nu(~~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=Nu(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=Ou(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 Bf(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[30352+((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 Cf(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((Bf(a,32855,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((Bf(a+6|0,32863,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((Bf(d,32867,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 Df(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));zf(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=Nu(i|0,j|0,e|0,a|0)|0;e=Nu(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=Ru(e|0,a|0,1e3,0)|0;ba()|0;f[m>>2]=h+-413362496;h=Ya(m|0)|0;if((h|0)==0|(f[7226]|0)!=0){f[c+20>>2]=1;Ze(f[c>>2]|0,32832,-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=Tu(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=Nu(c|0,q|0,e|0,((e|0)<0)<<31>>31|0)|0;a=Nu(e|0,ba()|0,~~o>>>0|0,a|0)|0;e=ba()|0}f[d>>2]=0;q=i;q=Ou(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 Ef(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=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;e=b;e=Nu(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 Ff(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(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{$e(b,c,e);return}}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;return}function Hf(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=ff(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 If(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=ff(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=Nu(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{$e(b,e,g);return}}function Jf(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=ff(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;e=b+8|0;c=e;c=Nu(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 Kf(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=ff(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 $e(b,e,g);g=c;f[g>>2]=0;f[g+4>>2]=0;return}function Lf(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=ff(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Nu(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 Mf(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=ff(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=Nu(f[k>>2]|0,f[k+4>>2]|0,-1,-1)|0;e=+(k>>>0)+4294967296.0*+(ba()|0);b=Nu(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 af(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 af(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 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))g=ff(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=Dc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Ec(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=Nu(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 Of(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=ff(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 af(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 Pf(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=ff(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=Dc(+p[c>>3])|0;i=ba()|0;break}if(!(g&18)){c=0;i=0}else{c=Ec(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=Dc(+p[g>>3])|0;h=ba()|0;g=i;break}if(!(e&18)){e=0;h=0;g=i}else{e=Ec(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;Ze(f[a>>2]|0,33033,-1,1,-1)|0}}a=k+16|0;i=a;i=Nu(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 Qf(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=ff(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=Ru(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{$e(b,e,g);return}}n=((m|0)<0)<<31>>31;h=Tu(b|0,c|0,m|0,n|0)|0;e=Ou(e|0,g|0,h|0,ba()|0)|0;g=ba()|0;h=m+1|0;i=((h|0)<0)<<31>>31;j=Tu(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=Nu(l|0,o|0,-1,-1)|0;c=ba()|0;if((o|0)>(k|0)|(o|0)==(k|0)&l>>>0>j>>>0){o=Nu(e|0,g|0,1,0)|0;g=ba()|0;e=Ou(b|0,c|0,j|0,k|0)|0;e=Ru(e|0,ba()|0,m|0,n|0)|0;e=Nu(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{$e(b,e,g);return}}else{e=Ru(b|0,c|0,h|0,i|0)|0;e=Nu(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{$e(b,e,g);return}}}function Rf(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=ff(a,8)|0;else c=f[c+16>>2]|0;if(!c)return;Wf(f[c>>2]|0);e=Xf(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{af(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 Sf(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=f[b>>2]|0;if(!c)return;kf(a,c);Wf(f[b>>2]|0);f[b>>2]=0;return}function Tf(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=ff(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;b=f[b>>2]|0;if(!b)return;kf(a,b);return}function Uf(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=ff(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;Wf(f[b>>2]|0);f[b>>2]=0;return}function Vf(a){a=a|0;return}function Wf(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))df(a);b=f[a+32>>2]|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Xf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(!a){g=0;return g|0}if(Kc()|0){g=0;return g|0}if(!(f[7160]|0)){b=hb[f[28684>>2]&127](40)|0;if(!b){g=0;return g|0}else c=b}else{e=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;c=55352;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){h=f[14051]|0;c=Ou(b|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&c>>>0<=h>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c){h=0;return h|0}b=hb[f[28696>>2]&127](c)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=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(!(bf(c,(h|0)>1?h:1,1)|0)){bv((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?(ef(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))df(c);b=f[e>>2]|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);h=0;return h|0}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);h=0;return h|0}return 0}function Yf(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=Gc(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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))y=0;else{y=Ec(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))A=0;else{A=Ec(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Ec(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=hi(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=33138;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;bv(w|0,0,268)|0;b[I+196>>0]=2;f[I>>2]=J;f[I+128>>2]=1;c=$f(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]=33143;f[r+4>>2]=102416;f[r+8>>2]=31184;yc(11,31132,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]=116;f[v+8>>2]=117;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;ag(I,g,0);c=(b[i>>0]|0)==0?f[c>>2]|0:7;if(c|0){F=163;break b}wk(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?mi(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?mi(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?mi(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;mi(v,c)|0;break}c=bg(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((ni(I,0,g,u)|0)!=(o|0))break;g=f[c+28>>2]|0;if(g|0)_o(I,H,f[g+8>>2]|0,x);$o(I,H,f[c+24>>2]|0,x);_o(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))$o(I,H,f[(f[i>>2]|0)+16>>2]|0,x);Wo(v,f[i>>2]|0)}while(0);c=Xo(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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29){if(!(520028155>>>c&1)){c=35431;break h}c=f[7968+(c<<2)>>2]|0}else c=35431}}while(0);Ze(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=Gc(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=Gc(i,1)|0}while(0);L=f[w>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=56244;f[G+12>>2]=L;c=ud(33163,G)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{L=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(I);jg(J,f[H>>2]|0);f[D>>2]=E;t=K;return}function Zf(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=Gc(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=Gc(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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Ec(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=hi(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]=118;f[A+8>>2]=119;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=33138;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;bv(z|0,0,268)|0;b[H+196>>0]=3;f[H>>2]=J;f[H+128>>2]=1;c=$f(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]=33143;f[o+4>>2]=102416;f[o+8>>2]=31184;yc(11,31132,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;mi(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=bg(H,n?v:0)|0;if(c|0){F=131;break b}Wo(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;ag(H,f[g>>2]|0,r);y=(f[H+36>>2]|0)==0;c=f[H+12>>2]|0;wk(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?mi(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=Xo(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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(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=Gc(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=Gc(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]=56244;f[G+12>>2]=e;c=ud(33163,G)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(H);jg(J,f[I>>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;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=Gc(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=Gc(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=Dc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Ec(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=33138;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;bv(l|0,0,268)|0;b[A+196>>0]=3;f[A>>2]=w;f[A+128>>2]=1;C=$f(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]=33143;f[r+4>>2]=102416;f[r+8>>2]=31184;yc(11,31132,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;ag(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(bg(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=33138;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{$e(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=Gc(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=Gc(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]=33184;f[v+12>>2]=C;c=ud(33163,v)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{C=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);cg(A);f[x>>2]=y;t=B;return}function $f(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=Jj(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=Jj(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+(Jj(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[10016+(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+(Jj(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[10016+(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+(Jj(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[10016+(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+(Jj(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[10016+(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[10208+(n<<1)>>1]|0;m=r;while(1){i=m&65535;k=i+l|0;if(k>>>0<=2018?(d[11264+(k<<1)>>1]|0)==m<<16>>16:0){S=65;break}if((m&65535)>=91){S=61;break}i=d[10016+(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[11264+(i<<1)>>1]|0)!=91):0){i=15312+(i<<1)|0;break}i=19344+(n<<1)|0}else if((S|0)==65){S=0;i=15312+(k<<1)|0}while(0);k=d[i>>1]|0}if((k&65535)<=1125){S=69;break}k=ol(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))li(i,41661,K);else{f[J>>2]=E;li(i,41637,J)}f[L>>2]=i;pl(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,pl(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;pl(r,d[i+2>>1]|0,i+4|0);i=f[h>>2]|0}while(i>>>0>B>>>0)}li(k,41615,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=Jj(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;li(a,41588,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;pl(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=35490;break}case 100:{g=35468;break}default:{g=M&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7968+(g<<2)>>2]|0;else g=35431}}f[O>>2]=g;O=Gg(U,31564,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;yc(p,41678,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;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{S=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(U,g);break}R=g+32|0;S=(f[R>>2]|0)+-1|0;f[R>>2]=S;if(!S)fg(U,g)}while(0);g=b[c>>0]|0}do if((g&255)<=1?(T=f[a+232>>2]|0,T|0):0){ig(U,f[T+28>>2]|0);g=f[T>>2]|0;do if(g|0){if(f[U+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[T+4>>2]|0;do if(g|0){if(f[U+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[T+12>>2]|0;if(g|0)gg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(U,c);c=h;S=188;break k}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);S=186;break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{R=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(0,g);g=f[n+8+(c<<4)+8>>2]|0;if(g|0)kg(0,g,1);g=f[n+8+(c<<4)>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(U,g);g=f[n+8+(h<<4)+8>>2]|0;if(g|0)kg(U,g,1);g=f[n+8+(h<<4)>>2]|0;m:do if(g|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{T=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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){fg(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))fg(U,g);g=f[h>>2]|0}while((g|0)!=0);t=V;return p|0}function ag(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]=120;f[h>>2]=a;e=h+8|0;if(!(b[a+22>>0]|0))g=h+12|0;else{f[e>>2]=121;g=h+12|0;f[g>>2]=0;wk(h,c)|0}f[e>>2]=122;f[g>>2]=67;wk(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]=123;f[h+8>>2]=124;f[h+12>>2]=0;f[h>>2]=a;f[h+24>>2]=d;wk(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]=125;f[h+12>>2]=68;f[h+4>>2]=120;f[h>>2]=a;wk(h,c)|0;t=i;return}function bg(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=hi(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=ii(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]=123;f[X+8>>2]=124;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)){mi(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;li(a,33384,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?(ag(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=ni(a,0,e,c)|0;if(!i){e=1;ea=90;break}e=ii(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]=123;f[y>>2]=124;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)){mi(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;li(e,33384,_)}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]=123;f[D>>2]=124;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}mi(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;li(e,33384,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]=123;f[I>>2]=124;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}mi(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;li(e,33384,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]=123;f[Q>>2]=124;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}mi(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;li(e,33384,$)}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]=123;f[M>>2]=124;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)){mi(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;li(e,33384,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]=123;f[U>>2]=124;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;li(e,33384,ba);e=1;break}mi(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 cg(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)dg(i)|0;e=f[i>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{m=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(n,c);break}l=c+32|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;if(!m)fg(n,c)}while(0);d=f[a+228>>2]|0;do if(d|0){c=f[d+36>>2]|0;if(c|0)gg(n,c);c=f[d+40>>2]|0;if(c|0)hg(n,c);c=f[d+16>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,k);c=d;g=52;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);g=51;break}else{g=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);m=f[a+232>>2]|0;do if(m|0){ig(n,f[m+28>>2]|0);c=f[m>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[m+12>>2]|0;if(c|0)gg(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{k=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{o=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,d);d=e;e=c;g=116;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](d);g=114;break}else{g=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(n,e);c=m;g=127;break b}while(0);if(c)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);g=126;break}else{g=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);jg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[a+68>>2]|0;if(c|0)hg(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 dg(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;rg(a)|0;if((f[a+36>>2]|0)>-1){sg(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;tg(e,c,(i|0)==0?0:31564,d)}}c=a+108|0;d=f[c>>2]|0;do if(d|0){if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 eg(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{n=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{n=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(j,i);while(0);f[h>>2]=0}}else df(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)og(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{t=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{t=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{t=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{t=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(j,i);while(0);f[h>>2]=0}}else df(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[c+188>>2]|0;if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)og(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{t=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);e=f[s>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[c+184>>2]|0;if(!e)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);return}else{t=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);return}}function fg(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)ng((f[g+24>>2]|0)+24|0,f[g>>2]|0,0)|0;e=f[g+36>>2]|0;if(e|0)gg(a,e);e=f[g+40>>2]|0;if(e|0)hg(a,e);e=f[g+16>>2]|0;do if(e|0){if(!j){if(f[m>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);p=32;break}else{p=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ng((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)gg(a,c);c=f[e+20>>2]|0;if(c|0)hg(a,c);c=f[e+8>>2]|0;if(c|0)kg(a,c,1);c=f[g+12>>2]|0;if(c|0)gg(a,c);if(!k){if(f[l>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(a,c);c=f[e+20>>2]|0;if(c|0)hg(a,c);c=f[e+8>>2]|0;if(c|0)kg(a,c,1);c=f[g+12>>2]|0;if(c|0)gg(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 Ic(a,g);c=f[i+4>>2]|0;p=89;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](g);p=88;break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{g=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[e+4>>2]|0;if(c|0)gg(0,c);c=f[e+8>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[e+4>>2]|0;if(c|0)gg(a,c);c=f[e+8>>2]|0;do if(c|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}}while(0);c=f[b>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[b+12>>2]|0;if(c|0)kg(a,c,1);c=f[b+24>>2]|0;if(c|0)hg(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{t=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](t);break}else{s=hb[f[28696>>2]&127](t)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,c);c=b;p=211;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);p=210;break}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function gg(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)gg(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;hg(a,d);break}else{d=f[d>>2]|0;if(!d)break;kg(a,d,1);break}}else gg(a,d);while(0);d=f[e>>2]|0;if(d&16777216){mg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{d=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(f[e>>2]&32768|0)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{g=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function hg(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)gg(0,d);d=f[c+4>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);d=f[c+8>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(a,d);d=f[c+4>>2]|0;do if(d|0){if(f[h>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[c+8>>2]|0;do if(d|0){if(f[h>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{l=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function ig(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)gg(a,c);c=f[h+20>>2]|0;if(c|0)hg(a,c);c=f[h+8>>2]|0;if(c|0)kg(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,d);d=41;break b}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](d);d=40;break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);d=f[h+28>>2]|0;do if(d|0){c=f[d>>2]|0;if(c|0)hg(a,c);c=f[d+4>>2]|0;if(c|0)gg(a,c);c=f[d+8>>2]|0;if(c|0)hg(a,c);c=f[d+12>>2]|0;if(c|0)gg(a,c);if(!i){if(f[j>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{n=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,c);c=h;d=80;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);d=79;break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0)}while((b|0)!=0);return}function jg(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[7160]|0))nb[f[28688>>2]&127](c);else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(a,c);while(0)}while((b|0)!=0);return}function kg(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)hg(a,d);lg(a,f[i+32>>2]|0);d=f[i+36>>2]|0;if(d|0)gg(a,d);d=f[i+40>>2]|0;if(d|0)hg(a,d);d=f[i+44>>2]|0;if(d|0)gg(a,d);d=f[i+48>>2]|0;if(d|0)hg(a,d);d=f[i+60>>2]|0;if(d|0)gg(a,d);d=f[i+72>>2]|0;if(d|0)do{h=d;d=f[d+24>>2]|0;mg(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)hg(0,d);d=f[h+8+(e<<4)+8>>2]|0;if(d|0)kg(0,d,1);d=f[h+8+(e<<4)>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{g=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(a,d);d=f[h+8+(g<<4)+8>>2]|0;if(d|0)kg(a,d,1);d=f[h+8+(g<<4)>>2]|0;b:do if(d|0){if(f[k>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{e=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{g=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);do if(c|0){if(!j){if(f[k>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(!b)break;else c=1}return}function lg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[k+8>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);d=f[k+12>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{i=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}while(0);if(b[d>>0]&4?(m=f[k+64>>2]|0,m|0):0)hg(a,m);d=f[k+16>>2]|0;do if(d|0){if(!n?f[o>>2]|0:0){fg(a,d);break}h=d+32|0;i=(f[h>>2]|0)+-1|0;f[h>>2]=i;if(!i)fg(a,d)}while(0);d=f[k+20>>2]|0;if(d|0)kg(a,d,1);d=f[k+44>>2]|0;if(d|0)gg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,e);e=90;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=89;break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{r=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function mg(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)gg(a,c);c=f[b+4>>2]|0;if(c|0)hg(a,c);c=f[b+8>>2]|0;if(c|0)hg(a,c);c=f[b+20>>2]|0;if(c|0)gg(a,c);c=f[b+16>>2]|0;if(c|0)gg(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 Ic(a,c);c=b;d=24;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);d=23;break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function ng(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=55580;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=55580;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[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{s=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{a=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){e=hb[f[28684>>2]&127](16)|0;if(!e){a=d;return a|0}else r=e}else{e=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){r=f[14051]|0;o=Ou(i|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=r>>>0)&1}i=hb[f[28684>>2]&127](e)|0;if(!i){a=d;return a|0}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Nu(e|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&q>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](e)|0;break}j=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[14051]|0;p=Ou(e|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&p>>>0<=q>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(i){e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}else i=0}else i=0;while(0);if(i){e=f[t>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[t>>2]=i;o=hb[f[28696>>2]&127](i)|0;n=o>>>3;f[a>>2]=n;bv(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 og(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(b|0){case -16:{pg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}case -8:{if(!(f[c+4>>2]&16))return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}case -11:{if(f[a+480>>2]|0){qg(a,c);return}if(!c)return;if(!((d[c+8>>1]&9216)==0?!(f[c+24>>2]|0):0))df(c);a=f[c+32>>2]|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[(f[b>>2]|0)+16>>2]&127](b)|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}default:return}}function pg(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 Ic(a,e);d=14;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);d=12;break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function qg(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 Ic(a,e);d=15;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);d=13;break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function rg(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}Ag(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{Bg(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{H=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{H=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[i>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{H=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(k,i);while(0);f[g>>2]=0}}else df(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{Bg(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{H=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](v);break}else{H=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);f[i>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{H=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(m,k);while(0);f[i>>2]=0}}else df(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)nb[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}e=f[o>>2]|0;if(!e)break f}do{g=f[e+12>>2]|0;if(g|0)nb[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[7160]|0)){nb[f[28688>>2]&127](e);break}else{H=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[n>>2]|0;if(!c)break g}do{e=f[c+12>>2]|0;if(e|0)nb[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[7160]|0)){nb[f[28688>>2]&127](c);break}else{H=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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:{}}Cg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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;Dg(a,33198,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){Cg(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=Nu(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;Dg(a,33198,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=hb[e&127](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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);l=f[n>>2]|0;o:do if(!l)g=0;else{m=(zt(l)|0)+1|0;p:do if(!k){A=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](m)|0;I=247;break}g=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break o}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(k,m,0)|0;I=247}while(0);if((I|0)==247){I=0;if(!g){g=0;break}}$u(g|0,l|0,m|0)|0}while(0);f[q>>2]=g;g=f[n>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{A=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ib[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(!(hb[f[n>>2]&127](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(hb[e&127](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=56244;I=278}do if((I|0)==278){if((g|0)<2|((zt(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=56244;I=320}if((I|0)==320)g=(zt(e)|0)&1073741823;f[E>>2]=e;o=Gg(K,33228,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;yc(13,33244,F)}while(0);xd(4,E);e=f[E>>2]|0;f[D>>2]=e>>>8;f[D+4>>2]=e&255;td(13,i,33273,D)|0;e=kb[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;yc(13,33259,G);jb[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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;if(!e){e=7;break v}else m=e}else{e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){G=f[14051]|0;F=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){e=7;break v}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0){m=g;break}f[14060]=e;m=g}while(0);bv(m|0,0,k|0)|0;e=lb[f[n+24>>2]&127](n,o,m,16406,0)|0;if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=((zt(g)|0)&1073741823)+1|0;e=lb[f[(f[m>>2]|0)+12>>2]&127](m,g,e,k,i)|0;if(e|0)break x;g=Nu(k|0,i|0,((zt(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){hb[f[g+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}jb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break t}}while(0);do if(!((hb[f[(f[m>>2]|0)+48>>2]&127](m)|0)&1024)){e=ib[f[(f[m>>2]|0)+20>>2]&255](m,2)|0;if(!e)break;g=f[m>>2]|0;if(g|0){hb[f[g+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{I=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}jb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Eg(e,o)|0;if(!e)g=g+1|0;else{g=0;break}}i=f[m>>2]|0;if(i|0){hb[f[i+4>>2]&127](m)|0;f[m>>2]=0}if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}if(!g){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break t}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break t}}e=jb[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[7160]|0)){nb[f[28688>>2]&127](o);break}else{G=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}}else Ic(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){Fg(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;hb[g&127](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)hb[f[(f[e>>2]|0)+16>>2]&127](e)|0;do if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(K,m);while(0);f[s>>2]=0}break q}while(0);do if(K|0){if(f[K+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Eg(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=Fg(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;hb[g&127](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)hb[f[(f[e>>2]|0)+16>>2]&127](e)|0;do if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{G=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{G=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(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;Cg(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:{}}Cg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{I=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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=Hg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0}Cg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{J=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}else Ic(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 sg(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{af(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=Bc(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)Ze(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 tg(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;ug(a,b);if(!c){vg(a,b);t=g;return}b=a+256|0;if((f[b>>2]|0)==0?(h=wg(a)|0,f[b>>2]=h,(h|0)==0):0){t=g;return}f[e>>2]=d;a=xg(a,c,e)|0;b=f[b>>2]|0;if(b|0)Ze(b,a,-1,1,108)|0;t=g;return}function ug(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=jb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function vg(a,b){a=a|0;b=b|0;f[a+64>>2]=b;if(b|0){zg(a,b);return}if(!(f[a+256>>2]|0))return;zg(a,0);return}function wg(a){a=a|0;var c=0,e=0,g=0;a:do if(!a)c=yg(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=Bc(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 xg(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;zc(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=Ac(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 yg(a,b){a=a|0;b=b|0;var c=0,d=0;c=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](a)|0;return c|0}c=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;a=55352;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[14051]|0;a=Ou(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[13840]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=hb[f[28684>>2]&127](c)|0;if(!a){d=0;return d|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0<=(f[14060]|0)>>>0){d=a;return d|0}f[14060]=b;d=a;return d|0}function zg(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{af(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=jb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function Ag(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){Bg(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)nb[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];if(!(f[7160]|0))nb[f[28688>>2]&127](b);else{i=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[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[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}}else Ic(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 Bg(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;_h(e,c);d=f[c+40>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);do if(e){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{h=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[a>>2]=0;return}case 0:{if(!(b[c+5>>0]&1)){ai(f[c+40>>2]|0);return}a=f[c+8>>2]|0;if(!a)return;$h(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;hb[f[g+28>>2]&127](h)|0;return}default:return}}function Cg(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;Sh(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)hb[o&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{o=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else Ic(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);Th(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;nb[d&127](f[a+220>>2]|0);return}function Dg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;zc(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=Ac(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 Eg(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]=33143;f[o+4>>2]=66792;f[o+8>>2]=31184;yc(11,31132,o);v=11;t=w;return v|0}if(l|i>>>0>=g>>>0)a=0;else a=Ig(k,0,0)|0;e=(a|0)==0;if(g>>>0>i>>>0&e)do{a=yh(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=Lg(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=Mg(e)|0;break}else{a=Ng(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;uh(u)|0;v=a;t=w;return v|0}f[e>>2]=33143;f[e+4>>2]=66787;f[e+8>>2]=31184;yc(11,31132,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=zh(a,c,0)|0;t=w;return v|0}function Fg(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=qh(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?73:74;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;Sg(f[l>>2]|0);f[l>>2]=0}th(a);l=0;return l|0}function Gg(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;zc(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=Ac(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 Hg(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=Ig(g,0,0)|0,m|0):0){g=m;break}g=Jg(f[j>>2]|0,2,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Kg(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=Jg(f[i>>2]|0,1,u)|0;if(!g){if(o?d[i+22>>1]&16:0)f[i+44>>2]=0;g=Kg(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=Jg(f[j>>2]|0,1,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Kg(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=ib[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=ib[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 Ig(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)){$g(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))$g(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;mh(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=Nu(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[7160]|0)){a=hb[f[28684>>2]&127](a)|0;if(!a){a=7;break a}else g=a}else{h=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;g=55352;a=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&a>>>0>0){n=f[14051]|0;m=Ou(a|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&m>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(!g){a=7;break a}a=hb[f[28696>>2]&127](g)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0>(f[14060]|0)>>>0)f[14060]=a}a=nh(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)){$g(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))$g(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{n=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);n=j+1|0;b[n>>0]=b[n>>0]&-15;n=a;return n|0}function Jg(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{Sg(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)==29304){c=e+16|0;g=f[c>>2]|0;if(g|0)do{h=g;g=f[g>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{y=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){g=hb[f[28684>>2]&127](512)|0;if(!g){a=7;t=z;return a|0}}else{g=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){u=f[14051]|0;r=Ou(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=u>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){a=7;t=z;return a|0}c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}bv(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=eh(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=bh(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(!(ch(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;bv(y|0,0,i-y|0)|0}}else g=0;h=dh(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=bh(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=fh(a,0,p,h,y,x)|0;c=f[y>>2]|0;if(!c){c=m;c=Nu(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=Ou(p|0,h|0,c|0,e|0)|0;w=ba()|0;c=(f[o>>2]|0)+8|0;c=Ru(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=eh(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=Tu(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(!(ch(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;bv(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=eh(a,x,u,0,1)|0;if(!g)h=h+1|0;else break}}while(0)}Sg(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 Kg(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=Lg(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=Mg(i)|0;e=10;break}else{c=Ng(i)|0;e=10;break}}while(0);if((e|0)==10?c|0:0){n=c;return n|0}c=n;e=6048;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;bv(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]=126;k=f[i>>2]|0;b[m+2>>0]=1;b[m+3>>0]=1;f[m+80>>2]=171;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 Lg(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[7170]|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=lb[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]=29304;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=Tu(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=lb[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=Nu(e|0,g|0,4,0)|0;c=ba()|0;c=lb[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=Ug(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 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,p=0,q=0,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=jb[f[28780>>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=ah(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)){$g(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=kb[f[n>>2]&127](y,l,s,0)|0;if(a|0){z=22;break a}a=Ng(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)){$g(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=jb[f[28780>>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=ah(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)){$g(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 Ng(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[7160]|0)){c=hb[f[28684>>2]&127](512)|0;if(!c)q=16}else{c=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){p=f[14051]|0;j=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&j>>>0<=p>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}else q=16}if((q|0)==16){f[u+56>>2]=0;a=7;t=v;return a|0}bv(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]=29304;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=jb[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[7170]|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]=29304;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=lb[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=Rg(u)|0;if(!c)break}Sg(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=Tg(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=Lg(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 Og(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 Pg(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=Zu(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=Zu(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=Zu(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){Qg(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 Qg(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 Rg(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=Nu(c|0,d|0,-1,-1)|0;c=Ru(c|0,ba()|0,i|0,0)|0;c=Nu(c|0,ba()|0,1,0)|0;c=Tu(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,((hb[f[(f[p>>2]|0)+48>>2]&127](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;xd(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;bv(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=lb[f[(f[n>>2]|0)+12>>2]&127](n,k,m,f[c>>2]|0,f[c+4>>2]|0)|0;n=g;n=Nu(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 Sg(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{Sg(f[c+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=125)}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Tg(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=lb[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=Nu(n|0,g|0,4,0)|0;g=ba()|0;e=lb[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=Nu(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=lb[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=Nu(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=Ug(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=Ug(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 Ug(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[7160]|0)){a=hb[f[28684>>2]&127](512)|0;if(!a){m=17;break}}else{a=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){l=f[14051]|0;k=Ou(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;j=ba()|0;f[13840]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){m=17;break}d=hb[f[28696>>2]&127](a)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}bv(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[7160]|0)){c=hb[f[28684>>2]&127](500)|0;if(!c){m=7;return m|0}else e=c}else{a=hb[f[28700>>2]&127](500)|0;if((f[14058]|0)>>>0<500)f[14058]=500;c=55352;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){m=f[14051]|0;e=Ou(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=m>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a){m=7;return m|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=c;e=a}else e=a}$u(e|0,g|0,500)|0;bv(g|0,0,500)|0;f[i>>2]=(((f[j>>2]|0)+124|0)>>>0)/125|0;c=Ug(l,k)|0;d=0;do{a=f[e+(d<<2)>>2]|0;if(a)c=Ug(l,a)|0|c;d=d+1|0}while((d|0)!=125);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);m=c;return m|0}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Vg(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[7160]|0))nb[f[28688>>2]&127](b);else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b)}}while((a|0)!=0);f[c>>2]=0;return 0}function Wg(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=Nu(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=Uu(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;$u(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;$u(j|0,g+4|0,h|0)|0;i=i-b|0}while((i|0)>-1)}while(0);b=(g|0)==0;d=Nu(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 Xg(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=Nu(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=lb[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=Nu(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;L=ba()|0;h=Ou(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=lb[f[(f[a>>2]|0)+12>>2]&127](a,j+4|0,i,k,l)|0;if(h|0){i=a;break a}k=Nu(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[7160]|0))nb[f[28688>>2]&127](h);else{L=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h)}}while((g|0)!=0)}L=lb[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){hb[f[j+4>>2]&127](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=Uu(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=Dd(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}$u(g+4+i|0,b|0,k|0)|0;l=l-k|0;h=m;h=Nu(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 Yg(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[7160]|0))nb[f[28688>>2]&127](c);else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Zg(a,b){a=a|0;b=b|0;return 0}function _g(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 $g(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;pb[f[28784>>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 ah(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 bh(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=jb[f[28780>>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=ah(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=kh(g)|0;if(!e){nb[f[a+200>>2]&127](g);if(!(d[g+28>>1]&32)){$g(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)){$g(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;pb[f[28784>>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 ch(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((Kc()|0)==0?(e=i<<2,e=Lc(k,e,((e|0)<0)<<31>>31)|0,e|0):0){k=f[g>>2]|0;bv(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=lb[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[7160]|0)){e=hb[f[28684>>2]&127](32768)|0;if(!e)e=0;else l=18}else{e=hb[f[28700>>2]&127](32768)|0;if((f[14058]|0)>>>0<32768)f[14058]=32768;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){k=f[14051]|0;j=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&j>>>0<=k>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(e){g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;l=18}else l=18}else e=0}if((l|0)==18)bv(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 dh(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 eh(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=lb[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=Nu(f[x>>2]|0,f[x+4>>2]|0,4,0)|0;k=ba()|0;k=lb[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=Nu(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=Nu(p|0,q|0,-4,-1)|0;k=ba()|0;k=lb[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=Ug(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=jb[f[28780>>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=ah(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=Tu(F|0,((F|0)<0)<<31>>31|0,E+-1|0,0)|0;l=ba()|0;l=lb[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{ih(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=kb[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;$u(k|0,I|0,f[H>>2]|0)|0;nb[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))}$g(f[J>>2]|0);J=n;t=K;return J|0}function fh(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=Nu(i|0,j|0,-1,-1)|0;n=ba()|0;r=a+148|0;i=f[r>>2]|0;n=Ru(o|0,n|0,i|0,0)|0;n=Nu(n|0,ba()|0,1,0)|0;n=Tu(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=Nu(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=lb[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(!(Kt(k,33286,8)|0))c=i;else{s=101;t=u;return s|0}}l=f[c>>2]|0;m=Nu(n|0,o|0,8,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,12,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,16,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,20,0)|0;i=ba()|0;i=lb[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=Nu(n|0,o|0,24,0)|0;i=ba()|0;i=lb[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=gh(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=Nu(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 gh(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=ib[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[13883]|0)>=(p|0)?(g=f[13889]|0,(g|0)!=0):0){f[13889]=f[g>>2];n=f[13890]|0;f[13890]=n+-1;f[13891]=(n|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0

>>0)f[14059]=p;i=(f[14052]|0)+1|0;f[14052]=i;if(i>>>0>(f[14056]|0)>>>0)f[14056]=i}else{n=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](p)|0;if(!g){e=7;break}}else{g=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=f[14051]|0;l=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){e=7;break}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}i=hb[f[28696>>2]&127](g)|0;if((f[14059]|0)>>>0

>>0)f[14059]=p;i=(f[14053]|0)+i|0;f[14053]=i;if(i>>>0>(f[14057]|0)>>>0)f[14057]=i}hh(a);k=f[m>>2]|0;m=k+24|0;do if(f[m>>2]|0){j=k+28|0;n=jb[f[28768>>2]&127](p,(f[j>>2]|0)+40|0,h[k+32>>0]|0)|0;if(n|0){l=f[7193]|0;i=f[k+16>>2]|0;if((i|0)<=-1){u=Tu(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=Ru(u|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0}ob[l&127](n,i);i=k+44|0;j=f[i>>2]|0;if(j|0)nb[f[28796>>2]&127](j);f[i>>2]=n;f[m>>2]=p;break}e=g;do if((f[13886]|0)>>>0<=e>>>0)if((f[13887]|0)>>>0>e>>>0){f[14052]=(f[14052]|0)+-1;f[g>>2]=f[13889];f[13889]=g;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;e=7;break b}else{e=hb[f[28696>>2]&127](g)|0;break}else e=hb[f[28696>>2]&127](g)|0;while(0);f[14053]=(f[14053]|0)-e;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);e=7;break b}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break c}else{i=hb[f[28696>>2]&127](k)|0;break}else i=hb[f[28696>>2]&127](k)|0;while(0);f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{u=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[j>>2]=g;u=o;s=f[u>>2]|0;u=f[u+4>>2]|0;o=Nu(p|0,0,-1,-1)|0;u=Nu(o|0,ba()|0,s|0,u|0)|0;u=Ru(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 hh(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)pb[f[28784>>2]&255](f[i+44>>2]|0,f[h>>2]|0,0)}}while((c|0)!=0);if((f[j+12>>2]|0)!=0?(l=jb[f[28780>>2]&127](f[k>>2]|0,1,0)|0,(l|0)!=0):0){bv(f[l>>2]|0,0,f[j+24>>2]|0)|0;c=2}else c=1;ob[f[28792>>2]&127](f[k>>2]|0,c);return}function ih(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=jh(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 jh(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=Tu(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=Ou(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=Ru(c|0,g|0,q|0,m|0)|0;k=ba()|0;do if((1073741824/(a>>>0)|0|0)!=(j|0)){a=kb[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=Lg(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=Mg(h)|0;z=15;break}else{a=Ng(h)|0;z=15;break}}while(0);if((z|0)==15){z=0;if(a|0)break;a=f[x>>2]|0}i=Uu(c|0,g|0,r|0,u|0)|0;ba()|0;h=f[a+4>>2]|0;a=Tu(j|0,k|0,q|0,m|0)|0;a=Ou(c|0,g|0,a|0,ba()|0)|0;ba()|0;a=h+a|0;$u(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)){$g(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=Nu(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 kh(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=lh(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=Tu(l|24|0,0,c+-1|0,0)|0;e=Nu(e|0,ba()|0,56,0)|0;c=ba()|0;c=lb[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=Tu((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=lb[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 lh(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=ch(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]=33143;f[B+4>>2]=60988;f[B+8>>2]=31184;yc(11,31132,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 mh(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;pb[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 nh(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;mh(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]=33143;f[m+4>>2]=67612;f[m+8>>2]=31184;yc(11,31132,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){$u(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=Lg(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=Mg(l)|0;z=13;break}else{k=Ng(l)|0;z=13;break}}while(0);if((z|0)==13?k|0:0)break;$u(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)>(hb[f[28696>>2]&127](k)|0);k=f[m>>2]|0;if(r)z=23}else z=23;if((z|0)==23){k=Lc(k,c<<3,0)|0;if(!k){k=7;break}f[m>>2]=k;l=c<<2}bv(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=kb[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){$u(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=Lg(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=Mg(c)|0;z=46;break}else{v=Ng(c)|0;z=46;break}}while(0);if((z|0)==46?(z=0,v|0):0){k=v;break}$u(l|0,g|0,n|0)|0;k=0}while(0);l=f[y>>2]|0;if(l)if(!(d[l+28>>1]&32)){$g(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=oh(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]=33143;f[A+4>>2]=67757;f[A+8>>2]=31184;yc(11,31132,A);A=11;t=B;return A|0}function oh(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=ph(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=kb[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)){$g(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 ph(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=kb[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)){$g(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]=33143;f[m+4>>2]=63979;f[m+8>>2]=31184;yc(11,31132,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)){$g(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]=33143;f[n+4>>2]=63987;f[n+8>>2]=31184;yc(11,31132,n);n=11;t=o;return n|0}function qh(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{Sg(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)==29304){i=29304;z=9}if((z|0)==9){hb[f[i+4>>2]&127](k)|0;f[k>>2]=0}i=a+92|0;k=f[i>>2]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)==29304){l=o+16|0;i=f[l>>2]|0;if(i|0)do{k=i;i=f[i>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=jb[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=ib[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;hb[f[m+4>>2]&127](o)|0;f[o>>2]=0;if(!s){i=0;break a}i=f[a>>2]|0;i=jb[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=jb[f[m+16>>2]&127](o,0,0)|0;else i=lb[f[m+12>>2]&127](o,55296,28,0,0)|0;if(!i){if(!(b[a+7>>0]|0)){i=f[n>>2]|0;i=ib[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=ib[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=jb[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;Sg(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=Tu(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=Ru(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=Tu(c|0,0,100,0)|0;c=ba()|0}if(k|0?(r=Ru(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)pb[f[28784>>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)pb[f[28784>>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=jb[f[28780>>2]&127](f[r>>2]|0,1,0)|0,(u|0)!=0):0){bv(f[u>>2]|0,0,f[l+24>>2]|0)|0;k=1}else k=0;ob[f[28792>>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=ib[f[w+24>>2]&255](v,x)|0;l=((p|0)<0)<<31>>31;c=Tu(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=Nu(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;bv(x|0,0,p|0)|0;y=f[y>>2]|0;z=Ou(c|0,m|0,p|0,l|0)|0;g=ba()|0;g=lb[f[(f[y>>2]|0)+12>>2]&127](y,x,p,z,g)|0;z=117}}else{g=f[y>>2]|0;g=jb[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;kb[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=jb[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(!(kb[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=ib[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 rh(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]=33143;f[h+4>>2]=55821;f[h+8>>2]=31184;yc(11,31132,h);a=11;t=q;return a|0}p=a+212|0;h=f[p>>2]|0;h=jb[f[28780>>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=hb[f[28776>>2]&127](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=ib[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=jb[f[28780>>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=ah(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=kh(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)Ug(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){Ug(f[i+(j*48|0)+16>>2]|0,c)|0;h=f[g>>2]|0}j=j+1|0}while((j|0)<(h|0))}}bv(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]=33143;f[l+4>>2]=55853;f[l+8>>2]=31184;yc(11,31132,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;pb[f[28784>>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))qh(a,0,0)|0;break}default:uh(a)|0}vh(a)}f[e>>2]=0;a=h;t=q;return a|0}function sh(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 th(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[7160]|0)){nb[f[28688>>2]&127](e);i=15;break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$g(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))qh(c,0,0)|0;break}default:uh(c)|0}vh(c);return}function uh(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=wh(a,0)|0;break}c=qh(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]=74;e=c;return e|0}}else{c=Jg(a,2,-1)|0;d=qh(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?73:74;e=c;return e|0}function vh(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;Sg(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{Sg(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)==29304){c=29304;k=7}if((k|0)==7){hb[f[c+4>>2]&127](e)|0;f[e>>2]=0}c=a+92|0;e=f[c>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?((hb[f[g+48>>2]&127](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){hb[f[j+4>>2]&127](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=ib[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;kb[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;kb[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)){hh(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]=73;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 pl(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;kg(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;gg(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;hg(f[a>>2]|0,b);return}case 230:case 224:case 223:case 212:case 205:{lg(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)hg(0,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)kg(0,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hg(i,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)kg(i,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0){if(f[c>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);return}else{j=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;mg(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{h=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(j,a);a=c;c=82;break c}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);c=80;break}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{k=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}case 270:case 269:case 268:case 237:{mg(f[a>>2]|0,f[c>>2]|0);return}case 254:case 249:{ig(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(j,a);a=c;c=126;break e}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);c=124;break}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{k=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}case 276:case 275:case 274:{b=f[c+4>>2]|0;if(!b)return;gg(f[a>>2]|0,b);return}default:return}while(0)}function ql(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=Bc(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;Xa()}rl(e,61,0,1,0)|0;a=e;return a|0}function rl(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=Bc(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=Jc(i,a,m,0)|0;l=26;break}a=Jc(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=hb[f[28696>>2]&127](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 sl(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;og(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;og(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;og(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=(zt(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=Nu(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=Bc(i,k,l)|0;if(!g)g=0;else{$u(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 tl(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=ql(a)|0}else n=j;j=g+28|0;lm(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=rl(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 rl(n,i,c,g,e)|0;k=f[m>>2]|0;g=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);return}else{i=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);return}}function ul(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=Bc(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=Jc(i,h,a,0)|0;a=26;break}h=Jc(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=hb[f[28696>>2]&127](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[23152+(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 vl(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{rl(Z,90,k,c,e)|0;t=_;return e|0}}else Y=12;break}case 36:{So(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{rl(Z,70,c,e,0)|0;t=_;return e|0}}case 40:{c=f[L+8>>2]|0;if(!c){t=_;return e|0}gf(c,S,(zt(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=Bc(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=rl(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{sl(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Z=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=rl(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;sl(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{rl(Z,73,0,e,0)|0;t=_;return e|0}}case 90:{o=(f[L+8>>2]|0)+2|0;n=(zt(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=Bc(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);t=_;return e|0}else{Z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=vl(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{rl(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{rl(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=Bm(a,f[L+12>>2]|0,T)|0;c=Bm(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{rl(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:{So(a,c,1,e);t=_;return e|0}case -115:{c=f[c+8>>2]|0;if(!c){t=_;return e|0}gf(c,S,(zt(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=Bc(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=rl(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{sl(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Z=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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)sl(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=Bm(a,C,T)|0;c=Bm(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{rl(Z,97,c,k,e)|0;k=e;break b}}}}case 304:{c=Bm(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{rl(Z,B,c,e,0)|0;k=e;break}}case 307:{i=Bm(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=rl(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 rl(Z,70,1,e,0)|0;c=Bm(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=rl(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 rl(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=55600;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];li(a,49975,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]=132;f[S+8>>2]=133;f[S+24>>2]=0;mi(S,L)|0;if(!(b[R>>0]|0)){c=f[y>>2]|0;break}e=Nm(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=Pk(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=vl(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{rl(k,78,c,e,0)|0;break}}else{F=vl(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{rl(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 rl(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=vl(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{rl(k,78,c,e,0)|0;break}}else{G=vl(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{rl(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=vl(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]=132;f[o>>2]=133;f[q>>2]=0;if(!g)g=1<>0]|0)==0?0:1<>2]&32|0)==0))l=Xk(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);Ho(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=To(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=rl(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){sl(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{Y=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(a,50001,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;li(a,45521,l);k=e;break}e=Km(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=Km(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;li(a,47716,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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{Y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{Y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(Z,73,0,e,0)|0;Em(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 rl(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 rl(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=Dm(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;vl(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 rl(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{rl(Z,84,e,0,0)|0;k=e;break}}else k=e;break}case 576:{li(a,40340,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=rl(Z,21,c,0,0)|0;k=vl(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[13902]=c;c=55600}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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{R=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Dm(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=Jc(o,g,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{S=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,c,~r,16);g=f[B+4+((u|1)*20|0)>>2]|0;do if(g){if((b[g>>0]|0)!=-92){I=vl(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{rl(l,78,g,e,0)|0;break}}else{I=vl(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{rl(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 rl(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{rl(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=vl(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{rl(k,78,c,e,0)|0;break p}}else i=vl(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{rl(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)){li(a,50024,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=rl(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;sl(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=rl(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;sl(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;ym(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=vl(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{rl(Z,79,k,e,0)|0;break}}else g=Z+12|0;while(0);k=49967+((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=rl(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{sl(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=Jc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);c=0;break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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)){li(a,40340,D);k=e;break}i=N<<24>>24==55?56:N;if((b[O>>0]|0)==127){H=Km(a,O,0,0)|0;c=b[M>>0]|0}else{H=0;c=g}if(c<<24>>24==127)u=Km(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=Bm(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=Bm(a,k,R)|0}}o=c&255;Cm(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 rl(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 rl(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 rl(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=Bm(a,O,T)|0;S=L+16|0;Z=Bm(a,f[S>>2]|0,X)|0;Cm(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 wl(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;eo(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=Bc(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}}bv(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 xl(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?39516:34444;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=Bc(O,e,0)|0;N=14}if((N|0)==14?o|0:0){$u(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){li(a,41825,p);t=P;return}n=Fl(O,c)|0;if((n|0)<0){f[q>>2]=c;li(a,41842,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){li(a,49857,s);t=P;return}s=o?1:n;r=nl(O,e)|0;b:do if((h[a+196>>0]|0)>1){p=f[a>>2]|0;c:do if(!p){if(!(f[7160]|0)){n=hb[f[28684>>2]&127](16)|0;N=49;break}n=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;p=55352;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){I=f[14051]|0;C=Ou(o|0,p|0,n|0,((n|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&C>>>0<=I>>>0)&1}n=hb[f[28684>>2]&127](n)|0;if(!n)break b;o=hb[f[28696>>2]&127](n)|0;o=(f[14051]|0)+o|0;f[14051]=o;if(o>>>0>(f[14055]|0)>>>0)f[14055]=o;o=(f[14054]|0)+1|0;f[14054]=o;if(o>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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(!(Xl(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?39516:34444;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=mb[u&127](f[o+316>>2]|0,18,n,0,p,f[a+236>>2]|0)|0;if((n|0)==1){li(a,40490,v);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{li(a,40505,w);f[a+12>>2]=1;N=241;break d}}while(0);w=(k|0)==0;do if(((w?(x=h[49898+(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=mb[z&127](f[y+316>>2]|0,x,C,0,p,f[a+236>>2]|0)|0;if((n|0)==1){li(a,40490,B);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{li(a,40505,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=oi(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=oi(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(!(hi(O,C,o)|0)){if(Oj(O,C,o)|0){f[F>>2]=C;li(a,49926,F);N=240;break d}if(O|0){N=118;break}if(!(f[7160]|0)){m=hb[f[28684>>2]&127](80)|0;N=140;break}m=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){G=f[14051]|0;F=Ou(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}m=hb[f[28684>>2]&127](m)|0;if(!m){N=141;break}n=hb[f[28696>>2]&127](m)|0;n=(f[14051]|0)+n|0;f[14051]=n;if(n>>>0>(f[14055]|0)>>>0)f[14055]=n;n=(f[14054]|0)+1|0;f[14054]=n;if(n>>>0<=(f[14060]|0)>>>0)break;f[14060]=n;break}if(!l){f[E>>2]=c;li(a,49902,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=aj(f[s>>2]|0,0,s,L,0,542)|0;if(n|0){li(p,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;a=(f[13890]|0)+1|0;f[13890]=a;f[13891]=(a|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;N=103;break}else{m=hb[f[28696>>2]&127](n)|0;N=103}while(0);do if((N|0)==103){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{a=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);a=gh(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=Bc(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?(wt(C,43582)|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=ql(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=aj(f[M>>2]|0,0,M,L,0,542)|0;if(m|0){li(s,42209,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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;L=(f[13890]|0)+1|0;f[13890]=L;f[13891]=(L|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;N=166;break}else{m=hb[f[28696>>2]&127](n)|0;N=166}while(0);do if((N|0)==166){f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{N=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);N=gh(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{rl(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 rl(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=rl(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 rl(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 rl(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=55600;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{rl(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=rl(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=ql(a)|0}else o=m;lm(a,I,1,1,34444);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=rl(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 rl(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=rl(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]=49961;b[o>>0]=-1;break}else{sl(v,n+(m*20|0)|0,49961,-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 rl(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{rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](C);t=P;return}else{O=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-O;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C);t=P;return}}function yl(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=Qt(k,95)|0,r|0):0)?(b[r>>0]=0,l=hi(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=55580;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=55580;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)?hb[u&127](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{li(a,56244,v);t=ea;return}while(0);b:do if(g&32){k=da+36|0;l=f[k>>2]|0;if(l&8|0){li(a,49538,w);t=ea;return}if(!(l&4)){f[x>>2]=f[da>>2];li(a,49588,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=55600;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=(zt(k)|0)&1073741823;f[R+4>>2]=k;k=Bk(L,59,R,0)|0;k=kl(f[a>>2]|0,0,k)|0;if((k|0?(b[k+16>>0]=b[a+194>>0]|0,Cl(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=55600;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=Bc(L,n,m)|0}if(!l)break b;bv(l|0,0,n|0)|0;s=k+32|0;$u(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;$u(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;$u(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=Nu(o|0,n|0,-1,-1)|0;H=ba()|0;if(H>>>0>0|(H|0)==0&L>>>0>2147483390)break b;if(!(f[7160]|0)){k=hb[f[28684>>2]&127](o)|0;T=141;break}k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){L=f[14051]|0;H=Ou(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;G=ba()|0;f[13840]=((G|0)<0|(G|0)==0&H>>>0<=L>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break b;m=hb[f[28696>>2]&127](k)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(L,o,n)|0;T=141}while(0);if((T|0)==141)if(!k)break;bv(k|0,0,o|0)|0;L=K+32|0;$u(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;$u(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;$u(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]=33704;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=Zu(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]=123;f[s>>2]=124;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}mi(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;li(k,33384,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=Zu(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=Yu(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=Yu(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[7920+((k&7)<<1)>>1]|0)&65535;d[da+46>>1]=k;k=f[da+8>>2]|0;if(k|0)do{Ro(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=ql(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 rl(D,117,0,0,0)|0;B=(f[da+12>>2]|0)==0;n=B?49620:49626;B=B?38396:41862;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=Gg(ca,49657,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 rl(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 rl(D,13,n,0,k)|0;m=a+36|0;do if(!(f[m>>2]|0)){k=Sk(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;fg(ca,k)}else fg(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;Il(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 rl(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=55600;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=rl(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 rl(D,102,n,k,s)|0;hn(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 rl(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 rl(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 rl(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=55600;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 rl(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?56244:49631;z=A?32359:49635;A=A?33721:49640;y=(r*6|0)+35+y|0;R=Nu(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[7160]|0)){m=hb[f[28684>>2]&127](y)|0;if(!m)break o}else{k=hb[f[28700>>2]&127](y)|0;if((f[14058]|0)>>>0>>0)f[14058]=y;n=55352;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){R=f[14051]|0;i=Ou(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[13840]=((Q|0)<0|(Q|0)==0&i>>>0<=R>>>0)&1}m=hb[f[28684>>2]&127](k)|0;if(!m)break o;k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=k}while(0);td(y,m,49643,S)|0;k=(zt(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[8352+((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[8480+p>>0]|0)){r=8896+(j[8624+(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[9520+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){td(k,n,q,W)|0;k=((zt(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[8352+((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[8480+q>>0]|0)){r=8896+(j[8624+(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[9520+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[23120+((b[w+13>>0]|0)+-65<<2)>>2]|0;o=(zt(n)|0)&1073741823;$u(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;td(k,n,31564,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]=34444;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;Rl(a,49672,Y);v:do if(m|0){if(f[ca+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Y=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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];Rl(a,49759,_)}f[$>>2]=f[k>>2];Vl(D,F,Gg(ca,49801,$)|0);if(!(b[V>>0]|0)){t=ea;return}}else k=da;if(ng((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 zl(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]=132;f[q+8>>2]=133;f[q+24>>2]=0;if(c){mi(q,c)|0;i=b[k>>0]|0}if(!(i<<24>>24)){f[n>>2]=f[m+(l<<4)>>2];li(a,49493,n);break}o=m+(l<<4)+4|0;i=f[o>>2]|0;if(i|0)gg(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=Nu(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=Bc(r,m,n)|0;if(!i)i=0;else{$u(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=zk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=131,c|0):0)mi(q,c)|0;if(!c){t=s;return}gg(r,c);t=s;return}function Al(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=Bc(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;$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;p=49;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[14051]|0;e=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&e>>>0<=n>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){q=o;return q|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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 Bl(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];li(a,49396,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=56244;else{l=f[m>>2]|0;l=l+(zt(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=40999;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){li(a,49437,y);D=52;break}Cl(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}hg(f[a>>2]|0,c);t=E;return}function Cl(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=oi(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=oi(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){li(a,41825,y);r=m;q=0;va=448;break a}q=Fl(q,c)|0;if((q|0)<0){f[z>>2]=c;li(a,41842,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=ni(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){fg(q,s);break}ka=s+32|0;la=(f[ka>>2]|0)+-1|0;f[ka>>2]=la;if(!la)fg(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;li(a,41262,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]=48956;f[C+20>>2]=c;u=(v|0)==1;f[C+8>>2]=u&1;Wl(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=ni(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];li(a,48962,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=42586;va=69}else{_=q&255;q=1232+_|0;do if((_|32|0)==115){q=b[u+1>>0]|0;if(!(q<<24>>24)){q=42587;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==113){q=b[u+2>>0]|0;if(!(q<<24>>24)){q=42588;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+3>>0]|0;if(!(q<<24>>24)){q=42589;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==105){q=b[u+4>>0]|0;if(!(q<<24>>24)){q=42590;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+5>>0]|0;if(!(q<<24>>24)){q=42591;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=42592;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=49012;va=76}else{_=q&255;q=1232+_|0;do if((_|32|0)==97){q=b[u+8>>0]|0;if(!(q<<24>>24)){q=49013;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+9>>0]|0;if(!(q<<24>>24)){q=49014;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+10>>0]|0;if(!(q<<24>>24)){q=49015;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==101){q=b[u+11>>0]|0;if(!(q<<24>>24)){q=49016;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=49017;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=49018;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=49019;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=49020;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;li(a,49022,H);r=m;q=0;va=448;break a}}}while(0);if(f[la+12>>2]|0){li(a,49050,I);r=m;q=0;va=448;break}if(f[la+56>>2]|0){li(a,49075,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=Gg(wa,49167,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=nl(wa,ga)|0;if(!q){r=m;q=0;va=448;break}if(Xl(a,q)|0){r=m;va=448;break}r=b[ta>>0]|0;if((r&255)<=1){if((b[ua>>0]|0)==0?hi(wa,q,0)|0:0){f[K>>2]=q;li(a,49109,K);r=m;va=448;break}if(!(Oj(wa,q,f[v>>2]|0)|0))va=129;else{if(!o){f[L>>2]=q;li(a,49143,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=aj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){li(v,42209,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[13886]|0)>>>0<=r>>>0)if((f[13887]|0)>>>0>r>>>0){f[14052]=(f[14052]|0)+-1;f[s>>2]=f[13889];f[13889]=s;k=(f[13890]|0)+1|0;f[13890]=k;f[13891]=(k|0)<(f[13885]|0)&1;break}else{r=hb[f[28696>>2]&127](s)|0;va=111;break}else{r=hb[f[28696>>2]&127](s)|0;va=111}while(0);do if((va|0)==111){f[14053]=(f[14053]|0)-r;if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=gh(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?39516:34444;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=mb[O&127](f[u+316>>2]|0,18,s,0,x,f[a+236>>2]|0)|0;if((r|0)==1){li(a,40490,P);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)!=2){li(a,40505,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=mb[R&127](f[u+316>>2]|0,s,q,r,x,f[a+236>>2]|0)|0;if((r|0)==1){li(a,40490,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{li(a,40505,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]=48956;li(a,41901,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=(zt(i)|0)&1073741823;f[oa+4>>2]=i;r=Bk(wa,59,oa,0)|0;r=kl(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=(zt(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=(zt(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=Nu(u|0,s|0,-1,-1)|0;Y=ba()|0;if(!(Y>>>0>0|(Y|0)==0&Z>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](u)|0;va=192;break}i=hb[f[28700>>2]&127](u)|0;if((f[14058]|0)>>>0>>0)f[14058]=u;s=55352;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){Z=f[14051]|0;Y=Ou(r|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;V=ba()|0;f[13840]=((V|0)<0|(V|0)==0&Y>>>0<=Z>>>0)&1}r=hb[f[28684>>2]&127](i)|0;if(r){i=hb[f[28696>>2]&127](r)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){va=193;break}f[14060]=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=Bc(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){bv(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;$u(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]=123;f[oa+8>>2]=124;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;li(a,33384,W)}else{mi(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]=123;f[F>>2]=124;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;li(a,33384,ca);break}mi(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=(zt(u)|0)&1073741823;m=r+1|0;$u(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?33704: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=Yk(r,u,v,m&255)|0;do if(!(m<<24>>24)){if(!r){r=Zk(a,u,0,v)|0;break}if(f[r+12>>2]|0)break p;r=Zk(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}li(a,49190,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]=33704}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;$u(u+2|0,30368,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))Ro(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=Zu(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;li(a,49251,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;li(a,49251,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(!(ng((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=ql(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=aj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){li(e,42209,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[13886]|0)>>>0<=r>>>0)if((f[13887]|0)>>>0>r>>>0){f[14052]=(f[14052]|0)+-1;f[s>>2]=f[13889];f[13889]=s;oa=(f[13890]|0)+1|0;f[13890]=oa;f[13891]=(oa|0)<(f[13885]|0)&1;break}else{r=hb[f[28696>>2]&127](s)|0;va=360;break}else{r=hb[f[28696>>2]&127](s)|0;va=360}while(0);do if((va|0)==360){f[14053]=(f[14053]|0)-r;if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=gh(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=rl(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 rl(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?56244:49293;f[qa+4>>2]=va;f[qa+8>>2]=s;s=Gg(wa,49301,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]=34444;f[ra+8>>2]=qa;f[ra+12>>2]=va;f[ra+16>>2]=A;f[ra+20>>2]=s;Rl(a,49321,ra);z:do if(s|0){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{va=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}}while(0);do if(pa){$l(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 rl(r,107,ka,1,s)|0;f[sa>>2]=f[Z>>2];Vl(C,ka,Gg(wa,49369,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{rl(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=55600;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)gg(wa,r);r=f[Z+40>>2]|0;if(r|0)hg(wa,r);r=f[Z+16>>2]|0;B:do if(r|0){do if(!_){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{va=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{va=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-va;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);if(Y){do if(!_){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](Y);r=u;va=448;break}else{r=hb[f[28696>>2]&127](Y)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)gg(wa,r);if(i|0)hg(wa,i);lg(wa,g);if(!q){t=xa;return}if(wa|0){if(f[wa+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);t=xa;return}else{g=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);t=xa;return}}function Dl(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;li(a,48753,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{li(a,48816,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=(zt(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=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](l)|0;D=42;break}n=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){A=f[14051]|0;z=Ou(k|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}m=hb[f[28684>>2]&127](n)|0;if(!m){D=127;break a}k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(L,l,n)|0;D=42}while(0);if((D|0)==42)if(!k){D=127;break}else A=k;bv(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[7160]|0)){k=hb[f[28684>>2]&127](16)|0;D=67;break}k=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){w=f[14051]|0;v=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&v>>>0<=w>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break c;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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);$u(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;li(a,48910,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=(zt(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);$u(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=ng((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){Ic(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[7160]|0)){nb[f[28688>>2]&127](A);D=127;break}else{D=hb[f[28696>>2]&127](A)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hg(L,c);D=129}if((D|0)==129?(g|0)==0:0){t=M;return}hg(L,g);t=M;return}function El(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){lg(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=oi(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=oi(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;lg(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=ni(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){lg(T,c);t=V;return}Ql(a,f[c+12>>2]|0);lg(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?ii(a,S)|0:0){lg(T,c);t=V;return}g=(R|0)==1;i=g?39516:34444;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=mb[q&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,r);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)==2){if(!i)break;lg(T,c);t=V;return}else{li(a,40505,s);f[a+12>>2]=1;lg(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=mb[n&127](f[k+316>>2]|0,m,i,l,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,u);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)!=2){li(a,40505,v);f[a+12>>2]=1;lg(T,c);t=V;return}if(i|0){lg(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=mb[l&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){li(a,40490,x);f[a+12>>2]=23;lg(T,c);t=V;return}if((i|2|0)!=2){li(a,40505,y);f[a+12>>2]=1;lg(T,c);t=V;return}if(!i){o=f[S>>2]|0;break}else{lg(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=42586;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=42587;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=42588;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=42589;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=42590;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=42591;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=42592;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=48546;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=48550;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=48551;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=48552;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=48553;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=48554;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=48555;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=48556;C=72;break}i=i&255;if((i|32|0)==116)break c;else{l=116;i=1232+i|0;C=74}}else{i=48549;C=72}}else{l=108;C=74}}else{i=48548;C=72}}else{l=113;C=74}}else{i=48547;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;li(a,48558,z);lg(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;li(a,48586,A);lg(T,c);t=V;return}}else if(!i){f[B>>2]=o;li(a,48620,B);lg(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(!(ql(a)|0)){lg(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=aj(f[H>>2]|0,0,H,P,0,542)|0;if(i|0){li(q,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;F=(f[13890]|0)+1|0;f[13890]=F;f[13891]=(F|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](k)|0;C=103;break}else{i=hb[f[28696>>2]&127](k)|0;C=103}while(0);do if((C|0)==103){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{F=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);F=gh(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){Qo(a,S,R,e);lg(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;td(24,P,42328,I)|0;if(hi(f[a>>2]|0,P,l)|0){f[J>>2]=l;f[J+4>>2]=P;f[J+8>>2]=38499;f[J+12>>2]=k;Rl(a,42342,J)}f[K>>2]=2;td(24,P,42328,K)|0;if(hi(f[a>>2]|0,P,l)|0){f[L>>2]=l;f[L+4>>2]=P;f[L+8>>2]=38499;f[L+12>>2]=k;Rl(a,42342,L)}f[M>>2]=3;td(24,P,42328,M)|0;if(hi(f[a>>2]|0,P,l)|0){f[N>>2]=l;f[N+4>>2]=P;f[N+8>>2]=38499;f[N+12>>2]=k;Rl(a,42342,N)}f[O>>2]=4;td(24,P,42328,O)|0;i=f[a>>2]|0;if(!(hi(i,P,l)|0))r=i;else{f[Q>>2]=l;f[Q+4>>2]=P;f[Q+8>>2]=38499;f[Q+12>>2]=k;Rl(a,42342,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=ql(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=55580;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=55580;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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Q=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(u,46,1,i,0)|0;n=i;break}}else n=0;while(0);Q=a+142|0;b[Q>>0]=1;Ll(a,Ik(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 rl(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=ql(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=rl(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;sl(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);Qo(a,S,R,0);lg(T,c);t=V;return}function Fl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;j=nl(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=33138;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);l=c;return l|0}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);l=c;return l|0}return 0} -function Gn(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=Zu(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=Yu(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=Jc(o,m,n,0)|0;if(!i){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);i=0;break}else{i=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{fa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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)){In(sa,f[(f[l>>2]|0)+16>>2]|0,k,1);break}else{Hn(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 rl(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 rl(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=rl(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){sl(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 og(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}Jn(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=55600;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{rl(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=Bc(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;hl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[C>>2]=k;li(sa,33384,C)}n=m+12|0;f[n>>2]=f[(f[q>>2]|0)+12>>2];f[na>>2]=0;f[z>>2]=0;k=Bk($,164,na,0)|0;f[m+16>>2]=k;if(k|0){f[k+28>>2]=u+r;xm(sa,m,f[B>>2]|0,0)}f[n>>2]=0;gg($,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=Hn(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 rl(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{rl(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;In(sa,l,i,1);m=i;i=((b[n>>0]|0)+1&2|1)&255}while(0);if((ea|0)==168){m=Bm(sa,l,na)|0;Jn(ia,k);i=(h[n>>0]|0)+-54|0}i=b[47238+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 rl(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;In(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;Jn(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 rl(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 rl(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[47269+_>>0]|0;f[a+752+(c*80|0)+48>>2]=ja;i=b[47271+_>>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=(rl(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{_=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-_;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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(!$){_=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](m)|0;ea=723;break}l=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){_=f[14051]|0;Y=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;X=ba()|0;f[13840]=((X|0)<0|(X|0)==0&Y>>>0<=_>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc($,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{rl(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 rl(qa,113,n,k,0)|0;k=f[Z>>2]|0;l=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);i=n;break}else{i=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=zk($,n,0,0)|0;o=il($,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=Bc(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;hl(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;li(sa,33384,D);I=n;break l}while(0);gg(k,o);I=0}else I=0;while(0);H=d[L>>1]&1024|32;Im(sa,1,47254,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=qn(sa,M,k,0,0,H,U)|0;if(!v)break;Fn(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)){ym(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=rl(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{ym(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=rl(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 rl(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=rl(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 rl(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=55600;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);rn(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=55600;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;gg($,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=55600;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 rl(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){Ic($,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[7160]|0)){nb[f[28688>>2]&127](N);break}else{$=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);break}}while(0);if(o|0){D=0;break}Jn(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 rl(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=zm(l,n)|0;p:do if(!n)P=0;else{o=(zt(n)|0)+1|0;q:do if(!l){P=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;ea=251;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){P=f[14051]|0;I=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[13840]=((H|0)<0|(H|0)==0&I>>>0<=P>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){P=0;break p}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(l,o,0)|0;ea=251}while(0);if((ea|0)==251)if(!i){P=0;break}$u(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 rl(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=rl(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=rl(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=55600;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=55600;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 rl(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=Hn(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{rl(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{rl(F,50,i,k,0)|0;break}}while(0);if(A)break;l=P+q|0;o=b[l>>0]|0;i=Wk(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=(zt(n)|0)+1|0;x:do if(!$){W=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;ea=345;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){W=f[14051]|0;I=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[13840]=((H|0)<0|(H|0)==0&I>>>0<=W>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){D=0;break w}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc($,o,0)|0;ea=345}while(0);if((ea|0)==345)if(!i){D=0;break}$u(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;In(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=55600;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{rl(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=Wk(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}Jn(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 rl(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=rl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;og(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);sl(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{rl(qa,119,U,0,0)|0;break}}while(0);l=b[47242+(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=rl(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;In(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=55600;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{rl(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=Wk(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=rl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;og(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);sl(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}Jn(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 rl(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){Ic($,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[7160]|0)){nb[f[28688>>2]&127](P);break}else{Z=hb[f[28696>>2]&127](P)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](P);break}}while(0);K:do if(D|0){do if($|0){if(f[$+480>>2]|0){Ic($,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[7160]|0)){nb[f[28688>>2]&127](D);break}else{$=hb[f[28696>>2]&127](D)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[47250+(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=rl(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{rl(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 rl(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=rl(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 rl(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){$=Nu(q|0,0,-1,-1)|0;Z=ba()|0;if(Z>>>0>0|(Z|0)==0&$>>>0>2147483390)break L;if(!(f[7160]|0)){i=hb[f[28684>>2]&127](q)|0;ea=591;break}i=hb[f[28700>>2]&127](q)|0;if((f[14058]|0)>>>0>>0)f[14058]=q;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){$=f[14051]|0;Z=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;X=ba()|0;f[13840]=((X|0)<0|(X|0)==0&Z>>>0<=$>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break L;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){o=k;break}f[14060]=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=Bc(n,q,0)|0;ea=591}while(0);if((ea|0)==591)if(!i)break L;else o=i;bv(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{sl(s,k+(i*20|0)|0,o,-15);break L}}do if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break L}else{$=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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{rl(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]=144;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)mi(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?mi(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?mi(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 rl(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=rl(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]=143;f[A>>2]=oa;if((p|0)!=0?(mi(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=rl(qa,n,o,0,0)|0;xm(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=55600;f[m+8>>2]=n}else ea=906;while(0);if((ea|0)==906){ea=0;xm(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=yn(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=yn(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];xm(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 rl(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){xm(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 Hn(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=vl(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{rl(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}Jn(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=zk(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=kl(f[a>>2]|0,l,x)|0;f[w>>2]=0;m=r+4+(v*20|0)|0;k=kl(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)hg(A,q);if(r|0)hg(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)gg(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=Nu(n|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&z>>>0>2147483390)k=0;else{if(!(f[7160]|0)){k=hb[f[28684>>2]&127](n)|0;E=66;break}k=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[14051]|0;y=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=z>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k){k=0;break}l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){E=67;break}f[14060]=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=Bc(m,n,0)|0;E=66}while(0);if((E|0)==66)if(!k)k=0;else E=67;if((E|0)==67)bv(k|0,0,n|0)|0;n=Hm(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){gg(A,B);k=n}B=f[c>>2]|0}else{B=y;l=0;k=Hm(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 rl(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=Jc(r,h,q,0)|0;if(!n){if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);h=0;break}else{w=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Bc(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=Jc(s,n,r,0)|0;if(o|0){f[t>>2]=o;n=o;E=132;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);E=155;break}else{E=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break a}else{J=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break a}}}}while(0);Jn(e,c);e=i;return e|0}function In(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=vl(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{rl(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=Km(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{rl(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=vl(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{rl(k,78,h,n,0)|0;break}}else{p=vl(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{rl(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{rl(k,78,h,e,0)|0;return}}k=vl(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{rl(h,79,k,e,0)|0;return}}function Jn(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 Kn(a,c){a=a|0;c=c|0;a=f[a+24>>2]|0;if(Ak(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 Ln(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 Mn(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[47430]|0;b[s+1>>0]=b[47431]|0;b[s+2>>0]=b[47432]|0;b[s+3>>0]=b[47433]|0;b[s+4>>0]=b[47434]|0;break}else{Cc(a,47430,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{Cc(a,47534,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{Cc(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{Cc(a,32359,1);break}}while(0);h=d[(f[o>>2]|0)+(l+g<<1)>>1]|0;switch(h<<16>>16){case -2:{h=47423;p=21;break}case -1:{h=38544;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=(zt(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;$u((f[n>>2]|0)+j|0,h|0,c|0)|0}}else Cc(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 Cc(a,33721,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 Cc(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{Cc(a,47534,1);break}}else if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0;break}else{Cc(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{Cc(a,32359,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 Cc(a,36715,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{Cc(a,33721,1);return}}function Nn(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=Dn(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=Dn(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=Dn(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=Dn(a,c)|0;g=ba()|0}c=f[o+44>>2]|0;if(!c){c=0;e=0}else{c=Dn(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=Nn(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=Dn(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=Dn(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 On(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=Zu(1,0,i|0)|0;Ga=Nu(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=Zu(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=yn($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=yn($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=Xk(p,f[r>>2]|0)|0;if(!g)n=f[(f[p>>2]|0)+8>>2]|0;else n=g;g=Xk(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=Zu(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=Zu(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(Ak(0,o,p,R)|0)break}if(u){n=-1;break g}p=f[a>>2]|0;o=Xk(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=Zu(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=Dn(va,m)|0;e=ba()|0;if((n|0)==0&(e|0)==0){b[ra>>0]=1;f[sa>>2]=132;f[ta>>2]=133;f[ua>>2]=0;mi($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=Zu(1,0,i|0)|0;$a=Nu($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 Pn(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(Qn(e,c)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+65535;break}if(Qn(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];tn(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=Bc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(A,a);a=f[x>>2]|0;u=113;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);u=111;break}else{u=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);break}else{C=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(A,e,0)|0;u=136}if((u|0)==136?h|0:0){a=t+48|0;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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));$u(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 Qn(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 Rn(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(!(Rn(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(Vn(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 Sn(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=(yk(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 Tn(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=yn(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=Yu(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=Yu(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[7920+((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=Bc(va,G,0)|0}if(!i){i=0;break a}$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{q=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(Un(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=(Un(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=Bc(va,n,0)|0}if(!k){i=0;break a}$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(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=Yu(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=Yu(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[7920+((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=Yu(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=Yu(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[7920+((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[22944+(o-L)>>0]|0)&65535;break}}else if((o+49|0)>=(L|0))if((o+31|0)<(L|0))i=aa;else i=(h[22944+(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[22944+(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[22944+(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;Sn(f[ia>>2]|0,wa,ea);i=Pn(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)Tn(a,c,e,o&65535)|0;d[Da>>1]=Ea}else i=0}while(0);u=yn(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=Bc(va,l,0)|0;if(!i){Fa=7;t=Ga;return Fa|0}k=wa+48|0;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{wa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Tn(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 Un(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=Wk(o)|0;m=Wk(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=Xk(a,n)|0;v=29;break}l=Xk(a,o)|0;if(!l){l=Xk(a,n)|0;v=29}}else{l=Xk(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 Vn(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;if(!(Ak(a,c,d,e)|0)){e=1;return e|0}g=b[d>>0]|0;do if(g<<24>>24==43){if(Vn(a,c,f[d+12>>2]|0,e)|0){e=1;return e|0}if(!(Vn(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(!(Ak(a,g,f[d+12>>2]|0,e)|0)){e=1;return e|0}}while(0);e=0;return e|0}function Wn(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}}bv(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=ib[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;li(M,31564,w);break a}switch(r|0){case 516:{c=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=r&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}f[x>>2]=c;li(M,31564,x)}}while(0);c=o+8|0;e=f[c>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{z=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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];li(M,47554,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];li(M,47554,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=Yu(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=Yu(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=Yu(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=Zu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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=Pn(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{W=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-W;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Xn(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=Yu(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(!(Ak(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(!(Ak(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 Yn(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=Kt(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 Zn(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(Ak(0,f[(f[e>>2]|0)+12>>2]|0,f[(f[g>>2]|0)+12>>2]|0,-1)|0)return;if(Ak(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=zk(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;wn(a,c,vn(c,h,3)|0);return}function _n(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 $n(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=Jc(v,q,u,0)|0;if(!r){if(f[v+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);q=0;break}else{J=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=rl(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=55580;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=55580;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=jn(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=bo(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 rl(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;ym(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=ql(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=jn(a,x,c,E)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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=rl(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;ln(a,c,D,0,0,0);u=q}if(!(f[c+12>>2]|0)){ao(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 rl(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=36628;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{rl(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=55580;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=55580;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=co(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=ql(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=jn(a,t,c,2)|0;if(!s)break}if(!(f[t>>2]|0))x=0;else{x=(f[a>>2]|0)+32|0;x=Yu(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=rl(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){sl(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=ql(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=jn(a,x,c,y)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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 ao(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=vm(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 rl(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=vm(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 rl(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 bo(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=55580;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=55580;break}}}while(0);g=f[g+8>>2]|0;if(!g){r=e;t=q;return r|0}do{f[o>>2]=0;Wm(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 co(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(!(Wm(a,c,e,T,aa)|0)){v=e+20|0;if((f[v>>2]|0)>0){A=28960;z=f[A>>2]|0;A=f[A+4>>2]|0;C=28968;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=(zt(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=(zt(g)|0)&1073741823;f[H>>2]=g;n=Bk(ja,59,da,0)|0;m=Bk(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=Bc(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}hl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[W>>2]=g;li(a,33384,W);o=0}else o=0}while(0);if((y|0)==27){if(n|0)gg(g,n);if(!m){k=0;o=1}else{gg(g,m);k=0;o=1}}n=Bk(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[g+24>>2]|0)){f[X>>2]=k;li(a,33384,X)}}while(0);if((y|0)==50){y=0;if(!o)gg(g,k);if(!n)g=0;else{gg(g,n);g=0}}i=il(ja,i,g)|0;if(ia){n=Bk(ja,59,da,0)|0;m=Bk(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=Bc(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}hl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[_>>2]=g;li(a,33384,_);p=0}else p=0}while(0);if((y|0)==74){if(n|0)gg(g,n);if(!m){k=0;p=1}else{gg(g,m);k=0;p=1}}o=Bk(ja,59,ea,0)|0;n=Bk(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=Bc(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}hl(l);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)>=(f[l+24>>2]|0)){o=0;break}f[$>>2]=g;li(a,33384,$);o=0}while(0);if((y|0)==97){if(o|0)gg(g,o);if(!n){l=0;o=1}else{gg(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break;f[Y>>2]=k;li(a,33384,Y)}while(0);if((y|0)==120){y=0;if(!p)gg(g,k);if(o)g=0;else{gg(g,l);g=0}}u=il(ja,u,g)|0}g:do if(S){h:do switch(ga<<24>>24){case 10:{n=Bk(ja,59,ea,0)|0;m=Bk(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=Bc(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}hl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break h;f[Z>>2]=k;li(a,33384,Z);break h}while(0);if(n|0)gg(g,n);if(!m)g=0;else{gg(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=zk(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=Bc(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=Bc(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=kl(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=Nu(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=Bc(l,m,n)|0}if(g){$u(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[7160]|0)){g=hb[f[28684>>2]&127](16)|0;y=218;break}g=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){x=f[14051]|0;w=Ou(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&w>>>0<=x>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=r;break g}k=hb[f[28696>>2]&127](g)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{aa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);p=f[f[e>>2]>>2]|0;if(!p)o=0;else o=(zt(p)|0)&1073741823;if(ca){f[ea>>2]=p;f[ea+4>>2]=o;f[da>>2]=33198;f[da+4>>2]=29;g=Bk(ja,71,da,0)|0;if(!g)g=kl(f[a>>2]|0,0,0)|0;else{b[g+1>>0]=2;g=kl(f[a>>2]|0,0,g)|0}s=Jl(a,g,ml(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[7160]|0)){g=hb[f[28684>>2]&127](l)|0;y=261;break}g=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[14051]|0;da=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(i){g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(n|0,0,l|0)|0;m=n+36|0;f[n+28>>2]=m;ea=n+80|0;f[n+48>>2]=ea;$u(ea|0,p|0,o|0)|0;if(!q)g=0;else g=zk(ja,q,1,0)|0;f[n+52>>2]=g;ea=Gk(ja,v,1)|0;f[n+56>>2]=ea;ea=Fk(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=Bc(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;hl(g);i=f[(f[a>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[fa>>2]=i;li(a,33384,fa)}i=zk(ja,g,1,0)|0}while(0);if((y|0)==279){gg(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)gg(ja,q);if(g|0)gg(ja,g);if(v|0)hg(ja,v);if(s|0)kg(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)gg(ja,g);g=f[i+20>>2]|0;if(g|0)hg(ja,g);g=f[i+8>>2]|0;if(g|0)kg(ja,g,1);g=f[k+12>>2]|0;if(g|0)gg(ja,g);if(f[ja+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{ja=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ja;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}}while(0);ja=0;t=ka;return ja|0}function eo(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]=145;b[i+1>>0]=-5;g=d;break a}case 4:{f[i+16>>2]=146;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}function fo(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=ej(a)|0;return g|0}function go(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=zk(p,d,0,0)|0;n=ml(p,0,0,0)|0;if(!n)g=Jl(a,0,0,m,0,0,0,131072,0)|0;else{d=f[c>>2]|0;a:do if(!d)g=0;else{c=(zt(d)|0)+1|0;b:do if(!p){i=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](c)|0;l=32;break}g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){r=f[14051]|0;i=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=r>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break a}h=hb[f[28696>>2]&127](g)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(p,c,0)|0;l=32}while(0);if((l|0)==32)if(!g){g=0;break}$u(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=(zt(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=Bc(p,d,0)|0;if(g)$u(g|0,i|0,d|0)|0;else g=0}else g=0;while(0);f[n+12>>2]=g;g=Jl(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;Il(a,g,o)|0;if(!g){t=q;return}kg(p,g,1);t=q;return}function ho(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=zk(f[i>>2]|0,c,0,0)|0;g=j+8|0;h=kl(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;gg(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 io(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;wk(a,b)|0;f[c>>2]=d;d=1;return d|0}function jo(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 Ii(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]=31267;yc(21,33775,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=Nu(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;bv(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];tg(a,262,33837,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)hb[f[(f[m>>2]|0)+16>>2]&127](m)|0;do if(p|0){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{u=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){tg(a,18,33867,wa);if(!(b[T>>0]|0)){n=f[U>>2]&18;break g}else{Bi(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=Bc(a,X,Y)|0;ka=65}if((ka|0)==65?(ka=0,na|0):0){$u(na|0,c|0,e|0)|0;b[na+e>>0]=0;$f(ta,na,sa)|0;m=na;f[W>>2]=c+((f[W>>2]|0)-m);if(f[ca>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](na);break}else{u=hb[f[28696>>2]&127](na)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](na);break}}f[W>>2]=V}else ka=75;while(0);if((ka|0)==75){ka=0;$f(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=Ji(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){Uh(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(Eg(u,0)|0)break;Fg(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:{Ki(qa,4);m=12;n=8;break}default:{Ki(qa,8);m=8;n=0}}o=n;do{p=f[da>>2]|0;if(!(b[(f[p>>2]|0)+81>>0]|0))Ze((f[p+100>>2]|0)+((o-n|0)*40|0)|0,f[7728+(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=Nu(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=Bc(o,p,g)|0;ka=132}do if((ka|0)==132){if(!m){m=0;break}$u(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;dg(q)|0}p=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{r=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;tg(a,u,31564,xa);if(f[ca>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{s=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}else{f[A>>2]=u;if(!s){zg(a,u);break}if(!(f[C>>2]|0))break;zg(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{s=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{u=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);m=f[N>>2]|0;if(m|0)hg(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){Uh(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{Bi(a);xa=7;t=ya;return xa|0}else if((ka|0)==204)if((n|0)==3082|(b[T>>0]|0)!=0){Bi(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]=33828;yc(21,33775,o);break a}while(0);f[n>>2]=33820;yc(21,33775,n)}while(0);f[p>>2]=31157;f[p+4>>2]=123394;f[p+8>>2]=31184;yc(21,31132,p);xa=21;t=ya;return xa|0}function Ji(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=Li(f[X>>2]|0)|0;if(m|0){K=135;break d}m=f[X>>2]|0;m=kb[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?(Kt(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(Kt(s,6048,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){hb[f[o+4>>2]&127](n)|0;f[n>>2]=0}n=Mi(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;$g(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;qh(m,0,0)|0;break}default:uh(m)|0}while(0);vh(m)}else K=62;while(0);if((K|0)==62){K=0;if(Kt(s+21|0,33946,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;$g(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;qh(m,0,0)|0;break}default:uh(m)|0}while(0);vh(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[13886]|0)>>>0<=m>>>0)if((f[13887]|0)>>>0>m>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break}else{m=hb[f[28696>>2]&127](n)|0;K=77;break}else{m=hb[f[28696>>2]&127](n)|0;K=77}while(0);do if((K|0)==77){K=0;f[14053]=(f[14053]|0)-m;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[D>>2]=0}m=gh(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]=33143;f[R+4>>2]=66053;f[R+8>>2]=31184;yc(11,31132,R);n=11}K=f[m+72>>2]|0;m=f[K+20>>2]|0;$g(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))qh(m,0,0)|0;break}default:uh(m)|0}vh(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=ib[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=ib[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(!(hb[f[q>>2]&127](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=ib[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;kb[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=kb[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(!(Kt(m+52|0,f[f[m+32>>2]>>2]|0,48)|0))break;if(!(b[n>>0]|0)){K=f[m+4>>2]|0;kb[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=Kg(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,$g(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))qh(P,0,0)|0;break}default:uh(P)|0}vh(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=ib[p&255](f[o+400>>2]|0,q)|0;else m=jb[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=Lg(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=Mg(m)|0;K=172;break}else{g=Ng(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=Ni(i,g)|0;t=Y;return a|0}function Ki(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{o=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{o=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[h>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(k,i);while(0);f[h>>2]=0}}else df(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 Li(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=ib[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(!(hb[f[e>>2]&127](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=kb[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=ib[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=ib[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=Nu(f[i>>2]|0,f[i+4>>2]|0,-1,-1)|0;i=Nu(i|0,ba()|0,u|0,c|0)|0;c=Ru(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(ib[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:{}}jb[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))ib[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=lb[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=lb[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){hb[f[n+4>>2]&127](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=ib[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=kb[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=lb[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]=31620;f[p+4>>2]=55608;f[p+8>>2]=31184;yc(14,31132,p);c=f[h>>2]|0;e=f[c>>2]|0;if(!e)c=14;else{hb[f[e+4>>2]&127](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))ib[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=ib[f[e+20>>2]&255](c,2)|0;if(c|0)break;c=f[h>>2]|0;e=f[c>>2]|0}c=ib[f[e+24>>2]&255](c,a+80|0)|0;if(!c){c=wh(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]=74;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=lb[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(Kt(a+104|0,E,16)|0)hh(a);if(b[h>>0]|0){c=0;break}}c=f[a>>2]|0;g=a+220|0;c=kb[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=ib[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=Nu(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;y=Nu(y|0,ba()|0,u|0,e|0)|0;e=Ru(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)Xa();if(f[C>>2]|0)Xa();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){hb[f[e+4>>2]&127](c)|0;f[c>>2]=0}c=Mi(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=jb[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;kb[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;kb[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=Dh(g,E,0,e)|0}while((c|0)==-1);if(f[E>>2]|c|0)hh(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=ib[f[e+24>>2]&255](c,E)|0;if(!c){u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;E=Nu(f[E>>2]|0,f[E+4>>2]|0,-1,-1)|0;E=Nu(E|0,ba()|0,u|0,c|0)|0;c=Ru(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){vh(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 Mi(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=ib[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))ib[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=Nu(i|0,0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&r>>>0>2147483390)){if(!(f[7160]|0)){e=hb[f[28684>>2]&127](i)|0;if(!e){c=7;break}else r=e}else{e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){r=f[14051]|0;m=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=r>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){c=7;break}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;r=g}else r=g}bv(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=lb[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=hb[f[(f[p>>2]|0)+48>>2]&127](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[7160]|0)){nb[f[28688>>2]&127](h);break}else{s=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[f[(f[u>>2]|0)+64>>2]&255](u,0)|0}e=f[l>>2]|0;g=f[e>>2]|0;if(g|0){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{u=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}else c=7;while(0);u=c;t=v;return u|0}function Ni(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=Lc(f[c>>2]|0,b*48|0,0)|0;if(!q){r=7;return r|0}bv(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[7160]|0)){a=hb[f[28684>>2]&127](512)|0;if(!a)break}else{a=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[14051]|0;e=Ou(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=s>>>0)&1}a=hb[f[28684>>2]&127](a)|0;if(!a)break;d=hb[f[28696>>2]&127](a)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=d}bv(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 Oi(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{af(a);d[b>>1]=4;return a|0}return 0}function Pi(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(!(bf(a,(v|0)>1?v:1,1)|0)){bv((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(!(ef(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](n)|0;o=41;break}l=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[14051]|0;p=Ou(e|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&p>>>0<=q>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){w=7;return w|0}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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))df(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=hb[f[28696>>2]&127](q)|0;f[a+24>>2]=e;w=0;return w|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;do af(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 Ri(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(!(bf(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];td(32,h,32397,l)|0}else{n=a;j=f[n+4>>2]|0;l=k;f[l>>2]=f[n>>2];f[l+4>>2]=j;td(32,h,32662,k)|0}n=(zt(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}Pi(a,c)|0;n=0;t=m;return n|0}function Si(a){a=a|0;var c=0,d=0,e=0;c=a+16|0;d=a+12|0;e=a+10|0;if(!(gf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)){e=0;return e|0}e=(hf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)==0;e=e?4:8;return e|0}function Ti(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)){Ri(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:{tk(a);return}case 68:{do if(!(i&4)){if(i&8|0){c=Dc(+p[a>>3])|0;e=ba()|0;break}if(!(i&18)){c=0;e=0}else{c=Ec(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=+Fc(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)){Ri(a,e,1)|0;g=d[j>>1]|0}d[j>>1]=g&-16413;return}}}function Ui(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=cj(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]=33143;f[e+4>>2]=79051;f[e+8>>2]=31184;yc(11,31132,e);e=11;t=g;return e|0}return 0}function Vi(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Wi(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=bf(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=nh(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}df(g);k=h;return k|0}function Xi(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:{sk(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[30378+((c&1)<<1)>>1]|0;return g|0}}while(0);return 0}function Yi(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=Yu(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=Yu(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=Yu(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=Yu(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=Yu(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=Yu(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=Yu(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=Yu(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=Yu(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 Zi(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)){$g(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)){$g(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[c>>2]=0;b[a>>0]=1;c=f[g>>2]|0}g=a+116|0;c=_i(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]=33143;f[i+4>>2]=68035;f[i+8>>2]=31184;yc(11,31132,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=_i(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]=33143;f[n+4>>2]=68048;f[n+8>>2]=31184;yc(11,31132,n);r=11;t=o;return r|0}return 0}function _i(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=kb[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=Nh(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)){$g(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]=33143;f[l+4>>2]=65066;f[l+8>>2]=31184;yc(11,31132,l);h=f[e>>2]|0;if(h){h=f[h+72>>2]|0;if(!(d[h+28>>1]&32)){$g(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]=33143;f[i+4>>2]=65044;f[i+8>>2]=31184;yc(11,31132,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 $i(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]=33143;f[i+4>>2]=67284;f[i+8>>2]=31184;yc(11,31132,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[13883]|0)>=(k|0)?(h=f[13889]|0,(h|0)!=0):0){f[13889]=f[h>>2];d=f[13890]|0;f[13890]=d+-1;f[13891]=(d|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=k;i=(f[14052]|0)+1|0;f[14052]=i;if(i>>>0>(f[14056]|0)>>>0)f[14056]=i}else j=11;a:do if((j|0)==11){j=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](k)|0;if(!h)break}else{h=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;d=55352;i=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&i>>>0>0){j=f[14051]|0;d=Ou(i|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&d>>>0<=j>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h)break;i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}i=hb[f[28696>>2]&127](h)|0;if((f[14059]|0)>>>0>>0)f[14059]=k;i=(f[14053]|0)+i|0;f[14053]=i;if(i>>>0<=(f[14057]|0)>>>0)break a;f[14057]=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 aj(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(wt(c,36791)|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[7160]|0)){i=hb[f[28684>>2]&127](48)|0;if(!i){g=7;t=K;return g|0}else J=i}else{i=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;l=55352;j=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&j>>>0>0){J=f[14051]|0;A=Ou(j|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;z=ba()|0;f[13840]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}j=hb[f[28684>>2]&127](i)|0;if(!j){g=7;t=K;return g|0}i=hb[f[28696>>2]&127](j)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=(zt(c)|0)&1073741823;l=k+1|0;m=(f[a+8>>2]|0)+1|0;k=(m|0)>(l|0)?m:l;A=Nu(k|0,0,-1,-1)|0;z=ba()|0;do if(!(z>>>0>0|(z|0)==0&A>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](k)|0;b[J+9>>0]=1;if(!k)break;else n=k}else{j=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,k|0,j|0,((j|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(!i){C=33;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k;b[J+9>>0]=1;n=i}if(!G){b[n>>0]=0;k=kb[f[a+36>>2]&127](a,c,m,n)|0;if(k|0){if(!(f[7160]|0))nb[f[28688>>2]&127](n);else{g=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);g=k;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);g=k;t=K;return g|0}}}else $u(n|0,c|0,l|0)|0;j=f[13899]|0;b:do if(!j)j=0;else{while(1){k=f[j>>2]|0;if((wt(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[7160]|0))nb[f[28688>>2]&127](n);else{g=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);g=19;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](n);else{A=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](J);g=7;t=K;return g|0}else{g=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);g=7;t=K;return g|0}}else C=69;while(0);d:do if((C|0)==69){if(!(f[7160]|0)){j=hb[f[28684>>2]&127](84)|0;if(!j)k=7;else C=80}else{k=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){A=f[14051]|0;z=Ou(i|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}j=hb[f[28684>>2]&127](k)|0;if(j){k=hb[f[28696>>2]&127](j)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](k)|0;if(!k){k=7;C=229;break}else i=k}else{l=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;k=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&k>>>0>0){C=f[14051]|0;y=Ou(k|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){k=7;C=229;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k}b[i>>0]=0;k=kb[f[a+36>>2]&127](a,c,m,i)|0;n=(zt(i)|0)&1073741823;m=c+(((zt(c)|0)&1073741823)+1)|0;if(!(b[m>>0]|0))l=m;else{l=m;do{l=l+(((zt(l)|0)&1073741823)+1)|0;l=l+(((zt(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]=31620;f[p+4>>2]=55153;f[p+8>>2]=31184;yc(14,31132,p);k=14}if(!(f[7160]|0)){nb[f[28688>>2]&127](i);C=229;break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(zt(c)|0)+1|0;C=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](m)|0;if(!k){k=7;C=229;break}}else{k=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;i=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&i>>>0>0){C=f[14051]|0;y=Ou(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k){k=7;C=229;break}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=i}$u(k|0,c|0,m|0)|0;c=0;y=1;r=0;p=0;i=k;n=(zt(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=Nu(o|0,0,-1,-1)|0;w=ba()|0;do if(!(w>>>0>0|(w|0)==0&x>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](o)|0;if(!k)break;else x=k}else{k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){x=f[14051]|0;w=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&w>>>0<=x>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l)break;k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=k;x=l}else x=l}bv(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);$u(k|0,i|0,n|0)|0;if(r|0)$u((f[m>>2]|0)+l|0,p|0,r|0)|0;$u(f[o>>2]|0,i|0,n|0)|0;l=(f[o>>2]|0)+n|0;k=36800;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;$u(s|0,i|0,n|0)|0;v=(f[v>>2]|0)+n|0;b[v>>0]=b[36810]|0;b[v+1>>0]=b[36811]|0;b[v+2>>0]=b[36812]|0;b[v+3>>0]=b[36813]|0;b[v+4>>0]=b[36814]|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=lb[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=hb[f[(f[l>>2]|0)+48>>2]&127](l)|0;g:do if(!m){do if(!(b[x+12>>0]|0)){C=f[w>>2]|0;if((hb[f[(f[C>>2]|0)+48>>2]&127](C)|0)&4096|0)break;k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;do if(i){C=hb[i&127](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+(((zt(c)|0)&1073741823)+1)|0;h:do if(!(b[k>>0]|0))k=0;else{while(1){C=wt(k,36816)|0;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0)){k=0;break h}}k=(Fd(k,1,0)|0)<<24>>24!=0}while(0);b[x+13>>0]=k&1;i:do if(!(l&8192)){k=c+(((zt(c)|0)&1073741823)+1)|0;j:do if(b[k>>0]|0){while(1){C=wt(k,36823)|0;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((zt(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0))break j}if((Fd(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=gh(x,E,-1)|0;if(!k){p=f[E>>2]|0;r=(y|0)==0;i=y^1;k=r?129: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=jb[f[28768>>2]&127](p,128,i)|0;if(!m)k=7;else{i=f[7193]|0;k=f[k>>2]|0;if((k|0)<=-1){D=Tu(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=Ru(D|0,E|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[i&127](m,k);k=n+44|0;i=f[k>>2]|0;if(i|0)nb[f[28796>>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((hb[f[(f[E>>2]|0)+48>>2]&127](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=hb[i&127](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]=96;f[x+204>>2]=(f[x+40>>2]|0)==0?73:74;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=lb[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]=109;f[k+180>>2]=j;l=f[k+60>>2]|0;m=f[l>>2]|0;if(!m)l=k;else{jb[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=gh(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[13899];f[13899]=j;C=213;break d}}}i=f[w>>2]|0;l=f[i>>2]|0;if(l|0){hb[f[l+4>>2]&127](i)|0;f[i>>2]=0}l=f[x+208>>2]|0;k:do if(l|0){i=l;do if((f[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;break k}else{i=hb[f[28696>>2]&127](l)|0;break}else i=hb[f[28696>>2]&127](l)|0;while(0);f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{e=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](x);C=229;break e}else{C=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](x);C=229;break e}}while(0);if(i)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);k=7;C=229;break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)bi(i,0)}if(j)if(!(f[7160]|0)){nb[f[28688>>2]&127](j);break}else{e=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](J);else{e=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7193]|0;J=f[g+44>>2]|0;g=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;g=Ru(2048e3,0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;ob[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}jb[f[i+40>>2]&127](k,30,j+4|0)|0;g=0;t=K;return g|0}function bj(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=Jh(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=Jh(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=Ig(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)){$g(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=kb[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=ph(v,x,n,o)|0;f[y>>2]=g;i=b[n>>0]|0;if((i+-1&255)>=2){if(!g){g=Kh(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)){$g(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=kb[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=Lg(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=Mg(i)|0;u=49;break}else{g=Ng(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)){$g(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]=33143;f[p+4>>2]=71779;f[p+8>>2]=31184;yc(11,31132,p);f[y>>2]=11;g=11}if(j){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){$g(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);Mh(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)){$g(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=Lg(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=Mg(i)|0;u=70;break}else{g=Ng(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)){$g(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;bv(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]=126;i=f[j>>2]|0;switch(k&7){case 5:{b[q+2>>0]=1;b[q+3>>0]=1;f[q+80>>2]=171;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]=172;d[q+14>>1]=d[i+24>>1]|0;g=i+26|0;u=86;break}default:{f[z>>2]=33143;f[z+4>>2]=64757;f[z+8>>2]=31184;yc(11,31132,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)){$g(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 cj(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=Nu(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=dj(a,0)|0;switch(l|0){case 101:{N=0;break a}case 0:break;default:{U=l;t=V;return U|0}}mh(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=87;break}if(!(f[l+20>>2]|0))l=89;else{l=87;break}}else l=88}else l=87;while(0);b[c+11>>0]=0;N=l}while(0);l=Zi(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]=33143;f[Q+4>>2]=68325;f[Q+8>>2]=31184;yc(11,31132,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;Rh(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=jb[N&127](O,p+2|0,c)|0;break}pb[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=Nu(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[7160]|0)){m=hb[f[28684>>2]&127](m)|0;if(!m){l=7;break b}else p=m}else{q=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;p=55352;m=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&m>>>0>0){W=f[14051]|0;p=Ou(m|0,p|0,q|0,((q|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&p>>>0<=W>>>0)&1}p=hb[f[28684>>2]&127](q)|0;if(!p){l=7;break b}m=hb[f[28696>>2]&127](p)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=m}d[D>>1]=i;m=nh(a,0,r,p,0)|0;b[F>>0]=b[F>>0]&-5;if(m|0){U=59;break b}m=jb[N&127](r,p,c)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break}else{W=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-W;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}else m=jb[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=_i(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]=33143;f[S+4>>2]=68399;f[S+8>>2]=31184;yc(11,31132,S);l=11}else if((U|0)==59)if(!(f[7160]|0)){nb[f[28688>>2]&127](p);l=m;break}else{l=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[T+4>>2]=68430;f[T+8>>2]=31184;yc(11,31132,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]=33143;f[R+4>>2]=67897;f[R+8>>2]=31184;yc(11,31132,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 dj(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=lk(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=lk(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=_i(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]=33143;f[r+4>>2]=67897;f[r+8>>2]=31184;yc(11,31132,r);v=11;t=s;return v|0}else if((e|0)==11){t=s;return c|0}return 0}function ej(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{w=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[k+4>>2]=67897;f[k+8>>2]=31184;yc(11,31132,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=_i(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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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)){$g(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=ej(a)|0;t=x;return z|0}function fj(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=Rh(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=Rh(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=Xi(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 gj(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=Zi(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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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 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,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=Ig(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=ik(a,c)|0;t=N;return M|0}if((g|0)==0?(r=cj(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=jk(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=cj(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?(mh(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=ik(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=Yu(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=(Yi(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=Yu(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=(Yi(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=Yu(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=Yi(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){$u(k|0,l|0,q|0)|0;i=q;break}else{bv(k|0,0,i|0)|0;break}else $u(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=Jh(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;Mh(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)){$g(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)){$g(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)){$g(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)){$g(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;$u(k|0,l|0,q|0)|0;bv(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=Lg(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=Mg(k)|0;L=110;break}else{F=Ng(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=Sj(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]=33143;f[I+4>>2]=71437;f[I+8>>2]=31184;yc(11,31132,I);i=11}else{$u(i|0,z|0,n|0)|0;i=0}M=i;t=N;return M|0}while(0);ak(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;bk(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=ck(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)){$g(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))$g(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](i)|0;f[a+16>>2]=i;if(!i)break}else{l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){L=f[14051]|0;K=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&K>>>0<=L>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){L=153;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=k;f[a+16>>2]=i}$u(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 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,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;mh(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=Nu(c|0,0,-1,-1)|0;k=ba()|0;do if(!(k>>>0>0|(k|0)==0&z>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](c)|0;if(!c){c=7;break}else e=c}else{g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;e=55352;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){z=f[14051]|0;k=Ou(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&k>>>0<=z>>>0)&1}e=hb[f[28684>>2]&127](g)|0;if(!e){c=7;break}c=hb[f[28696>>2]&127](e)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}c=nh(a,0,f[i>>2]|0,e,0)|0;if(!c){f[a+16>>2]=e;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ej(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=Ig(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=Lg(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=Mg(e)|0;C=75;break}else{u=Ng(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=Sj(G,w,v)|0;f[M>>2]=c;ak(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]=33143;f[A+4>>2]=71625;f[A+8>>2]=31184;yc(11,31132,A);M=11;t=N;return M|0}k=(ib[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=Lg(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=Mg(e)|0;C=92;break}else{D=Ng(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)bk(G,E,n+-4|0,k+4|0,c,l,M);ak(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=ck(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)){$g(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)){$g(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=ck(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=Zi(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)){$g(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))$g(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 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.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=Rh(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]=33143;f[l+4>>2]=79998;f[l+8>>2]=31184;yc(11,31132,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=Rh(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[7792+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:{Xi(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}Xi(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){Rh(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=Kt(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=mf(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{Rh(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=Kt(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[7792+g>>0]|0;o=1;l=0;while(1){g=Yu(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]=33143;f[L+4>>2]=80073;f[L+8>>2]=31184;yc(11,31132,L);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==84){f[M>>2]=33143;f[M+4>>2]=80103;f[M+8>>2]=31184;yc(11,31132,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 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;s=t;t=t+16|0;r=s;e=Zi(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=_i(u,g,k,a,h[q>>0]|0)|0;if(c|0){e=8;break}}if((e|0)==5){f[r>>2]=33143;f[r+4>>2]=67897;f[r+8>>2]=31184;yc(11,31132,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 lj(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[7160]|0)){g=hb[f[28684>>2]&127](l)|0;r=25;break}k=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;i=55352;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){s=f[14051]|0;q=Ou(e|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=s>>>0)&1}e=hb[f[28684>>2]&127](k)|0;if(e|0){g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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?76:r<<24>>24==2?74:75;if(!(f[7160]|0)){e=hb[f[28684>>2]&127](256)|0;if(!e){w=7;t=x;return w|0}}else{e=hb[f[28700>>2]&127](256)|0;if((f[14058]|0)>>>0<256)f[14058]=256;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){r=f[14051]|0;q=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=r>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){w=7;t=x;return w|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=g}bv(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((mb[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((mb[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[7160]|0))nb[f[28688>>2]&127](e);else{v=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}w=h[(f[w>>2]|0)+11>>0]|0;t=x;return w|0}function mj(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=Yj(f[(f[g>>2]|0)+24>>2]|0,e)|0,c|0):0){x=c;t=y;return x|0}c=lj(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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](j)|0;if(!c){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}else d=c}else{c=hb[f[28700>>2]&127](j)|0;if((f[14058]|0)>>>0>>0)f[14058]=j;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[14051]|0;r=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}i=Uu(g|0,h|0,j|0,i|0)|0;ba()|0;e=Ou(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=Yi(u,g,h)|0;if((g|0)>0){v=22;break}else{h=i;g=i;break}}else{v=Yu(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;$u(s+i|0,u+(g-k)|0,j|0)|0;i=j+i|0;if((i|0)==(q|0)){i=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,l|0)|0;d=ba()|0;c=lb[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=Yi(u,l,j)|0;if((j|0)>0){v=34;break}else break}else{j=Yu(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;$u(s+g|0,u+(j-l)|0,k|0)|0;g=k+g|0;if((g|0)==(q|0)){g=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=lb[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;$u(s+g|0,l+(a-k)|0,j|0)|0;g=j+g|0;if((g|0)==(q|0)){g=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=Nu(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=lb[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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0)}while((i|0)!=0)}f[x>>2]=0;if(c){u=Nu(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=Nu(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=Nu(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,g-h|0,x,c)|0}else c=0;u=Nu(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[7160]|0)){nb[f[28688>>2]&127](s);x=c;t=y;return x|0}else{x=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);x=c;t=y;return x|0}return 0}function nj(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[7225]|0;if((g|0)!=0?(hb[g&127](100)|0)!=0:0)q=17;else q=5;a:do if((q|0)==5){k=(l*60|0)+16|0;p=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](k)|0;if(!g){q=17;break}else p=g}else{g=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){p=f[14051]|0;n=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(!i){q=17;break}g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;p=i}else p=i}bv(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=Vj(a,k,m,h,e)|0;if(g|0){q=21;break}g=o;f[g>>2]=0;f[g+4>>2]=0;g=Wj(k,o)|0;s=k;h=o;s=Nu(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=Tj(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[j+(l*56|0)+36>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[j+(l*56|0)+48>>2]|0;do if(i|0){ei(f[i+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](p);break}else{s=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 oj(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=oj(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=Yj(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=Nu(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=Tj(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=(mb[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 pj(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=Tj((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=mb[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 qj(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]=33143;f[k+4>>2]=71869;f[k+8>>2]=31184;yc(11,31132,k);z=11;t=A;return z|0}c=_i(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]=33143;f[m+4>>2]=71874;f[m+8>>2]=31184;yc(11,31132,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=qj(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=Sj(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=qj(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=rj(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=Lg(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=Mg(c)|0;z=27;break}else{i=Ng(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;bv(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]=126;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]=171;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]=172;d[x+14>>1]=d[k+24>>1]|0;i=k+26|0;z=35;break}default:{f[y>>2]=33143;f[y+4>>2]=64757;f[y+8>>2]=31184;yc(11,31132,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)){$g(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 rj(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]=33143;f[i+4>>2]=69066;f[i+8>>2]=31184;yc(11,31132,i);A=11;t=B;return A|0}do if(!c){c=(f[a>>2]|0)+212|0;k=jb[f[28780>>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=ah(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=Lg(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=Mg(k)|0;z=21;break}else{i=Ng(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=kb[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=Lg(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=Mg(i)|0;z=39;break}else{n=Ng(i)|0;z=39;break}}while(0);if((z|0)==39?(f[A>>2]=n,n|0):0){g=0;z=104;break}bv(f[c+56>>2]|0,0,f[(f[c+52>>2]|0)+32>>2]|0)|0;m=c}if(b[a+17>>0]|0?(Mh(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=kb[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]=33143;f[r+4>>2]=69119;f[r+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(i)|0;z=62;break}else{c=Ng(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[7160]|0)){c=hb[f[28684>>2]&127](512)|0;if(!c)z=82;else z=83}else{c=hb[f[28700>>2]&127](512)|0;if((f[14058]|0)>>>0<512)f[14058]=512;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){a=f[14051]|0;z=Ou(i|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;y=ba()|0;f[13840]=((y|0)<0|(y|0)==0&z>>>0<=a>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){z=82;break}i=hb[f[28696>>2]&127](c)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){z=83;break}f[14060]=i;z=83}while(0);if((z|0)==82){f[n>>2]=0;c=7;break}else if((z|0)==83){bv(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=Ug(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=kb[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=Lg(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=Mg(k)|0;z=103;break}else{y=Ng(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)){$g(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)){$g(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 sj(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]=31267;yc(21,33775,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)zg(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?56244:c;c:while(1){if(!(b[l>>0]|0)){k=0;N=131;break}f[M>>2]=0;k=Ii(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=Ci(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=Bc(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){bv(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=Gc(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=28920;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;zg(n,25);n=28920}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=Gc(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){Bi(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;zg(n,25);n=28920;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){Bi(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(kb[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=dg(q)|0}n=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{z=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{z=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)dg(o)|0;n=f[o>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{L=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);f[M>>2]=0;f[T>>2]=4;zg(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)dg(p)|0;c=f[p>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{N=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}}while(0);do if(l|0){if(f[Q>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{S=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if((k|0)==3082|(b[O>>0]|0)!=0){Bi(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=Kj(a)|0;do if(n|0?(U=(zt(n)|0)+1|0,S=Nu(U|0,0,-1,-1)|0,R=ba()|0,!(R>>>0>0|(R|0)==0&S>>>0>2147483390)):0){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](U)|0;if(!k)break}else{k=hb[f[28700>>2]&127](U)|0;if((f[14058]|0)>>>0>>0)f[14058]=U;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){S=f[14051]|0;R=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[13840]=((Q|0)<0|(Q|0)==0&R>>>0<=S>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(!k)break;l=hb[f[28696>>2]&127](k)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0>(f[14060]|0)>>>0)f[14060]=l}$u(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;zg(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]=33828;yc(21,33775,m);break a}while(0);f[l>>2]=33820;yc(21,33775,l)}while(0);f[n>>2]=31157;f[n+4>>2]=117955;f[n+8>>2]=31184;yc(21,31132,n);i=21;t=V;return i|0}function tj(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?36715:c;z=Gg(z,36717,k)|0;f[f[g>>2]>>2]=z;f[l>>2]=33143;f[l+4>>2]=122744;f[l+8>>2]=31184;yc(11,31132,l);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[j>>2]=33143;f[j+4>>2]=122737;f[j+8>>2]=31184;yc(11,31132,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=36748;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=36749;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=36750;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=36751;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=36752;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=36753;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=36754;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;Nd(v,n)|0;f[z+160>>2]=f[n>>2];y=z+166|0;b[y>>0]=b[y>>0]&-2;Ii(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;Rj(a,f[e>>2]|0,Kj(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);Di(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=Oj(z,i,f[s+(u<<4)>>2]|0)|0;if(!c){a=0;t=A;return a|0}if(Nd(v,c+44|0)|0){a=0;t=A;return a|0}Rj(a,f[e>>2]|0,36756);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?36715:i;z=Gg(z,36717,x)|0;f[f[c>>2]>>2]=z;f[y>>2]=33143;f[y+4>>2]=122744;f[y+8>>2]=31184;yc(11,31132,y);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[w>>2]=33143;f[w+4>>2]=122737;f[w+8>>2]=31184;yc(11,31132,w);f[a+12>>2]=11;a=0;t=A;return a|0}return 0}function uj(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(hi(a,36628,e)|0){f[k>>2]=e;g=Gg(a,36641,k)|0;if(g){e=sj(a,g,76,l,0)|0;if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);l=e;break}else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$u(k+2|0,30368,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 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,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(kb[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=ph(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;wj(a,34603,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;wj(a,34574,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=ph(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;wj(a,34603,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;wj(a,34574,L)}j=f[a>>2]|0}if((n|0)>(((f[j+36>>2]|0)/4|0)+-2|0)){f[D>>2]=e;wj(a,36537,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=ph(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;wj(a,34603,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;wj(a,34574,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;wj(a,36156,H);break}}else{f[G>>2]=m;wj(a,36133,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)){$g(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;wj(a,36133,A)}else if((M|0)==7){f[B>>2]=e;wj(a,36156,B)}else if((M|0)==9){f[K>>2]=e;wj(a,36515,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?36576:36597;f[P+4>>2]=g-i;f[P+8>>2]=g;wj(a,36602,P);t=Q;return}function wj(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)Mj(e,36513,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;of(e,g,i)}zc(e,c,h);if((b[a+60>>0]|0)!=7){t=j;return}f[a+24>>2]=1;t=j;return} -function os(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=Dc(+p[i>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Ec(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=ps(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=Dc(+p[h>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Ec(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=Jp(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{$e(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=Op(h,1,g)|0;if(g){e=g;t=s;return e|0}}else h=f[q>>2]|0;Ci(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)Fi(g,h);i=dg(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){Bi(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 ps(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[23520+(b<<2)>>2]|0;if((b|0)==7){f[h>>2]=f[a+220>>2];b=ud(g,h)|0;break}else{b=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=b;b=ud(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=ud(53337,g)|0}while(0);if(!b){g=7;i=0}else{g=Ii(f[a+12>>2]|0,b,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](b);else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Op(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 qs(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=ib[(b[e>>0]<<24>>24==1?148:149)&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?78:79,i=f[l+(k<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(kb[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(Pr(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)==(rq(e,g,h,o)|0)):0){i=f[i>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rs(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)Fi(d,c);i=dg(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)Bi(d)}f[g>>2]=0}b[e>>0]=0}Di(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}}while((c|0)!=0);f[g>>2]=0;c=f[a+44>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);ss(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 ss(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);do if(f[e+24>>2]|0?(h=f[e+28>>2]|0,h|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](h);break}else{d=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;bs(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{e=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{e=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 ts(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(!(Kt(D,53970,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(!(Kt(D,53973,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(!(Kt(D,53977,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(Kt(D,53981,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=23680+(i<<3)+6|0;if(Kc()|0){k=7;i=0;x=171;break a}if(!(f[7160]|0)){n=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;n=55352;k=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&k>>>0>0){C=f[14051]|0;B=Ou(k|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[13840]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}n=hb[f[28684>>2]&127](i)|0;if(!n){k=7;i=0;x=171;break a}i=hb[f[28696>>2]&127](n)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=kb[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=ib[f[C+24>>2]&255](f[R>>2]|0,n)|0,H|0):0){hb[f[C+16>>2]&127](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=mb[f[x>>2]&127](z,R,S,T,U,V)|0;y=(k|0)==0;if(y){n=(u*24|0)+144|0;if(Kc()|0){x=42;break}w=Lc(v,(n|0)>0?n:0,0)|0;if(!w){x=42;break}n=(f[S>>2]|0)+s|0;if(Kc()|0){x=48;break}v=Lc(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;$u(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[7160]|0)){nb[f[28688>>2]&127](v);n=q;k=0;break}else{n=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);n=q;k=0;break}else{n=q;k=0}else if((x|0)==48)if(q)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);n=0;k=w;break}else{n=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);n=0;k=w;break}else{n=0;k=w}else if((x|0)==58){hb[f[C+16>>2]&127](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((Kc()|0)==0?(O=Lc(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){$u(n|0,q|0,s|0)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{D=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](p);n=q;k=0;x=75;break}else{n=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)hb[f[C+16>>2]&127](o)|0;do if(n|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{D=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);if(k)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);k=7;n=0;break}else{n=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ts(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=zt(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=kb[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=ib[f[u+24>>2]&255](f[R>>2]|0,n)|0,P|0):0){hb[f[u+16>>2]&127](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=mb[f[u+20>>2]&127](r,R,S,T,U,V)|0;l:do if(!k){i=(f[S>>2]|0)+144|0;n=Dd(i)|0;if(!n){n=0;k=7;i=f[U>>2]|0;break}bv(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;$u(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);hb[f[u+16>>2]&127](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(Kc()|0){x=152;break}if(!(f[7160]|0)){k=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](48)|0;if((f[14058]|0)>>>0<48)f[14058]=48;p=55352;l=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&l>>>0>0){D=f[14051]|0;C=Ou(l|0,p|0,k|0,((k|0)<0)<<31>>31|0)|0;B=ba()|0;f[13840]=((B|0)<0|(B|0)==0&C>>>0<=D>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l){x=152;break}k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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){ss(n);i=1;x=170}else if((x|0)==152){ss(n);i=7;x=170}else if((x|0)==158){ss(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}}ss(c);g=i;d=0;f[e>>2]=d;t=W;return g|0}function us(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=Dd(d)|0;if(!q){d=7;break}bv(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=us(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=us(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){ss(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{ss(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[7160]|0))nb[f[28688>>2]&127](g);else{b=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g)}}while((e|0)!=0)}if(!(f[7160]|0))nb[f[28688>>2]&127](q);else{b=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=us(p,g)|0;do if(!d){d=us(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){ss(e);ss(f[p>>2]|0)}}if(!d){q=0;b=c;f[a>>2]=b;t=r;return q|0}}else d=1;while(0);ss(c);q=d;b=0;f[a>>2]=b;t=r;return q|0}function vs(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=vs(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 ws(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);ws(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(Kc()|0){g=0;b=7;v=34;break}if(!(f[7160]|0)){g=hb[f[28684>>2]&127](56)|0;if(!g){g=0;b=7;v=34;break}}else{b=hb[f[28700>>2]&127](56)|0;if((f[14058]|0)>>>0<56)f[14058]=56;d=55352;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){m=f[14051]|0;l=Ou(g|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=m>>>0)&1}g=hb[f[28684>>2]&127](b)|0;if(!g){g=0;b=7;v=34;break}b=hb[f[28696>>2]&127](g)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=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=jr(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=jr(m,b,h,-2,o,p,1,0,g)|0;if(b|0){v=34;break b}b=jr(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=jr(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 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,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}}xs(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=ud(51806,D)|0;f[r>>2]=d;if(!d){d=7;break b}}d=Rp(f[s>>2]|0,f[u>>2]|0,d,51818,g,k,0,q)|0}else d=Wp(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=Nu(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 ys(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=Gr(A,y)|0;if(!i){r=f[y>>2]|0;q=(r|0)==0;if(q)l=jf(28920)|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;zg(i,25);i=28920;j=r}l=jf(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){Bi(i);i=7}else i=f[i+68>>2]&j;f[k>>2]=i}n=Bp(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=Zu(u&127|0,0,j|0)|0;i=Nu(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=Zu(u&127|0,0,l|0)|0;j=Nu(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=Ru(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=Nu(o|0,p|0,u|0,D|0)|0;D=Ru(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)Fi(i,r);j=dg(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){Bi(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)Fi(i,r);D=dg(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){Bi(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(!(Kc()|0)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](16)|0;if(!i){i=7;break}}else{i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[14051]|0;a=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&a>>>0<=D>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=7;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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;bs(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=_r(A,i,f[m+20>>2]|0,y,z)|0;if(!i){i=$r(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 zs(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;zs(a,f[h>>2]|0,d);e=c+16|0;zs(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=As(a,1,h)|0;f[d>>2]=c;return}function As(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?151:152;a=kr(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=Kt(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;ur(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=Up(g,a+c|0,e,c,80)|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;Di(f[g+16>>2]|0)|0;do if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(n&127|0,0,e|0)|0;a=Nu(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((ib[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=_r(C,d+72+(c*24|0)|0,f[e>>2]|0,A,B)|0;if(!a)a=$r(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 Bs(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=zt(f[_>>2]|0)|0;$=X+1|0;Y=i+8|0;Z=(zt(f[Y>>2]|0)|0)+1|0;o=(g<<2)+-8|0;n=Dd(o)|0;if((n|0)!=0?(bv(n|0,0,o|0)|0,m=Dd(o)|0,(m|0)!=0):0){bv(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|(zt(I)|0)>>>0<9):0){o=b[I>>0]|0;b:do if(!(o<<24>>24)){o=54168;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=54169;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=54170;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=54171;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=54172;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=54173;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=54174;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=54175;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[23712+J>>0]|0)==0:0){F=Cs(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=ud(31564,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=50650;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=54931;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=54313;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=54322;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=54323;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=54324;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=54325;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=54326;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=54327;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=54328;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=54329;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=54330;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=54331;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=54938;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=50756;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=54944;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=54945;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=54946;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=54947;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=54948;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=54949;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=54950;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=54951;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=54952;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=54953;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=54955;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=54956;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=54957;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=54958;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=54959;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=54960;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=54961;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=54962;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=54963;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=54964;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((zt(J)|0)==4){o=b[J>>0]|0;l:do if(!(o<<24>>24)){o=50660;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=50661;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=50662;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=50663;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;Iq(l,54177,N);f[Ha>>2]=1;z=1;o=G;break}case 1:{if(!v){F=z;v=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](v);F=z;v=J;break c}else{F=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);F=z;v=J;break c}}case 2:{if(!q){F=z;q=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);F=z;q=J;break c}else{F=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);F=z;q=J;break c}}case 3:{if(!r){F=z;r=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);F=z;r=J;break c}else{F=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);F=z;r=J;break c}}case 4:{m:do switch(zt(J)|0){case 3:{C=b[J>>0]|0;do if(!(C<<24>>24)){o=54204;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=54205;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=54206;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=38485;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=38486;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=38487;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=38488;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;Iq(l,54208,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[7160]|0)){nb[f[28688>>2]&127](s);F=z;s=J;break c}else{F=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);F=z;s=J;break c}}case 6:{if(!u){F=z;u=J;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](u);F=z;u=J;break c}else{F=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Iq(l,54231,Q);f[Ha>>2]=1;o=G}}while(0);if(!J){F=z;G=o;break c}if(!(f[7160]|0)){nb[f[28688>>2]&127](J);F=z;G=o;break c}else{F=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);F=z;G=o;break c}}while(0);p=p+1+(zt(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Q=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Q=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](n);else{Q=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n)}o=f[_>>2]|0;f[la>>2]=0;f[O>>2]=o;f[O+4>>2]=s;o=ud(54258,O)|0;if(o){n=Ii(c,o,-1,0,0,la,0)|0;p=(n|0)==0;if(!p){Q=Kj(c)|0;f[R>>2]=Q;Iq(l,31564,R)}if(!(f[7160]|0))nb[f[28688>>2]&127](o);else{R=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(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+(zt(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=Dd(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=(zt(0)|0)+1|0;o=0;while(1){$u(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=Gc(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=(zt(o)|0)+1|0;$u(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);Di(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]=50756;D=o;C=p;E=x;I=1;B=8;Ea=165}do if((Ea|0)==165){if((f[Ga>>2]|0)==0?(e=Cs(e,50595,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=Dd(p)|0;u:do if(O){bv(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;Iq(l,54278,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=Dd(p)|0;if(!o){f[Ha>>2]=7;p=O;break}bv(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;$u(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;$u(p|0,f[Y>>2]|0,Z|0)|0;p=p+Z|0;G=o+16|0;f[G>>2]=p;$u(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[23712+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[23712+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){$u(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=zt(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)!=(zt(u)|0))break;if(!(f[(f[M>>2]|0)+(C<<2)>>2]|0))break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[7160]|0))nb[f[28688>>2]&127](u);else{$=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)!=(zt(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[7160]|0))nb[f[28688>>2]&127](B);else{$=hb[f[28696>>2]&127](B)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Iq(l,47746,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?54313:54322;Iq(l,54333,ea)}f[la>>2]=0;do if(!(f[H>>2]|0)){if(r){z=Dd(((zt(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=56244;s=0;r=0}Ds(Ha,la,54374,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;Ds(Ha,la,54380,ja);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0){f[ka>>2]=54402;Ds(Ha,la,54395,ka)}if(s)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);z=r;break}else{z=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);z=r;break}else z=r}else{Ds(Ha,la,38544,fa);if((f[i>>2]|0)>0){p=0;do{f[ga>>2]=f[(f[M>>2]|0)+(p<<2)>>2];Ds(Ha,la,54409,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;Ds(Ha,la,54395,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?54418:56244;Ds(Ha,la,54427,ma);f[o+220>>2]=f[la>>2];f[ma>>2]=0;if(q){y=Dd(((zt(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=56244;r=0;q=0}Ds(Ha,ma,36715,Aa);if((f[i>>2]|0)>0){p=0;do{f[na>>2]=s;Ds(Ha,ma,54450,na);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0)Ds(Ha,ma,54457,oa);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{oa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(54461,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=ud(54487,qa)|0;if(!p)break D;else r=r+1|0}if(s){f[ra>>2]=p;f[ra+4>>2]=s;p=ud(54499,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;hr(Aa,u,54510,ta);if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break C}else{ta=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-ta;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;hr(Aa,u,54510,sa)}while(0);ta=f[K>>2]|0;f[ua>>2]=f[G>>2];f[ua+4>>2]=ta;hr(Aa,u,54543,ua);ua=f[K>>2]|0;f[va>>2]=f[G>>2];f[va+4>>2]=ua;hr(Aa,u,54615,va);if(b[J>>0]|0){va=f[K>>2]|0;f[wa>>2]=f[G>>2];f[wa+4>>2]=va;hr(Aa,u,54768,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;hr(Aa,p,53249,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=ud(54836,za)|0;do if(r){p=Ii(f[N>>2]|0,r,-1,0,0,Aa,0)|0;switch(p|0){case 0:{p=f[Aa>>2]|0;Ci(p)|0;Aa=Dp(p,0)|0;f[o+240>>2]=Aa;p=Di(p)|0;break}case 23:{f[o+240>>2]=1024;p=0;break}default:{}}if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Aa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?54856:u;p=f[N>>2]|0;f[Ba>>2]=1;_p(p,1,Ba)|0;f[Ca>>2]=f[f[M>>2]>>2];p=ud(54865,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=ud(54870,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=ud(54877,Fa)|0;if(!(p&(r|0)!=0))if(!r)p=7;else{p=7;Ea=341}else{p=uk(f[N>>2]|0,r)|0;Ea=341}do if((Ea|0)==341)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Fa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);do if(s|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{Fa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](v);break}else{Fa=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}while(0);do if(p|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](p);break}else{Fa=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p);break}while(0);do if(q|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{Fa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(r|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{Fa=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);do if(s|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{Fa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](s);break}while(0);do if(u|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{Fa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Fa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](n);break}else{Fa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);do if(m|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{Fa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Mq(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}hb[f[(f[m>>2]|0)+8>>2]&127](m)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}function Cs(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=ud(31564,w)|0;if(!w){x=7;t=y;return x|0}v=w+(zt(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[23712+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[23712+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=(zt(m)|0)+1|0;e:do if((((a|0)!=0?(n=a+16|0,(f[n>>2]|0)!=0):0)?(o=ib[(b[a>>0]<<24>>24==1?148:149)&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?78:79,g=f[p+(o<<3)+4>>2]|0,(q|0)!=0&(g|0)!=0):0){c=q;while(1){c=c+-1|0;if(!(kb[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[23712+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[23712+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(Kc()|0)break;m=Lc(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[7160]|0))nb[f[28688>>2]&127](w);else{x=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w)}if(!c){x=7;t=y;return x|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);x=7;t=y;return x|0}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);x=7;t=y;return x|0}}else{h=0;g=0;c=0}while(0);g=jb[f[n+4>>2]&127](h,g,d)|0;if(!g)f[f[d>>2]>>2]=n;else Iq(e,54966,x);if(c)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else u=37}else u=37;while(0);if((u|0)==37){f[s>>2]=m;Iq(e,50734,s);g=1}if(!(f[7160]|0)){nb[f[28688>>2]&127](w);x=g;t=y;return x|0}else{x=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);x=g;t=y;return x|0}return 0}function Ds(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=hp(c,e)|0;if(e){c=f[b>>2]|0;if(c){f[g>>2]=c;f[g+4>>2]=e;c=ud(40183,g)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}if(!c)h=8}else c=e}else h=8;if((h|0)==8){f[a>>2]=7;c=0}fe(f[b>>2]|0);f[b>>2]=c;t=i;return}function Es(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(Kc()|0){c=7;return c|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](16)|0;if(!e){c=7;return c|0}}else{g=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}e=hb[f[28684>>2]&127](g)|0;if(!e){c=7;return c|0}d=hb[f[28696>>2]&127](e)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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=zt(d)|0;do if((g|0)==19){if(!(Kt(55029,d,19)|0)){f[i>>2]=1;d=0;break}if(!(Kt(55049,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(!(Kt(55069,d,11)|0)){d=Js(e,1,d+11|0,g+-11|0)|0;break}if(Kt(55081,d,11)|0){d=1;break a}d=Js(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=0;break}else{j=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);e=0;break}}else e=0}else d=0;while(0);f[c>>2]=e;c=d;return c|0}function Fs(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=zt(b)|0}else c=0;f[a+8>>2]=c;f[d>>2]=a;h=0;return h|0}function Hs(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Is(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[23840+(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[23856+(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[23856+(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[23840+(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[23856+(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[23856+(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(Kc()|0){k=7;y=84;break}k=Lc(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[25488+(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[25488+(o<<2)>>1]|0;if(((h[25488+(o<<2)+3>>0]|0)+k|0)>(l|0)?(B=h[25488+(o<<2)+2>>0]|0,((l^k)&1&B|0)==0):0)l=l+(j[26144+(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[26304+(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[26304+(o<<1)>>1]|0;if(((y>>>3)+(y&7)|0)>=(l|0)){l=b[26512+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[23840+(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[23856+(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[23856+(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 Js(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[23840+(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[23856+(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[23856+(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(Kc()|0){r=7;return r|0}m=Lc(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[23840+(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[23856+(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[23856+(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 Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(Kc()|0){c=7;return c|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](4)|0;if(!a){c=7;return c|0}}else{d=hb[f[28700>>2]&127](4)|0;if((f[14058]|0)>>>0<4)f[14058]=4;b=55352;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){e=f[14051]|0;b=Ou(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&b>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}b=hb[f[28696>>2]&127](a)|0;b=(f[14051]|0)+b|0;f[14051]=b;if(b>>>0>(f[14055]|0)>>>0)f[14055]=b;b=(f[14054]|0)+1|0;f[14054]=b;if(b>>>0>(f[14060]|0)>>>0)f[14060]=b}f[a>>2]=0;f[c>>2]=a;e=0;return e|0}function Ls(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=zt(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 Ns(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Os(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[26624+(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[26624+(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(Kc()|0){ka=7;t=la;return ka|0}i=Lc(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(!(Ps(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=Ps(l+1|0)|0;else n=1-(b[26704+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(!(Ps(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(!(Ps(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(Ps(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|(Qs(o)|0)==0))){i=(n<<24>>24)+-97|0;if((i|0)==24)i=Ps(o+2|0)|0;else i=1-(b[26704+i>>0]|0)|0;if((i|0)!=0?(Ps(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((Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(l+1|0)|0;else m=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=Ps(j+1|0)|0;else k=1-(b[26704+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(!(Ps(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(j)|0)==0;j=ga?i:j;ga=399;break g}else{ga=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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=(Rs(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(!(Rs(k)|0)){if(Qs(k)|0){if((Ps(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=Ps(i+3|0)|0;else j=1-(b[26704+j>>0]|0)|0;if(j|0?Ps(i+3|0)|0:0)break}i=k}}else i=k}while(0);if((Rs(i)|0)!=0?(b[i>>0]|0)==108:0){ga=i+1|0;i=(b[ga>>0]|0)==108?ga:i}k=zt(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 Ps(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[26704+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=Ps(a+2|0)|0;else c=1-(b[26704+c>>0]|0)|0;a=(c|0)!=0&1;return a|0}function Qs(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=0;return d|0}while(1)if(!(Ss(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=1;return d|0}while(1)if(!(Ps(a)|0))break;else a=a+1|0;d=(b[a>>0]|0)==0&1;return d|0}function Rs(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(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=Ps(a+1|0)|0;else c=1-(b[26704+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(!(Ps(a)|0))break;else a=a+1|0;f=(b[a>>0]|0)!=0&1;return f|0}function Ss(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=Ps(a+1|0)|0;return a|0}else{a=1-(b[26704+c>>0]|0)|0;return a|0}return 0}function Ts(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](132)|0;if(!e){d=7;return d|0}else i=e}else{h=hb[f[28700>>2]&127](132)|0;if((f[14058]|0)>>>0<132)f[14058]=132;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[14051]|0;g=Ou(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}g=hb[f[28684>>2]&127](h)|0;if(!g){d=7;return d|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;i=g}else i=g}bv(i|0,0,132)|0;a:do if((a|0)>1){h=c+4|0;e=f[h>>2]|0;a=zt(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[7160]|0)){nb[f[28688>>2]&127](i);d=1;return d|0}else{d=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Us(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}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;if(Kc()|0){d=7;return d|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](28)|0;if(!a){d=7;return d|0}}else{g=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;e=55352;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[14051]|0;e=Ou(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=hb[f[28684>>2]&127](g)|0;if(!a){h=7;return h|0}e=hb[f[28696>>2]&127](a)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=zt(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 Ws(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}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;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(Kc()|0){p=7;return p|0}i=Lc(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 Ys(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=zt(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=zt(k)|0;c=4}else c=3;d=f[e+(c<<2)>>2]|0;j=zt(d)|0;c=uk(a,55093)|0;if(c|0){g=c;t=p;return g|0}c=k+306+j|0;n=Dd(c)|0;if(!n){g=7;t=p;return g|0}bv(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;$u(e|0,l|0,k|0)|0;$u(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);Iq(i,55162,j);g=1;t=p;return g|0}function Zs(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 _s(a){a=a|0;var b=0,c=0;b=f[a+12>>2]|0;Di(f[b+56>>2]|0)|0;Di(f[b+60>>2]|0)|0;Di(f[b+64>>2]|0)|0;Di(f[b+68>>2]|0)|0;Di(f[b+72>>2]|0)|0;Di(f[b+76>>2]|0)|0;Di(f[b+80>>2]|0)|0;Di(f[b+84>>2]|0)|0;Di(f[b+88>>2]|0)|0;Di(f[b+92>>2]|0)|0;Di(f[b+96>>2]|0)|0;Di(f[b+100>>2]|0)|0;Di(f[b+104>>2]|0)|0;Di(f[b+108>>2]|0)|0;Di(f[b+112>>2]|0)|0;Di(f[b+116>>2]|0)|0;Di(f[b+120>>2]|0)|0;Di(f[b+124>>2]|0)|0;Di(f[b+128>>2]|0)|0;Di(f[b+132>>2]|0)|0;Di(f[b+136>>2]|0)|0;Di(f[b+140>>2]|0)|0;Di(f[b+144>>2]|0)|0;Di(f[b+148>>2]|0)|0;Di(f[b+152>>2]|0)|0;Di(f[b+156>>2]|0)|0;Di(f[b+160>>2]|0)|0;Di(f[b+164>>2]|0)|0;Di(f[b+168>>2]|0)|0;Di(f[b+172>>2]|0)|0;Di(f[b+176>>2]|0)|0;Di(f[b+180>>2]|0)|0;Di(f[b+184>>2]|0)|0;Di(f[b+188>>2]|0)|0;Di(f[b+192>>2]|0)|0;Di(f[b+196>>2]|0)|0;Di(f[b+200>>2]|0)|0;Di(f[b+204>>2]|0)|0;Di(f[b+208>>2]|0)|0;Di(f[b+212>>2]|0)|0;b=f[b+244>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](120)|0;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](120)|0;if((f[14058]|0)>>>0<120)f[14058]=120;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 at(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;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{i=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);break}else{e=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{e=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);d=f[c+52>>2]|0;do if(d|0){e=f[d+20>>2]|0;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+20|0;d=f[c>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+76>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+112>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{l=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{l=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function bt(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{g=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{g=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);c=f[e+52>>2]|0;do if(c|0){g=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{B=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=a+20|0;c=f[e>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{B=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[a+112>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{B=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(q,1)|0}if(e|0){f[r>>2]=e;e=ud(31564,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=Ye(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=Gc(e,1)|0;else e=0}else e=0;while(0);f[u>>2]=e;e=ud(31564,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=Ye(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=Dc(+p[e>>3])|0;ba()|0;break}if(!(c&18)){e=0;break a}e=Ec(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=jr(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=kr(z,x,f[m>>2]|0,f[i>>2]|0)|0;if(e|0){B=e;t=A;return B|0}B=ct(a)|0;t=A;return B|0}function ct(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=Nu(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=lr(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=Kt(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(Kc()|0){q=7;return q|0}c=Lc(c,32,0)|0;if(!c){q=7;return q|0}else{d=f[p>>2]|0;bv(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);bv(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=Zu(r&127|0,0,e|0)|0;a=Nu(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=Nu(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=Nu(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(Kc()|0){c=7;q=46;break c}c=Lc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;q=46;break c}s=f[p>>2]|0;bv(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=Nu(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=Nu(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=Nu(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 dt(a){a=a|0;return f[a+88>>2]|0}function et(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;switch(c|0){case 0:{if((Ze(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;Ze(f[b>>2]|0,32336,-1,1,0)|0;return 0}case 1:{a=f[a+104>>2]|0;if(!a){if((Ze(f[b>>2]|0,41449,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;Ze(f[b>>2]|0,32336,-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{$e(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{$e(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{$e(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{$e(a,g,c);return 0}}}return 0}function ft(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 gt(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[13905]|0;c=m>>>a;if(c&3|0){b=(c&1^1)+a|0;a=55660+(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[13905]=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[13907]|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=55660+(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[13910]|0;b=l>>>3;c=55660+(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[13907]=h;f[13910]=e;w=i;t=x;return w|0}g=f[13906]|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[55924+((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=55924+(b<<2)|0;if((i|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[13906]=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[13910]|0;b=l>>>3;c=55660+(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[13907]=j;f[13910]=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[13906]|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[55924+(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[55924+((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[13907]|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=55924+(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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(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[13907]|0;if(c>>>0>=m>>>0){b=c-m|0;a=f[13910]|0;if(b>>>0>15){w=a+m|0;f[13910]=w;f[13907]=b;f[w+4>>2]=b|1;f[a+c>>2]=b;f[a+4>>2]=m|3}else{f[13907]=0;f[13910]=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[13908]|0;if(h>>>0>m>>>0){u=h-m|0;f[13908]=u;w=f[13911]|0;v=w+m|0;f[13911]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}if(!(f[14023]|0)){f[14025]=4096;f[14024]=4096;f[14026]=-1;f[14027]=-1;f[14028]=0;f[14016]=0;f[14023]=n&-16^1431655768;a=4096}else a=f[14025]|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[14015]|0;if(a|0?(l=f[14013]|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[14016]&4)){c=f[13911]|0;e:do if(c){d=56068;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=cv(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=cv(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[14024]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[14013]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=f[14015]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=cv(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[14025]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=d;q=145;break d}if((cv(a|0)|0)==(-1|0)){cv(c|0)|0;b=0;break}else{h=a+b|0;g=d;q=145;break d}}while(0);f[14016]=f[14016]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(u=cv(k|0)|0,p=cv(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[14013]|0)+h|0;f[14013]=b;if(b>>>0>(f[14014]|0)>>>0)f[14014]=b;j=f[13911]|0;f:do if(j){b=56068;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[13908]|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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[j+w+4>>2]=40;f[13912]=f[14027];break}if(g>>>0<(f[13909]|0)>>>0)f[13909]=g;c=g+h|0;b=56068;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[13908]|0)+i|0;f[13908]=w;f[13911]=k;f[k+4>>2]=w|1}else{if((f[13910]|0)==(b|0)){w=(f[13907]|0)+i|0;f[13907]=w;f[13910]=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[13905]=f[13905]&~(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=55924+(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[13906]=f[13906]&~(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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[k+28>>2]=d;a=k+16|0;f[a+4>>2]=0;f[a>>2]=0;a=f[13906]|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=56068;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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[g+c+4>>2]=40;f[13912]=f[14027];c=a+4|0;f[c>>2]=27;f[b>>2]=f[14017];f[b+4>>2]=f[14018];f[b+8>>2]=f[14019];f[b+12>>2]=f[14020];f[14017]=g;f[14018]=h;f[14020]=0;f[14019]=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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[j+28>>2]=d;f[j+20>>2]=0;f[e>>2]=0;b=f[13906]|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[13909]|0;if((w|0)==0|g>>>0>>0)f[13909]=g;f[14017]=g;f[14018]=h;f[14020]=0;f[13914]=f[14023];f[13913]=-1;f[13918]=55660;f[13917]=55660;f[13920]=55668;f[13919]=55668;f[13922]=55676;f[13921]=55676;f[13924]=55684;f[13923]=55684;f[13926]=55692;f[13925]=55692;f[13928]=55700;f[13927]=55700;f[13930]=55708;f[13929]=55708;f[13932]=55716;f[13931]=55716;f[13934]=55724;f[13933]=55724;f[13936]=55732;f[13935]=55732;f[13938]=55740;f[13937]=55740;f[13940]=55748;f[13939]=55748;f[13942]=55756;f[13941]=55756;f[13944]=55764;f[13943]=55764;f[13946]=55772;f[13945]=55772;f[13948]=55780;f[13947]=55780;f[13950]=55788;f[13949]=55788;f[13952]=55796;f[13951]=55796;f[13954]=55804;f[13953]=55804;f[13956]=55812;f[13955]=55812;f[13958]=55820;f[13957]=55820;f[13960]=55828;f[13959]=55828;f[13962]=55836;f[13961]=55836;f[13964]=55844;f[13963]=55844;f[13966]=55852;f[13965]=55852;f[13968]=55860;f[13967]=55860;f[13970]=55868;f[13969]=55868;f[13972]=55876;f[13971]=55876;f[13974]=55884;f[13973]=55884;f[13976]=55892;f[13975]=55892;f[13978]=55900;f[13977]=55900;f[13980]=55908;f[13979]=55908;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[13911]=v;f[13908]=u;f[v+4>>2]=u|1;f[g+w+4>>2]=40;f[13912]=f[14027]}while(0);b=f[13908]|0;if(b>>>0>m>>>0){u=b-m|0;f[13908]=u;w=f[13911]|0;v=w+m|0;f[13911]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}}w=pt()|0;f[w>>2]=12;w=0;t=x;return w|0} -function Xo(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=(zt(e)|0)&1073741823;if(!d)n=0;else n=(zt(d)|0)&1073741823;y=f[(f[a>>2]|0)+32>>2]|0;f[i>>2]=e;z=Gg(y,50103,i)|0;if(!z){z=7;t=A;return z|0}x=(zt(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=Nu(e|0,g|0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](e)|0;l=30;break}i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;k=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&k>>>0>0){s=f[14051]|0;r=Ou(k|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(i){k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(y,e,g)|0;l=30}while(0);if((l|0)==30)if(!i)i=7;else l=31;do if((l|0)==31){bv(i+n|0,0,(e>>>0>n>>>0?e-n|0:0)|0)|0;$u(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;av(i+(e+d)|0,i+r|0,n-r|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}$u(i+d|0,(l?z:v)|0,e|0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{r=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;av(i+(e+d)|0,i+g|0,n-g|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}$u(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{n=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}else Ic(y,m);while(0);l=f[c>>2]|0;if(!l)break;else n=k}}while(0);if((Ze(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0}if(!u){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);i=0;break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](z);z=i;t=A;return z|0}else{y=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);z=i;t=A;return z|0}return 0}function Yo(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 Zo(a,b){a=a|0;b=b|0;return 0}function _o(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 $o(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 ap(a){a=a|0;var b=0,c=0,d=0;d=t;t=t+16|0;c=d;b=gt(a+8|0)|0;if(!b){f[c>>2]=a;yc(7,50144,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 bp(a){a=a|0;ht(a+-8|0);return}function cp(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=jt(a,b+8|0)|0;if(!c){f[d>>2]=f[a>>2];f[d+4>>2]=b;yc(7,50108,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 dp(a){a=a|0;return f[a+-8>>2]|0}function ep(a){a=a|0;return a+7&-8|0}function fp(a){a=a|0;return 0}function gp(a){a=a|0;return}function hp(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(Kc()|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;zc(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=Ac(e)|0;t=j;return i|0}i=f[g>>2]|0;t=j;return i|0}function ip(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)Fi(d,a);c=dg(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){Bi(d);e=7;return e|0}else{e=f[d+68>>2]&c;return e|0}return 0}function jp(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)){df(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 kp(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=Gc(a,1)|0;return c|0}function lp(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=Ye(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 mp(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=+Fc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);return +d}function np(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=Dc(+p[a>>3])|0;ba()|0;return c|0}if(!(c&18)){c=0;return c|0}c=Ec(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0;return c|0}function op(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=Dc(+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=Ec(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 pp(a){a=a|0;return h[5792+(d[a+8>>1]&31)>>0]|0|0}function qp(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 af(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 rp(a,b,c){a=a|0;b=b|0;c=c|0;f[a+20>>2]=1;Ze(f[a>>2]|0,b,c,1,-1)|0;return}function sp(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{$e(a,b,c);return}}function tp(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{$e(a,b,c);return}}function up(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{af(a);return}}function vp(a){a=a|0;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((Ze(f[a>>2]|0,b,c,1,d)|0)!=18)return;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;return}function xp(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{af(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 yp(a,b){a=a|0;b=b|0;var c=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192)){c=ff(a,b)|0;return c|0}else{c=f[c+16>>2]|0;return c|0}return 0}function zp(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 Ap(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){e=jf(28920)|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;zg(c,25);c=28920;d=a}e=jf(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[a>>2]=c;return e|0}function Bp(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=28920;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;zg(g,25);g=28920}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=Ye(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){Bi(g);c=7}else c=f[g+68>>2]&c;f[h>>2]=c;return e|0}function Cp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0.0;e=(a|0)==0;do if(e)c=28920;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;zg(c,25);c=28920}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=+Fc(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return +g}function Dp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=(a|0)==0;do if(e)c=28920;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;zg(c,25);c=28920}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){g=Dc(+p[c>>3])|0;ba()|0;break}if(!(d&18))g=0;else{g=Ec(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return g|0}function Ep(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=28920;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;zg(c,25);c=28920}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){h=Dc(+p[c>>3])|0;g=ba()|0;break}if(!(d&18)){g=0;h=0}else{h=Ec(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){Bi(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;aa(g|0);return h|0}function Fp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;g=(a|0)==0;do if(g)c=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return h|0}function Gp(a,c){a=a|0;c=c|0;var e=0,g=0,i=0;g=(a|0)==0;do if(g)c=28920;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;zg(c,25);c=28920}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){Bi(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return i|0}function Hp(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=Gc(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 Ip(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=Jp(a,c)|0;if(h|0){switch(g|0){case 0:case -1:{a=h;return a|0}default:{}}nb[g&127](d);a=h;return a|0}if(!d){a=0;return a|0}d=Ze((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;zg(c,d);c=f[a>>2]|0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Bi(c);a=7;return a|0}else{a=f[c+68>>2]&d;return a|0}return 0}function Jp(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)yc(21,33647,l);else{e=f[a>>2]|0;if(!e){yc(21,33602,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)){df(g);e=f[a>>2]|0}d[i>>1]=1;f[e+64>>2]=0;if(f[e+256>>2]|0)zg(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;zg(e,25);c=25;t=l;return c|0}f[e+64>>2]=21;zg(e,21);f[k>>2]=f[a+184>>2];yc(21,50182,k);f[i>>2]=31157;f[i+4>>2]=81984;f[i+8>>2]=31184;yc(21,31132,i);c=21;t=l;return c|0}while(0);f[j>>2]=31157;f[j+4>>2]=81976;f[j+8>>2]=31184;yc(21,31132,j);c=21;t=l;return c|0}function Kp(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=Jp(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 af(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 Lp(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=Jp(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{$e(a,c,e);return g|0}return 0}function Mp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Np(a,b,c,d,e,1)|0}function Np(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=Jp(a,c)|0;if(j|0){switch(h|0){case 0:case -1:{a=j;return a|0}default:{}}nb[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=Ze(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=Pi(l,j)|0;break}}while(0);if(!c){a=0;return a|0}j=f[a>>2]|0;f[j+64>>2]=c;zg(j,c);j=f[a>>2]|0;if((c|0)==3082|(b[j+81>>0]|0)!=0){Bi(j);a=7;return a|0}else{a=f[j+68>>2]&c;return a|0}return 0}function Op(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=Jp(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{$e(g,h,i);a=0;t=o;return a|0}}case 2:{j=+p[e>>3];g=Jp(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 af(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=Jp(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))df(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=Jp(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(bf(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}$u(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;zg(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{Bi(g);a=7;t=o;return a|0}}case 3:{a=Np(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=Jp(a,c)|0;t=o;return a|0}}return 0}function Pp(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=(zt(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(($t(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 Qp(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(!(gf(f[e>>2]|0,i,f[g>>2]|0,c)|0))c=d[k>>1]|0;else{if(!(hf(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 Rp(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[7160]|0)){l=hb[f[28684>>2]&127](32)|0;p=24;break}l=hb[f[28700>>2]&127](32)|0;if((f[14058]|0)>>>0<32)f[14058]=32;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){Z=f[14051]|0;Q=Ou(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;P=ba()|0;f[13840]=((P|0)<0|(P|0)==0&Q>>>0<=Z>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(l){n=hb[f[28696>>2]&127](l)|0;n=(f[14051]|0)+n|0;f[14051]=n;if(n>>>0>(f[14055]|0)>>>0)f[14055]=n;n=(f[14054]|0)+1|0;f[14054]=n;if(n>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{y=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ni(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)?50309: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)?50321: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=ql(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=rl(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=ul(s,6,23328)|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?(sl(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;wl(s,ca)}while(0);d[G>>1]=v;f[H>>2]=a;if(b[Z>>0]|0){p=102;break}l=Sp(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;li(ca,50222,U);p=50}else if((p|0)==47){f[V>>2]=e;li(ca,50252,V);p=50}else if((p|0)==49){f[X>>2]=e;li(ca,50288,X);p=50}else if((p|0)==63){f[Y>>2]=g;l=Gg(a,44653,Y)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==79){f[W>>2]=n;l=Gg(a,50329,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)dg(r)|0;p=f[r>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{m=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}while(0);if(!_){if(f[N>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](M);o=l;break}else{o=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);o=l;break}}else o=l;while(0);l=f[$>>2]|0;$=(l|0)==0;f[aa>>2]=l;tg(a,o,$?0:31564,aa);do if(!$){if(!_){if(f[N>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[ca+68>>2]|0;if(l|0)hg(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){Bi(a);a=7;t=da;return a|0}else{a=f[a+68>>2]&o;t=da;return a|0}return 0}function Sp(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=Hi(l)|0}else k=Ci(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=Di(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=Gg(i,50392,m)|0;q=1;f[g>>2]=p;t=r;return q|0}else{p=Kj(i)|0;f[n>>2]=p;p=Gg(i,31564,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=32424;break a}case 0:{p=9;break a}default:{}}k=32416;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[7792+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=32439;f[o>>2]=k;p=Gg(i,50363,o)|0;Di(f[q>>2]|0)|0;f[q>>2]=0;q=1;f[g>>2]=p;t=r;return q|0}function Tp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!(b[a>>0]|0)){e=nh(a,c,d,e,0)|0;return e|0}else{e=Vp(a,c,d,e)|0;return e|0}return 0}function Up(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]=31157;f[h+4>>2]=90942;f[h+8>>2]=31184;yc(21,31132,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=Nu(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=kb[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}zg(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)dg(j)|0;c=f[j>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{p=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)zg(k,h);if((h|0)==3082|(b[k+81>>0]|0)!=0){Bi(k);p=7;t=m;return p|0}else{p=f[k+68>>2]&h;t=m;return p|0}return 0}function Vp(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=jk(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=nh(a,c,d,e,0)|0;t=j;return k|0}function Wp(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]=31157;f[e+4>>2]=91040;f[e+8>>2]=31184;yc(21,31132,e);j=21;t=k;return j|0}i=f[a+20>>2]|0;if(!(f[a+16>>2]|0))e=4;else{e=Sp(a,c,d,h)|0;do if(e|0?(g=f[h>>2]|0,h=(g|0)==0,f[j>>2]=g,tg(i,e,h?0:31564,j),!h):0){if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0)}if((e|0)==3082|(b[i+81>>0]|0)!=0){Bi(i);j=7;t=k;return j|0}else{j=f[i+68>>2]&e;t=k;return j|0}return 0}function Xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ii(a,b,c,128,0,d,e)|0}function Yp(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=55580;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=55580;break}}}while(0);if(!(f[g+8>>2]|0)){pi(a,c,d,e,0)|0;g=0}else{f[n>>2]=31157;f[n+4>>2]=133630;f[n+8>>2]=31184;yc(21,31132,n);g=21}if(!(b[a+81>>0]|0)){p=f[a+68>>2]&g;t=o;return p|0}else{Bi(a);p=7;t=o;return p|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 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=55580;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=55580;break}}}while(0);if(!(f[i+8>>2]|0)){pi(a,c,d,e,g)|0;i=0}else{f[o>>2]=31157;f[o+4>>2]=133630;f[o+8>>2]=31184;yc(21,31132,o);i=21}if(!(b[a+81>>0]|0))i=f[a+68>>2]&i;else{Bi(a);i=7}if(!((g|0)!=0&(i|0)!=0)){t=p;return i|0}nb[g&127](e);t=p;return i|0}function _p(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]=31157;f[h+4>>2]=134773;f[h+8>>2]=31184;yc(21,31132,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]=31157;f[e+4>>2]=134781;f[e+8>>2]=31184;yc(21,31132,e)}while(0);f[a+64>>2]=21;zg(a,21);h=21;t=i;return h|0}function $p(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=aq(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[23360+(j<<3)+4>>2];c=0;l=16}else d=g;else{d=g|f[23360+(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[23360+(j<<3)+4>>2]|0)!=0)&1;l=0;t=m;return l|0}function aq(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{l=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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[7160]|0)){j=hb[f[28684>>2]&127](h)|0;break}e=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;j=55352;h=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&h>>>0>0){g=f[14051]|0;j=Ou(h|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&j>>>0<=g>>>0)&1}j=hb[f[28684>>2]&127](e)|0;if(j){h=hb[f[28696>>2]&127](j)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}else j=0}else j=0;while(0);if(!j)h=0;else{h=j;i=(hb[f[28696>>2]&127](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 bq(a){a=a|0;return f[a+100>>2]|0}function cq(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]=33820;yc(21,33775,e);f[g>>2]=31157;f[g+4>>2]=153813;f[g+8>>2]=31184;yc(21,31132,g);o=21;t=p;return o|0}if(!(b[a+88>>0]&8)){dq(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)hb[m&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(a,k);while(0);f[i>>2]=0}}else{kb[f[a+196>>2]&127](8,f[a+200>>2]|0,a,0)|0;dq(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)hb[l&127](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)hb[f[(f[d>>2]|0)+16>>2]&127](d)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{m=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{m=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}else Ic(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);tg(a,5,50417,o);o=5;t=p;return o|0}while(0);f[n>>2]=1691352191;Gi(a);o=0;t=p;return o|0}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;eq(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)fq(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){Vh(a);return}do{c=f[(f[b+8>>2]|0)+16>>2]|0;if(c|0)fq(a,c);b=f[b>>2]|0}while((b|0)!=0);Vh(a);return}function eq(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 fq(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];Yh(c);return}function gq(a){a=a|0;return cq(a,1)|0}function hq(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=Xm(a,c,d,e,g,h,i,j,0,0,0)|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);a=7;return a|0}else{a=f[a+68>>2]&c;return a|0}return 0}function iq(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 jq(a,b,c,d,e,f,g,h,0,0,i)|0}function jq(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=yg(12,0)|0;if(!m){tm(a);nb[l&127](e);b=1;break}f[m>>2]=0;f[m+4>>2]=l;f[m+8>>2]=e;b=Xm(a,b,c,d,e,g,h,i,j,k,m)|0;if(!(f[m>>2]|0)){nb[l&127](e);fe(m)}}else b=Xm(a,b,c,d,e,g,h,i,j,k,0)|0;while(0);return kq(a,b)|0}function kq(a,c){a=a|0;c=c|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);c=7;return c|0}else{c=f[a+68>>2]&c;return c|0}return 0}function lq(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(Pk(a,c,d,1,0)|0){a=0;t=j;return a|0}i=ud(c,j)|0;if(!i){a=7;t=j;return a|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](12)|0;if(!e)h=14;else{g=e;h=22}}else{e=hb[f[28700>>2]&127](12)|0;if((f[14058]|0)>>>0<12)f[14058]=12;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=k>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(g){e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=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[7160]|0)){nb[f[28688>>2]&127](i);e=1;break}else{e=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);e=1;break}}else if((h|0)==22){f[g>>2]=0;f[g+4>>2]=94;f[g+8>>2]=i;e=Xm(a,c,d,1,i,174,0,0,0,0,g)|0;if(!(f[g>>2]|0)){if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}}while(0);if((e|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);k=7;t=j;return k|0}else{k=f[a+68>>2]&e;t=j;return k|0}return 0}function mq(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=ud(50485,b)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,b,-1,1,-1)|0;if(!b){t=c;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](b);t=c;return}else{a=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);t=c;return}}function nq(a,b){a=a|0;b=b|0;return oq(a,b,6,0)|0}function oq(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+128|0;G=I+88|0;F=I+80|0;A=I+64|0;z=I+56|0;y=I+48|0;w=I+32|0;v=I+24|0;u=I+16|0;q=I;x=I+112|0;r=I+104|0;H=I+108|0;s=I+100|0;f[r>>2]=d;f[H>>2]=0;f[s>>2]=0;f[c>>2]=0;g=Kc()|0;if(g|0){H=g;t=I;return H|0}if((d&32768|0)==0&(f[7161]|0)!=0)k=(d&65536|0)==0?f[7162]|0:1;else k=0;if(!(d&262144)){if(f[7214]|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[7160]|0)){g=hb[f[28684>>2]&127](488)|0;if(!g){g=0;D=134}else D=19}else{g=hb[f[28700>>2]&127](488)|0;if((f[14058]|0)>>>0<488)f[14058]=488;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){E=f[14051]|0;D=Ou(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;C=ba()|0;f[13840]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=i;D=19}else D=19}else{g=0;D=134}}a:do if((D|0)==19){bv(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;i=g+108|0;j=23440;k=i+44|0;do{f[i>>2]=f[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f[g+152>>2]=0;b[g+79>>0]=1;b[g+84>>0]=-1;m=28824;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;pq(g,33704,1,0,77,0)|0;pq(g,33704,3,0,77,0)|0;pq(g,33704,2,0,77,0)|0;pq(g,47621,1,0,78,0)|0;pq(g,50536,1,1,77,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=55580;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=33704;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=55580;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]=31157;f[q+4>>2]=155840;f[q+8>>2]=31184;yc(21,31132,q);i=21}else{i=Qm(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=aj(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=Rm(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=Rm(g,0)|0;J=f[n>>2]|0;f[J+28>>2]=D;f[J>>2]=33138;b[J+8>>0]=3;f[J+16>>2]=50412;b[J+24>>0]=1;f[E>>2]=-1607883113;if(b[B>>0]|0){D=134;break a}p=g+64|0;f[p>>2]=0;if(f[g+256>>2]|0)zg(g,0);do if((lq(g,50542,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]=33820;yc(21,33775,v);f[w>>2]=31157;f[w+4>>2]=155189;f[w+8>>2]=31184;yc(21,31132,w);d=21;D=128}else if((D|0)==60){if(b[B>>0]|0){d=7;D=128;break}d=f[C>>2]&f[p>>2];if(d|0){D=128;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=jb[j&127](g,x,0)|0;if(i){f[y>>2]=f[x>>2];tg(g,i,50548,y);d=0}i=f[x>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{J=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=76;break i}}else switch(d|0){case 1266094736:break i;default:{D=76;break i}}else switch(d|0){case -1607883113:break;default:D=76}while(0);if((D|0)==76){f[z>>2]=33820;yc(21,33775,z);f[A>>2]=31157;f[A+4>>2]=155189;f[A+8>>2]=31184;yc(21,31132,A);break b}if(b[B>>0]|0)break b;if(f[C>>2]&f[p>>2]|0)break b;d=Yp(g,50587,29736,0)|0;if(d|0){D=128;break}if(Kc()|0){d=7;D=128;break}do if(!(f[7160]|0)){d=hb[f[28684>>2]&127](20)|0;if(!d){d=7;D=128;break g}else i=d}else{d=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[14051]|0;A=Ou(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;z=ba()|0;f[13840]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}i=hb[f[28684>>2]&127](d)|0;if(!i){d=7;D=128;break g}d=hb[f[28696>>2]&127](i)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0<=(f[14060]|0)>>>0)break;f[14060]=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(!(rq(i,50595,7,29832)|0)){if(rq(i,50602,7,29860)|0){d=7;D=109;break}if(rq(i,50609,10,29888)|0){d=7;D=109;break}d=Xm(g,50619,1,5,i,175,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Bi(g);d=7;D=109;break}d=f[C>>2]&d;if(d|0){D=109;break}d=Xm(g,50619,2,5,i,175,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Bi(g);d=7;D=109;break}d=f[C>>2]&d;if(d|0){D=109;break}d=lq(g,50634,-1)|0;if(d|0){D=109;break}d=lq(g,50642,1)|0;if(d|0){D=109;break}d=lq(g,50650,1)|0;if(d|0){D=109;break}d=lq(g,50650,2)|0;if(d|0){D=109;break}d=lq(g,39185,1)|0;if(d|0){D=109;break}d=Zp(g,50660,29916,i,100)|0;if(d|0){D=128;break g}d=Zp(g,50665,29916,i,0)|0;if(d|0){D=128;break g}d=Yp(g,50670,30012,i)|0}else{d=7;D=109}while(0);do if((D|0)==109){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[7160]|0)){nb[f[28688>>2]&127](l);break}else{J=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{J=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{J=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}}while((j|0)!=0);f[n>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{J=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(d|0)D=128}while(0);if((D|0)==128){f[p>>2]=d;zg(g,d)}aq(g,0,f[7168]|0,f[7169]|0)|0;f[g+236>>2]=77;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;zg(g,d);break b}while(0);d=f[s>>2]|0;J=(d|0)==0;f[u>>2]=d;tg(g,i,J?0:31564,u);if(!J)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{J=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=132;break j}default:{D=131;break j}}else switch(d|0){case 1266094736:{D=132;break j}default:{D=131;break j}}else switch(d|0){case -1607883113:{D=132;break}default:D=131}while(0);if((D|0)==131){f[F>>2]=33820;yc(21,33775,F);f[G>>2]=31157;f[G+4>>2]=155189;f[G+8>>2]=31184;yc(21,31132,G);d=21}else if((D|0)==132){if(b[B>>0]|0){D=134;break}d=f[C>>2]&f[g+64>>2];switch(d|0){case 7:{D=134;break a}case 0:break a;default:{}}}f[E>>2]=1266094736}while(0);if((D|0)==134){cq(g,0)|0;d=7;g=0}f[c>>2]=g;g=f[H>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);J=d&255;t=I;return J|0}function pq(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]=31157;f[j+4>>2]=155246;f[j+8>>2]=31184;yc(21,31132,j);s=21;t=u;return s|0}else r=s}q=r&255;j=Yk(a,q,c,0)|0;if(j|0?f[j+12>>2]|0:0){if(f[a+168>>2]|0){tg(a,5,55203,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=55580;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=55580;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){nb[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){nb[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)nb[d&127](f[k+48>>2]|0);f[k+52>>2]=0}}}d=Yk(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}zg(a,0);v=0;t=u;return v|0}function qq(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 rq(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=ib[(b[a>>0]<<24>>24==1?148:149)&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?78:79,g=f[i+(m<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){l=g;while(1){h=h+-1|0;if(!(kb[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[7160]|0)){nb[f[28688>>2]&127](n);break}else{e=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{e=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);break}else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](o);break}else{a=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{a=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Kc()|0)){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](64)|0;if(!g)break}else{g=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){p=f[14051]|0;o=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(!h)break;g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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[7160]|0)){nb[f[28688>>2]&127](h);break}else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}while(0);f[s>>2]=g;f[r>>2]=8;n=(b[a>>0]|0)==1?148:149;m=a+8|0;h=f[m>>2]|0;f[m>>2]=0;if(!h){g=8;k=69}else{do{k=(ib[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=Dd(g)|0;if(!o)break;bv(o|0,0,g|0)|0;g=f[s>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{n=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);f[s>>2]=o;f[r>>2]=h;n=(b[a>>0]|0)==1?148:149;m=a+8|0;g=f[m>>2]|0;f[m>>2]=0;if(g|0){l=h+-1|0;do{j=(ib[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(Kc()|0){t=e;return t|0}do if(!(f[7160]|0)){g=hb[f[28684>>2]&127](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=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){t=f[14051]|0;o=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&o>>>0<=t>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(!h){t=e;return t|0}g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Dd(d)|0;if(g|0){bv(g|0,0,d|0)|0;f[l+12>>2]=g;$u(g|0,c|0,d|0)|0;break}f[l+12>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);t=e;return t|0}else{t=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-t;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 sq(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=Gc(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=Ye(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=ib[(b[v>>0]<<24>>24==1?148:149)&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?78:79,g=f[o+(n<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){while(1){h=h+-1|0;if(!(kb[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=ud(50734,u)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=x;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);t=x;return}else{a=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;$p(u,1004,p)|0;if(!(f[l>>2]|0)){f[a+20>>2]=1;Ze(f[a>>2]|0,55007,-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=Ye(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=jf(f[i>>2]|0)|0;u=f[u>>2]|0;j=u;if((rq(v,w,k,u)|0)!=(u|0)){g=a;break}f[a+20>>2]=1;Ze(f[a>>2]|0,35544,-1,1,-1)|0;g=a;break}f[a+20>>2]=1;Ze(f[a>>2]|0,54984,-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;Ze(i,32336,-1,1,0)|0;t=x;return}do if((f[i+24>>2]|0)<32)if(!(bf(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 tq(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{h=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}}while((c|0)!=0)}f[a+4>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{h=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function uq(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=uk(a,50683)|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+(zt(f[r+(e<<2)>>2]|0)|0)|0;e=e+1|0}while((e|0)!=(s|0))}else a=0;q=Dd(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=zt(f[a>>2]|0)|0;f[q+(o<<2)>>2]=n;p=p+1|0;$u(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=50595;l=q;a=q;m=21}else{k=f[q>>2]|0;l=q;a=q;m=21}}else{k=50595;l=0;a=0;m=21}while(0);d:do if((m|0)==21){e=(zt(k)|0)+1|0;e:do if(((c|0?(u=c+16|0,f[u>>2]|0):0)?(v=ib[(b[c>>0]<<24>>24==1?148:149)&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?78:79,i=f[w+(v<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(kb[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=jb[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(Kc()|0){e=7;m=44;break d}if(!(f[7160]|0)){i=hb[f[28684>>2]&127](20)|0;if(!i){e=7;m=44;break d}}else{i=hb[f[28700>>2]&127](20)|0;if((f[14058]|0)>>>0<20)f[14058]=20;k=55352;e=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&e>>>0>0){d=f[14051]|0;y=Ou(e|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&y>>>0<=d>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){e=7;m=44;break d}e=hb[f[28696>>2]&127](i)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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;Iq(h,50734,y);e=1;j=0;m=44}while(0);if((m|0)==44){i=f[z>>2]|0;if(!i)i=e;else{hb[f[j+8>>2]&127](i)|0;i=e}}if(!a){z=i;t=A;return z|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);z=i;t=A;return z|0}else{z=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);z=i;t=A;return z|0}return 0}function vq(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 wq(a){a=a|0;var b=0;hb[f[(f[a+12>>2]|0)+8>>2]&127](f[a+16>>2]|0)|0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function xq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){a=hb[f[28684>>2]&127](36)|0;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a){e=7;return e|0}c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 yq(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;if(c|0){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](c)|0;f[b>>2]=0}c=a+4|0;b=f[c>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function zq(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){hb[f[(f[k+12>>2]|0)+16>>2]&127](e)|0;f[n>>2]=0}m=a+4|0;e=f[m>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(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=Ye(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=Dd(c+1|0)|0;f[m>>2]=e;if(!e){a=7;return a|0}$u(e|0,i|0,c|0)|0;b[(f[m>>2]|0)+c>>0]=0;g=k+16|0;e=kb[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=mb[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){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](e)|0;f[n>>2]=0}e=f[m>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Aq(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=mb[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){hb[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&127](b)|0;f[c>>2]=0}a=a+4|0;b=f[a>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Bq(a){a=a|0;return (f[a+16>>2]|0)==0|0}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(c|0){case 0:{if((Ze(f[b>>2]|0,f[a+4>>2]|0,-1,1,-1)|0)!=18)return 0;f[b+20>>2]=18;Ze(f[b>>2]|0,32336,-1,1,0)|0;return 0}case 1:{if((Ze(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;Ze(f[b>>2]|0,32336,-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{$e(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{$e(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{$e(a,e,c);return 0}}}return 0}function Dq(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 Eq(a,c){a=a|0;c=c|0;var d=0;if((c|0)<1){c=zt(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 Fq(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 Gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=$t(a,c,b)|0;else a=1;return a|0}function Hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Kt(a,c,b)|0;else a=1;return a|0}function Iq(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[d>>2]=c;h=hp(b,d)|0;f[a>>2]=h;t=g;return}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;return Bs(1,a,b,c,d,e,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;return Bs(0,a,b,c,d,e,f)|0}function Lq(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?53871:53875;f[c+32>>2]=1;return 0}function Mq(a){a=a|0;var b=0,c=0;Di(f[a+216>>2]|0)|0;b=a+56|0;Di(f[b>>2]|0)|0;Di(f[b+4>>2]|0)|0;Di(f[b+8>>2]|0)|0;Di(f[b+12>>2]|0)|0;Di(f[b+16>>2]|0)|0;Di(f[b+20>>2]|0)|0;Di(f[b+24>>2]|0)|0;Di(f[b+28>>2]|0)|0;Di(f[b+32>>2]|0)|0;Di(f[b+36>>2]|0)|0;Di(f[b+40>>2]|0)|0;Di(f[b+44>>2]|0)|0;Di(f[b+48>>2]|0)|0;Di(f[b+52>>2]|0)|0;Di(f[b+56>>2]|0)|0;Di(f[b+60>>2]|0)|0;Di(f[b+64>>2]|0)|0;Di(f[b+68>>2]|0)|0;Di(f[b+72>>2]|0)|0;Di(f[b+76>>2]|0)|0;Di(f[b+80>>2]|0)|0;Di(f[b+84>>2]|0)|0;Di(f[b+88>>2]|0)|0;Di(f[b+92>>2]|0)|0;Di(f[b+96>>2]|0)|0;Di(f[b+100>>2]|0)|0;Di(f[b+104>>2]|0)|0;Di(f[b+108>>2]|0)|0;Di(f[b+112>>2]|0)|0;Di(f[b+116>>2]|0)|0;Di(f[b+120>>2]|0)|0;Di(f[b+124>>2]|0)|0;Di(f[b+128>>2]|0)|0;Di(f[b+132>>2]|0)|0;Di(f[b+136>>2]|0)|0;Di(f[b+140>>2]|0)|0;Di(f[b+144>>2]|0)|0;Di(f[b+148>>2]|0)|0;Di(f[b+152>>2]|0)|0;Di(f[b+156>>2]|0)|0;b=f[a+244>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+220>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+224>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+44>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);c=f[a+36>>2]|0;hb[f[(f[c>>2]|0)+8>>2]&127](c)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Nq(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;hr(b,d,53986,g)}m=f[e>>2]|0;f[j>>2]=c;f[j+4>>2]=m;hr(b,d,54023,j);m=f[e>>2]|0;f[k>>2]=c;f[k+4>>2]=m;hr(b,d,54061,k);m=f[e>>2]|0;f[h>>2]=c;f[h+4>>2]=m;hr(b,d,54097,h);m=f[e>>2]|0;f[i>>2]=c;f[i+4>>2]=m;hr(b,d,54134,i);b=f[b>>2]|0;if(b|0){m=b;t=l;return m|0}Mq(a)|0;m=0;t=l;return m|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!(Kc()|0)){if(!(f[7160]|0)){a=hb[f[28684>>2]&127](96)|0;f[b>>2]=a;if(!a){b=7;return b|0}}else{d=hb[f[28700>>2]&127](96)|0;if((f[14058]|0)>>>0<96)f[14058]=96;c=55352;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[14051]|0;c=Ou(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[13840]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=hb[f[28684>>2]&127](d)|0;if(!a)break;c=hb[f[28696>>2]&127](a)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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 Pq(a){a=a|0;var b=0;rs(a);if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function Qq(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}rs(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(!(gf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(hf(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=Dc(+p[E>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Ec(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(!(gf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(hf(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=Dc(+p[D>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Ec(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=Gc(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=Dc(+p[u>>3])|0;ba()|0;break}if(!(g&18))g=0;else{g=Ec(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=ts(B,o,zt(o)|0,e,A)|0;do if(!g){g=f[e>>2]|0;if(f[B+32>>2]|0){ss(g);f[e>>2]=0;break}if(!g){g=0;break a}g=us(e,12)|0;if(!g){g=f[e>>2]|0;i=vs(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){ss(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;Iq(m,53786,w);M=1;t=L;return M|0}while(0);f[x>>2]=o;Iq(m,53838,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;ws(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=Dd((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;xs(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=ys(a,0,i,g)|0,f[A>>2]=M,(M|0)==0&(f[C>>2]|0)>0):0){g=0;do{M=ys(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[7160]|0))nb[f[28688>>2]&127](i);else{M=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}}while(0);zs(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;Di(f[l+16>>2]|0)|0;if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{M=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?53871:53875;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=ud(53880,G)|0}else{g=(b[a+52>>0]|0)==0?53871:53875;f[F>>2]=k;f[F+4>>2]=g;g=ud(53942,F)|0}if(!g){M=7;t=L;return M|0}k=Ii(f[H+12>>2]|0,g,-1,129,0,a+12|0,0)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](g);I=116;break c}else{I=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(52225,J)|0;if(!g){M=7;t=L;return M|0}k=Ii(f[i+12>>2]|0,g,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{M=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Op(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=Rq(a)|0;t=L;return M|0}function Rq(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((Ci(f[c>>2]|0)|0)==100){o=Ep(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)Fi(c,e);d=dg(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){Bi(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)Fi(n,m);s=dg(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)Bi(n)}Wr(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((Mr(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 Sq(a){a=a|0;var c=0;c=a+6|0;if(!(b[c>>0]|0)){c=0;return c|0}rs(a);b[c>>0]=1;c=1;return c|0}function Tq(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))df(e);f[e>>2]=52099;f[e+16>>2]=a;d[g>>1]=-31231;b[e+11>>0]=112;f[e+36>>2]=101;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{$e(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{$e(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{$e(e,0,0);c=0;return c|0}}break}default:h=e}e=Or(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=28920;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;zg(a,25);a=28920}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){Bi(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}kf(c,a);c=0;return c|0}function Uq(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 Vq(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=Gc(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=Ye(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=39185;aa=22}else{_=n&255;i=1232+_|0;do if((_|32|0)==111){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=39186;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==112){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=39187;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=39188;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==105){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=39189;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=39190;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=39191;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=39192;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=cs(a,0)|0;break b}case 7:{n=b[q>>0]|0;e:do if(!(n<<24>>24)){i=53208;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=53209;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=53210;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=53211;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=53212;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=53213;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=53214;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=js(a,0)|0;f[O>>2]=i;if(!i){f[$>>2]=0;f[v>>2]=f[a+220>>2];i=ud(53216,v)|0;do if(i){k=Ii(f[a+12>>2]|0,i,-1,128,0,$,0)|0;f[O>>2]=k;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Z=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}if(!k){i=((f[_>>2]|0)*12|0)+12|0;D=Dd(i)|0;if(!D){f[O>>2]=7;m=0;l=0;k=0;i=0;break}bv(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((Ci(w)|0)!=100){aa=89;break}if(!(f[x>>2]|0))v=0;else v=Dp(w,(f[_>>2]|0)+1|0)|0;n=Ep(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=gr(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;bv(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;zg(i,25);i=28920}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=Gc(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){Bi(i);i=7}else i=f[i+68>>2]&c;f[u>>2]=i;i=ks(a,v,n,o,D+(o<<2)|0)|0;Y=Bp(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){ls(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{Di(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)ms(O,a,l,k,m);do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{_=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-_;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[$>>2]|0;if(i){i=Di(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=53226;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=53227;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=53228;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=53229;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=53230;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=53231;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=53232;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=53233;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=53234;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=53235;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=53236;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=53237;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=53238;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=53239;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=53240;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=ud(52334,z)|0;if(!i){c=7;m=0;l=0;k=0;i=0;break}c=Ii(f[a+12>>2]|0,i,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{V=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(m,k,l);break}}while(0);V=a+252|0;k=f[V>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Jp(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{$e(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((Ci(N)|0)!=100){l=0;n=1;U=k;break}D=Dp(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=jr(a,D,C,-2,0,0,0,1,$)|0;do if(!l){f[G>>2]=O;l=kr(a,$,0,0)|0;if(l|0){w=0;n=0;break}l=lr(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=Zu(U&127|0,0,o|0)|0;l=Nu(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=Zu(U&127|0,0,q|0)|0;u=Nu(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=Nu(x|0,y|0,-2,-1)|0;v=Nu(w|0,ba()|0,u|0,v|0)|0;w=ba()|0;q=Zu(l|0,r|0,3)|0;T=ba()|0;U=Nu(l|0,r|0,D|0,E|0)|0;T=Nu(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=Zu(T|0,q|0,3)|0;s=ba()|0;q=Nu(T|0,q|0,C|0,0)|0;s=Nu(q|0,ba()|0,U|0,s|0)|0;U=ba()|0;q=Zu(s|0,U|0,3)|0;T=ba()|0;U=Nu(s|0,U|0,o|0,((o|0)<0)<<31>>31|0)|0;T=Nu(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=Xu(0,v|0,32)|0;s=ba()|0;q=Tu(T|0,q|0,9,0)|0;q=Nu(U|0,s|0,q|0,ba()|0)|0;s=ba()|0;if(A){u=0;do{U=b[g+u>>0]|0;q=Tu(q|0,s|0,9,0)|0;q=Nu(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=Zu(U&127|0,0,s|0)|0;o=Nu(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=Zu(U&127|0,0,s|0)|0;o=Nu(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=Nu(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=lr(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(!(b[s+5>>0]|0)){c=f[s+40>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);c=f[s+52>>2]|0;i:do if(c|0){o=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;do if(o|0){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](s);break}else{aa=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](v);break}else{U=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](v);break}}while(0);c=f[I>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{U=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-U;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(i,N);k=dg(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){Bi(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=ud(53216,Z)|0;j:do if(!i){c=7;l=0;i=0;k=0}else{c=Ii(f[a+12>>2]|0,i,-1,128,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{S=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(k)|0)!=100){c=0;break j}c=Ep(k,0)|0;n=ba()|0;if(!(f[L>>2]|0))J=0;else J=Dp(k,(f[_>>2]|0)+1|0)|0;I=Tu(c|0,n|0,9,0)|0;I=Nu(I|0,ba()|0,J|0,((J|0)<0)<<31>>31|0)|0;H=ba()|0;F=Tu(I|0,H|0,81,0)|0;G=ba()|0;H=Tu(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=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(c);c=7}else c=f[c+68>>2]&n;f[Q>>2]=c}c=Bp(k,E)|0;n=f[T>>2]|0;o=f[n>>2]|0;f[Z>>2]=0;c=kb[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=ib[f[o+24>>2]&255](f[Z>>2]|0,J)|0;if(!c)break;hb[f[o+16>>2]&127](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=Nu(F|0,G|0,D|0,0)|0;B=Tu(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=mb[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=Nu(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=Tu(o|0,q|0,9,0)|0;o=Nu(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=Nu(H|0,I|0,u|0,0)|0;o=ba()|0;r=Zu(q|0,o|0,3)|0;ea=ba()|0;o=Nu(q|0,o|0,D|0,0)|0;ea=Nu(o|0,ba()|0,r|0,ea|0)|0;r=ba()|0;o=Zu(ea|0,r|0,3)|0;q=ba()|0;r=Nu(ea|0,r|0,z|0,g|0)|0;q=Nu(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=Tu(q|0,o|0,9,0)|0;q=Nu(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)hb[f[K>>2]&127](n)|0;c=(c|0)==101?0:c}else c=0}while(!(c|0))}while((c|0)==0)}while(0);Di(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=53242;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=53243;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=53244;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=53245;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=53246;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=53247;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=53326;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=53327;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=53328;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=53329;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=53330;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=53331;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=53332;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=53333;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=53334;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=53335;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;hr($,i,53249,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=ud(53170,F)|0;if(!k){f[$>>2]=7;i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,2,0);break}}while(0);l=f[m>>2]|0;m=((l|0)<0)<<31>>31;if(Jp(c,2)|0){Ci(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 $e(i,l,m);Ci(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)Fi(i,c);k=dg(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){Bi(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;hr(O,i,53249,D);i=f[O>>2]|0;if(!i){b[m>>0]=1;aa=306}}else aa=306;if((aa|0)==306){i=fs(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;Di(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{ea=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dc(+p[i>>3])|0;ba()|0;break}if(!(k&18)){r=_;aa=444;break a}i=Ec(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=Dd((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;bv(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=ud(51410,q)|0;if(!k){i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Jp(l,1)|0;Ci(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)Fi(i,l);k=dg(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{Bi(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=Dc(+p[c>>3])|0;c=ba()|0;break}if(!(l&18)){m=0;c=0}else{ea=Ec(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=Dc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Ec(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=ns(a,i,A,u)|0}else{k=1;i=os(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=ns(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=Dc(+p[i>>3])|0;ba()|0;break}if(!(k&18))o=0;else{o=Ec(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=os(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=gr(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=Gc(i,1)|0}while(0);i=ks(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=Ye(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)ls(ca,a,s);f[A>>2]=(f[A>>2]|0)+1}if(b[a+232>>0]|0)ms(ca,a,s,u,f[A>>2]|0)}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{ea=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}else{ea=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}return 0}function Wq(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=ud(50788,c)|0;if(!d){e=7;t=g;return e|0}c=fr(f[a+12>>2]|0,f[a+16>>2]|0,d,0,0,0,0,0,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{a=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d)}b[e>>0]=(c|0)==0&1;e=0;t=g;return e|0}function Xq(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=gr(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=ud(52476,c)|0;if(!c){g=7;c=0;break}g=Ii(f[m>>2]|0,c,-1,129,0,e,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(g)|0)==100)c=Dp(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)Fi(d,g);e=dg(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){Bi(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=fs(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;Di(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{a=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Yq(a){a=a|0;return 0}function Zq(a){a=a|0;er(a);return 0}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(wt(c,50634)|0)if(wt(c,50642)|0)if(wt(c,39185)|0)if(!(wt(c,50650)|0))a=3;else{d=0;return d|0}else a=2;else a=1;else a=0;f[d>>2]=f[23488+(a<<3)+4>>2];d=1;return d|0}function $q(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=ud(50788,d)|0;if(!e)d=7;else{d=fr(f[g>>2]|0,f[a+16>>2]|0,e,0,0,0,0,0,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e)}b[k>>0]=(d|0)==0&1;h=7}}else h=7;if((h|0)==7){f[m>>2]=0;d=gr(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;hr(m,n,50796,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;hr(m,n,50849,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;hr(m,n,50902,l)}l=f[d>>2]|0;f[o>>2]=f[e>>2];f[o+4>>2]=l;f[o+8>>2]=c;hr(m,n,50949,o);o=f[d>>2]|0;f[p>>2]=f[e>>2];f[p+4>>2]=o;f[p+8>>2]=c;hr(m,n,51003,p);t=q;return f[m>>2]|0}function ar(a,c){a=a|0;c=c|0;if(b[a+236>>0]|0){c=0;return c|0}c=Xq(a)|0;return c|0}function br(a,b){a=a|0;b=b|0;return 0}function cr(a,b){a=a|0;b=b|0;er(a);return 0}function dr(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=50756;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=50764;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=50772;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=50779;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=31379;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 er(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);break}else{l=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](d);else{l=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 fr(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=oi(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=oi(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=hi(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=40291;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=40299;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=40305;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=40999;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+(zt(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=40999}}else{q=0;n=1;s=0;r=0;p=40999}while(0);o=0;u=q;c=n;r=(r|0)==0?33704: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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[x>>2]=e;f[x+4>>2]=g;n=Gg(a,52071,x)|0;f[y>>2]=n;o=1}f[z>>2]=n;tg(a,o,(n|0)==0?0:31564,z);n=f[y>>2]|0;do if(n|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if((o|0)==3082|(b[a+81>>0]|0)!=0){Bi(a);B=7;t=A;return B|0}else{B=f[a+68>>2]&o;t=A;return B|0}return 0}function gr(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=ir(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}er(a);l=h;t=m;return l|0}while(0);er(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=ud(51055,i)|0;if(!c){l=7;t=m;return l|0}e=Ii(f[a+12>>2]|0,c,-1,129,0,j,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,2,0);break}}while(0);switch(Ci(h)|0){case 100:{e=Dp(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)Fi(c,h);e=dg(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){Bi(c);l=7;t=m;return l|0}else{l=f[c+68>>2]&e;t=m;return l|0}return 0}function hr(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=hp(c,e)|0;if(!c){f[a>>2]=7;t=g;return}b=sj(b,c,0,0,0)|0;f[a>>2]=b;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=g;return}else{b=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=g;return}} -function xj(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;wj(a,36133,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;wj(a,36156,n);ma=0;t=na;return ma|0}b[k>>0]=m|l;f[ha>>2]=36181;f[ja>>2]=c;k=f[u>>2]|0;k=kb[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=Nh(da)|0;do if(!k){ba=f[da+56>>2]|0;ca=h[da+9>>0]|0;f[ha>>2]=36267;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]=36293;k=ph(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;wj(a,34603,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;wj(a,34574,q)}}k=xj(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;wj(a,36321,O);m=0}else{u=ba+s|0;pb[f[A>>2]&255](da,u,N);if((s+(j[B>>1]|0)|0)>>>0>fa>>>0){wj(a,36351,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;wj(a,36375,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=ph(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;wj(a,34603,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;wj(a,34574,R)}}vj(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=ph(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;wj(a,34603,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;wj(a,34574,T)}}n=X;n=xj(a,p,X,f[n>>2]|0,f[n+4>>2]|0)|0;if((n|0)==(k|0)){n=0;break}wj(a,36399,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+((ib[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;wj(a,36424,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;wj(a,36461,ga)}}while(0);if(!da)break a}else{f[p>>2]=k;wj(a,36229,p);k=-1}while(0);l=f[da+72>>2]|0;if(!(d[l+28>>1]&32)){$g(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;wj(a,36191,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 yj(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))df(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=Bc(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=hb[f[28696>>2]&127](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]=97;i=0;return i|0}function zj(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=zj(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=zj(a,b)|0;f[c>>2]=a;return d|0}return 0}function Aj(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{Aj(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{Aj(b,d,c);t=g;return}}function Bj(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 Cj(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=di(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=di(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=di(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=di(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 Dj(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;hb[f[d+4>>2]&127](c)|0;f[c>>2]=0;break}c=f[a+64>>2]|0;d=f[c>>2]|0;if(d|0){hb[f[d+4>>2]&127](c)|0;f[c>>2]=0}i=a+17|0;if((h[i>>0]|0)>1){j=f[a>>2]|0;jb[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=Li(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(ib[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,jb[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))ib[f[d+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5)break;b[i>>0]=1;break}if(g)vh(a)}while(0);return h[k>>0]|0}function Ej(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=Ii(a,e,-1,128,0,g,0)|0;if(e|0){c=e;t=o;return c|0}n=f[g>>2]|0;e=Ci(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=Ci(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;zg(e,25);e=28920}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=Gc(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){Bi(e);e=7}else e=f[e+68>>2]&g;f[l>>2]=e;do if(h|0){if($t(h,36086,3)|0?$t(h,36090,3)|0:0)break;e=Ej(a,c,h)|0;if(e|0)break a}while(0);e=Ci(n)|0}while((e|0)==100)}while(0);l=(e|0)==101?0:e;if(l|0){k=Kj(a)|0;e=f[c>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);b:do if(!k)e=0;else{i=(zt(k)|0)+1|0;c:do if(!a){a=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](i)|0;m=59;break}e=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){a=f[14051]|0;h=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=a>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,i,0)|0;m=59}while(0);if((m|0)==59)if(!e){e=0;break}$u(e|0,k|0,i|0)|0}while(0);f[c>>2]=e}Di(n)|0;c=l;t=o;return c|0}function Fj(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=xg(a,c,g)|0;if(!c){g=7;t=e;return g|0}g=Ej(a,b,c)|0;Xh(a,c);t=e;return g|0}function Gj(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=Ji(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[13886]|0)>>>0<=h>>>0)if((f[13887]|0)>>>0>h>>>0){f[14052]=(f[14052]|0)+-1;f[i>>2]=f[13889];f[13889]=i;u=(f[13890]|0)+1|0;f[13890]=u;f[13891]=(u|0)<(f[13885]|0)&1;break}else{h=hb[f[28696>>2]&127](i)|0;C=16;break}else{h=hb[f[28696>>2]&127](i)|0;C=16}while(0);do if((C|0)==16){f[14053]=(f[14053]|0)-h;if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);f[q>>2]=0}u=gh(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=Ji(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=kb[f[k>>2]&127](v,h,w,2)|0;do if(!g){g=jh(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)){$g(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=Kg(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=Lg(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=Mg(j)|0;C=50;break}else{r=Ng(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)Th(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=Ji(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=Ji(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=Lg(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=Mg(g)|0;C=66;break}else{e=Ng(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=Tu(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=kb[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=Lg(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=Mg(g)|0;break}else{e=Ng(g)|0;break}}while(0);g=f[w>>2]|0;if(g)if(!(d[g+28>>1]&32)){$g(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=zh(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=Ru(h|0,i|0,u|0,n|0)|0;ba()|0;e=kb[f[j>>2]&127](v,e+1|0,w,0)|0;if(!e)e=lb[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)){$g(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=Nu(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=ib[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=jb[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=jb[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=ib[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=zh(x,0,0)|0;C=111}if((C|0)==111?z|0:0){e=z;break}e=Fg(f[y>>2]|0,0)|0;e=(e|0)==0?101:e}while(0);if(D|0){Eg(f[E>>2]|0,0)|0;Fg(f[E>>2]|0,0)|0}E=(e|0)==3082?7:e;f[F>>2]=E;F=E;t=G;return F|0}function Hj(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]}Sh(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)zg(b,0)}else zg(b,c);Gi(f[a>>2]|0);if(f[a>>2]|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](a);break}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);break}}while(0);Gi(d);d=c;return d|0}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,q=0,r=0,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[36052]|0;b[G+1>>0]=b[36053]|0;b[G+2>>0]=b[36054]|0}else Cc(J,36052,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;$u((f[L>>2]|0)+g|0,c|0,a|0)|0}}else Cc(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=(zt(c)|0)&1073741823;if(a>>>0>=100){Cc(J,c,a);break}if(!a)break;f[M>>2]=a;$u(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=Jj(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;$u((f[L>>2]|0)+e|0,c|0,a|0)|0}}else Cc(J,c,a);c=c+a|0;if(!k)break a;do if((b[c>>0]|0)==63)if((k|0)>1){Nd(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(($t(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;of(J,32662,B);break}if(e&8|0){p[C>>3]=+p[a>>3];of(J,32397,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;of(J,36056,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;Ze(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)?(Pi(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;of(J,36056,F);if((d[q>>1]&9216)==0&(f[v>>2]|0)==0)break;df(z);break}if(e&16384|0){f[D>>2]=f[a>>2];of(J,36063,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 Cc(J,36076,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];of(J,36079,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{Cc(J,36084,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{Cc(J,31267,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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{J=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Jj(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[8096+(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[8096+(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[8352+(((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[8480+g>>0]|0)){i=8896+(j[8624+(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[9520+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[9664+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 Kj(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]=33820;yc(21,33775,e);f[g>>2]=31157;f[g+4>>2]=155123;f[g+8>>2]=31184;yc(21,31132,g);c=35880;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=Gc(c,1)|0}if(c|0)break a}while(0);c=f[a+64>>2]|0;switch(c|0){case 516:{c=35490;break a}case 100:{c=35468;break a}case 101:{c=35445;break a}default:{c=c&255;if(c>>>0>=29){c=35431;break a}if(!(520028155>>>c&1)){c=35431;break a}c=f[7968+(c<<2)>>2]|0;break a}}}else c=35544}else c=35544;while(0);t=i;return c|0}function Lj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{i=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{i=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Mj(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){Cc(a,b,c);return}if(!c)return;f[d>>2]=g;$u((f[a+4>>2]|0)+e|0,b|0,c|0)|0;return}function Nj(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=hi(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=Oj(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;Pj(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;Pj(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 Oj(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=Qj((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=Qj(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 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,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=Yu(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=Yu(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=Zu(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[7920+((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(!(_e(36682,a,32231,91)|0)){r=h[c>>0]|h[c+1>>0]<<8|4;b[c>>0]=r;b[c+1>>0]=r>>8}else{if(_e(36693,a,32231,91)|0){if(_e(36703,a,32231,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;Nd(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=Zu(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=Yu(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=Yu(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[7920+((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 Qj(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=55580;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=55580;e=14;break}}if((e|0)==14){k=d+8|0;k=f[k>>2]|0;return k|0}return 0}function Rj(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]=33143;f[e+4>>2]=122737;f[e+8>>2]=31184;yc(11,31132,e);c=11;break}f[g>>2]=(c|0)==0?36715:c;c=Gg(k,36717,g)|0;if((d|0)!=0?(b[d>>0]|0)!=0:0){f[h>>2]=c;f[h+4>>2]=d;c=Gg(k,36773,h)|0}f[f[m>>2]>>2]=c;f[i>>2]=33143;f[i+4>>2]=122744;f[i+8>>2]=31184;yc(11,31132,i);c=11;break}a:do if(!d)c=0;else{h=(zt(d)|0)+1|0;b:do if(!k){k=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;l=28;break}c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){k=f[14051]|0;i=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){c=0;break a}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(k,h,0)|0;l=28}while(0);if((l|0)==28)if(!c){c=0;break}$u(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 Sj(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;pb[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]=33143;f[g+4>>2]=69212;f[g+8>>2]=31184;yc(11,31132,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=oh(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=jb[f[28780>>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=ah(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]=33143;f[s+4>>2]=69249;f[s+8>>2]=31184;yc(11,31132,s);c=11}}if((m|0)==22){m=0;c=rj(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)){$g(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]=33143;f[r+4>>2]=69229;f[r+8>>2]=31184;yc(11,31132,r);c=11}else if((m|0)==30){t=u;return c|0}s=c;t=u;return s|0}function Tj(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=Uj(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=Vj(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{j=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{fi((f[e>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[d>>2]|0))}if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{j=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{j=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Wj(a,g)|0;if(b|0){j=b;t=i;return j|0}j=f[g>>2]|0;f[a+20>>2]=j;j=Xj(a,j,a+32|0)|0;t=i;return j|0}function Uj(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=Nu(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[7160]|0)){c=hb[f[28684>>2]&127](h)|0;if(!c){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}else d=c}else{c=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){y=f[14051]|0;x=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=c}x=Uu(C|0,D|0,h|0,g|0)|0;ba()|0;g=Ou(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=Yu(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else d=d+1|0}l=Nu(g|0,e|0,h|0,j|0)|0;l=Nu(l|0,ba()|0,p|0,k|0)|0;l=Nu(l|0,ba()|0,d|0,0)|0;d=ba()|0;m=f[r>>2]|0;m=Nu(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=Yi(z,p,k)|0;if((d|0)>0){E=24;break}else break}else{d=Yu(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;$u(y+h|0,z+(d-k)|0,j|0)|0;h=j+h|0;if((h|0)==(w|0)){l=Nu(g|0,e|0,w|0,s|0)|0;m=ba()|0;h=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[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;$u(y+h|0,k+(p-j)|0,d|0)|0;h=d+h|0;if((h|0)==(w|0)){n=Nu(g|0,e|0,w|0,s|0)|0;o=ba()|0;h=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[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=pj(f[A>>2]|0,B)|0;if(d){j=d;break}}if((E|0)==35)j=0;d=a+56|0;if(c){D=Nu(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=Nu(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=Nu(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,h-i|0,E,c)|0}else c=0;D=Nu(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[7160]|0)){nb[f[28688>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}else{E=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}return 0}function Vj(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[7225]|0;if(g|0?hb[g&127](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=Uu(d|0,e|0,i|0,c|0)|0;ba()|0;h=b+36|0;g=f[h>>2]|0;if(!g){n=Nu(i|0,c|0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](i)|0;break}g=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;a=55352;c=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&c>>>0>0){n=f[14051]|0;m=Ou(c|0,a|0,g|0,((g|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){c=hb[f[28696>>2]&127](g)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0)f[14060]=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=Nu(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=Ou(k|0,e|0,m|0,n|0)|0;ba()|0;j=f[j>>2]|0;n=lb[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 Wj(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=(Rh(e+g|0,c)|0)&255;c=a;h=Nu(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=Uu(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;ba()|0;if((d|0)!=0&(e-d|0)>8){h=(Rh((f[a+36>>2]|0)+d|0,c)|0)&255;c=a;h=Nu(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=Xj(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){Rh(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 Xj(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=Nu(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=Uu(h|0,g|0,d|0,e|0)|0;ba()|0;do if(!j){i=a+8|0;i=Ou(f[i>>2]|0,f[i+4>>2]|0,h|0,g|0)|0;n=ba()|0;o=f[a+24>>2]|0;d=lb[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=Nu(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=Lc(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);$u(d|0,(f[a+36>>2]|0)+j|0,i|0)|0;n=a;n=Nu(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=Xj(a,g,l)|0;if(e|0)break;$u((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 Yj(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[7225]|0;if(c|0?hb[c&127](202)|0:0){i=3338;t=j;return i|0}g=f[a>>2]|0;e=f[g+4>>2]|0;d=Nu(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[7160]|0)){a=hb[f[28684>>2]&127](e)|0;if(!a){a=7;break}else c=a}else{a=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){k=f[14051]|0;d=Ou(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=k>>>0)&1}c=hb[f[28684>>2]&127](a)|0;if(!c){a=7;break}a=hb[f[28696>>2]&127](c)|0;a=(f[14051]|0)+a|0;f[14051]=a;if(a>>>0>(f[14055]|0)>>>0)f[14055]=a;a=(f[14054]|0)+1|0;f[14054]=a;if(a>>>0>(f[14060]|0)>>>0)f[14060]=a}bv(c|0,0,e|0)|0;a=lb[f[g+24>>2]&127](g,0,c,4126,i)|0;if(a|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{jb[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 Zj(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{Rh(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{Rh(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=Kt(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)){fj(k,i,g,l);f[c>>2]=1}i=jj(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 _j(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)){fj(f[(f[a+8>>2]|0)+28>>2]|0,g,e,h);f[b>>2]=1}return jj(d,c,h,0)|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;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[36781+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)){fj(l,i,g,k);f[c>>2]=1}r=jj(e,d,k,1)|0;return r|0}function ak(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]=33143;f[k+4>>2]=69484;f[k+8>>2]=31184;yc(11,31132,k);f[g>>2]=11;t=q;return}i=fk(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{av(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 bk(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=Lg(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=Mg(i)|0;w=16;break}else{m=Ng(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]=33143;f[o+4>>2]=64547;f[o+8>>2]=31184;yc(11,31132,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=gk(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=hk(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;$u(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;av(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?(pb[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;Mh(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{$u(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 ck(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=Lg(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=Mg(c)|0;_=14;break}else{g=Ng(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=Jh(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];$u(Z+Y|0,aa+Y|0,(f[c+36>>2]|0)-Y|0)|0;$u(Z+$|0,aa+g|0,(j[da+22>>1]<<1)+(j[da+18>>1]|0)|0)|0;b[k>>0]=0;g=Nh(k)|0;if(g|0){f[ea>>2]=g;break}if(!(b[c+17>>0]|0))g=0;else{g=Lh(k)|0;f[ea>>2]=g}}while(0);if(b[l+17>>0]|0){Mh(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)){$g(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}}$u(k+26|0,da+26|0,h[ca>>0]<<1|0)|0;$u(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;bv(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]=126;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]=127;g=173}else{b[g>>0]=1;g=171}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]=172;d[da+14>>1]=d[m+24>>1]|0;g=m+26|0;_=38;break}default:{f[Sa>>2]=33143;f[Sa+4>>2]=64757;f[Sa+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(c)|0;_=52;break}else{g=Ng(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=Jh(u,ma,La,0,0)|0;f[xa>>2]=g;if(!g){p=f[da+36>>2]|0;f[Ma>>2]=p;q=ib[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;bv(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]=126;l=f[s>>2]|0;b[r+2>>0]=1;b[r+3>>0]=1;i=r+80|0;f[i>>2]=171;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=dk(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?(Mh(u,f[La>>2]|0,5,f[Aa>>2]|0,xa),(q&65535)>(j[k>>1]|0)):0)do if(!(f[xa>>2]|0)){pb[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;Mh(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))bk(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)){$g(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]=33143;f[Xa+4>>2]=69985;f[Xa+8>>2]=31184;yc(11,31132,Xa);g=11}while(0);break}l=f[(f[la>>2]|0)+32>>2]|0;if((f[13883]|0)>=(l|0)?(Na=f[13889]|0,(Na|0)!=0):0){f[13889]=f[Na>>2];$=f[13890]|0;f[13890]=$+-1;f[13891]=($|0)<=(f[13885]|0)&1;if((f[14059]|0)>>>0>>0)f[14059]=l;c=(f[14052]|0)+1|0;f[14052]=c;if(c>>>0>(f[14056]|0)>>>0){f[14056]=c;$=Na}else $=Na}else _=90;do if((_|0)==90){$=Nu(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;_=ba()|0;if(!(_>>>0>0|(_|0)==0&$>>>0>2147483390)){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](l)|0;if(!c){$=0;break}}else{c=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;k=55352;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){$=f[14051]|0;_=Ou(g|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;Z=ba()|0;f[13840]=((Z|0)<0|(Z|0)==0&_>>>0<=$>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){$=0;break}g=hb[f[28696>>2]&127](c)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=g}g=hb[f[28696>>2]&127](c)|0;if((f[14059]|0)>>>0>>0)f[14059]=l;g=(f[14053]|0)+g|0;f[14053]=g;if(g>>>0>(f[14057]|0)>>>0){f[14057]=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;_=_i(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];_=(ib[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=(ib[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}$u($+o|0,i|0,m|0)|0;f[l>>2]=$+(n-(f[V>>2]|0))}ak(aa,p-(h[z>>0]|0)|0,m,ma)}i=xa+(q<<2)|0;_=_i(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]=33143;f[_a+4>>2]=70326;f[_a+8>>2]=31184;yc(11,31132,_a);f[ma>>2]=11;bv(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=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](i)|0;f[va>>2]=i;if(!i)break}else{l=hb[f[28700>>2]&127](i)|0;if((f[14058]|0)>>>0>>0)f[14058]=i;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){U=f[14051]|0;T=Ou(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;S=ba()|0;f[13840]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=hb[f[28684>>2]&127](l)|0;if(!i){_=141;break}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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;bv(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;$u(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]=33143;f[Ta+4>>2]=70391;f[Ta+8>>2]=31184;yc(11,31132,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+((ib[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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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=ek(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]=33143;f[Ua+4>>2]=70500;f[Ua+8>>2]=31184;yc(11,31132,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]=33143;f[Va+4>>2]=70533;f[Va+8>>2]=31184;yc(11,31132,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)){ek(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)){ek(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)){ek(ja,l)|0;k=f[Ca>>2]|0}o=l;while(1){l=n+-1|0;if(!(d[k+(l<<1)>>1]|0))ek(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]=33143;f[Wa+4>>2]=70575;f[Wa+8>>2]=31184;yc(11,31132,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=Jh(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;bv(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]=126;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]=127;i=173}else{b[i>>0]=1;i=171}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]=172;d[s+14>>1]=d[l+24>>1]|0;i=l+26|0;_=289;break}default:{f[Ya>>2]=33143;f[Ya+4>>2]=64757;f[Ya+8>>2]=31184;yc(11,31132,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}Mh(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=Lg(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=Mg(i)|0;break}else{k=Ng(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]=33143;f[Za+4>>2]=70649;f[Za+8>>2]=31184;yc(11,31132,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;qb[f[28788>>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;qb[f[28788>>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)Mh(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=ek(ja,q)|0;if((k&65535)>(j[i+16>>1]|0))do if(!(f[ma>>2]|0)){pb[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;Mh(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=(ib[f[P>>2]&255](aa,i)|0)&65535}while(0);bk(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{pb[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=Yu(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=Yi(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);k=i+4|0;l=0;i=m}bk(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)fk(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;fk(L,n-v&65535,l&65535)|0}while(0);z=f[B>>2]|0;av(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)fk(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;fk(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;av(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=ek(ja,q)|0;p=o&65535;if((b[u>>0]|0)==0?(b[v>>0]|0)==0:0)_=432;else{o=gk(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}av(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;av(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=ek(ja,s)|0;o=l&65535;if((b[n+1>>0]|0)==0?(b[n+2>>0]|0)==0:0)_=445;else{l=gk(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}av(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=ek(ja,m)|0;l=k&65535;if((b[r>>0]|0)==0?(b[s>>0]|0)==0:0)_=457;else{k=gk(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}av(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=ib[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=dk(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=hk(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];$u(W+V|0,Y+V|0,(f[i+36>>2]|0)-V|0)|0;$u(W+X|0,Y+g|0,(j[l+22>>1]<<1)+(j[l+18>>1]|0)|0)|0;b[aa>>0]=0;g=Nh(aa)|0;if(g|0){f[ma>>2]=g;break}if(!(b[i+17>>0]|0))g=f[ma>>2]|0;else{g=Lh(aa)|0;f[ma>>2]=g}if(g|0)break;aa=rj(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;Mh(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=rj(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){bv(xa|0,0,(c<<2)+4|0)|0;c=0}g=f[va>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{aa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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)){$g(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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[e>>2]=f[13889];f[13889]=e;e=(f[13890]|0)+1|0;f[13890]=e;f[13891]=(e|0)<(f[13885]|0)&1;e=$;break a}else{c=hb[f[28696>>2]&127](e)|0;break}else c=hb[f[28696>>2]&127](e)|0;while(0);f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](e);e=$;break}else{aa=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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[13886]|0)>>>0>c>>>0)c=hb[f[28696>>2]&127](e)|0;else{if((f[13887]|0)>>>0<=c>>>0){c=hb[f[28696>>2]&127](e)|0;break}f[14052]=(f[14052]|0)+-1;f[e>>2]=f[13889];f[13889]=e;_a=(f[13890]|0)+1|0;f[13890]=_a;f[13891]=(_a|0)<(f[13885]|0)&1;t=$a;return g|0}while(0);f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](e);t=$a;return g|0}else{_a=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-_a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=$a;return g|0}return 0}function dk(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);$u(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;$u(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]=33143;f[u+4>>2]=69695;f[u+8>>2]=31184;yc(11,31132,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 ek(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;c=ib[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 fk(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]=33143;f[r+4>>2]=64637;f[r+8>>2]=31184;yc(11,31132,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]=33143;f[s+4>>2]=64642;f[s+8>>2]=31184;yc(11,31132,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]=33143;f[u+4>>2]=64654;f[u+8>>2]=31184;yc(11,31132,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]=33143;f[v+4>>2]=64657;f[v+8>>2]=31184;yc(11,31132,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]=33143;f[x+4>>2]=64670;f[x+8>>2]=31184;yc(11,31132,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]=33143;f[A+4>>2]=64676;f[A+8>>2]=31184;yc(11,31132,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]=33143;f[D+4>>2]=64684;f[D+8>>2]=31184;yc(11,31132,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;bv(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 gk(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]=33143;f[o+4>>2]=64476;f[o+8>>2]=31184;yc(11,31132,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]=33143;f[p+4>>2]=64499;f[p+8>>2]=31184;yc(11,31132,p);f[g>>2]=11;d=0;t=q;return d|0}function hk(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]=33143;f[i+4>>2]=64372;f[i+8>>2]=31184;yc(11,31132,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;av(E+(m+l)|0,E+l|0,o-l|0)|0;l=m+c|0}c=l+e|0;av(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=(ib[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];$u(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;$u(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]=33143;f[y+4>>2]=64406;f[y+8>>2]=31184;yc(11,31132,y);G=11;t=H;return G|0}else if((B|0)==21){f[z>>2]=33143;f[z+4>>2]=64412;f[z+8>>2]=31184;yc(11,31132,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;bv(E+C|0,0,e|0)|0;G=0;t=H;return G|0}else{f[G>>2]=33143;f[G+4>>2]=64432;f[G+8>>2]=31184;yc(11,31132,G);G=11;t=H;return G|0}return 0}function ik(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]=33143;f[i+4>>2]=71188;f[i+8>>2]=31184;yc(11,31132,i);q=11;t=r;return q|0}a=kk(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=kb[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=kk(k,a+4|0,c,m,e)|0;i=e}else{f[q>>2]=33143;f[q+4>>2]=71207;f[q+8>>2]=31184;yc(11,31132,q);a=11}e=f[l>>2]|0;do if(e|0)if(!(d[e+28>>1]&32)){$g(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 jk(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=cj(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[7160]|0)){k=hb[f[28684>>2]&127](n)|0;o=26;break}m=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[14051]|0;l=Ou(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}m=hb[f[28684>>2]&127](m)|0;if(!m){s=7;t=u;return s|0}k=hb[f[28696>>2]&127](m)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;fj(f[s>>2]|0,e,c,m);if(!(d[q>>1]|0)){f[r>>2]=33143;f[r+4>>2]=63743;f[r+8>>2]=31184;yc(11,31132,r);l=11}else l=cj(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);s=l;t=u;return s|0}else{s=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);s=l;t=u;return s|0}return 0}function kk(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=Lg(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=Mg(e)|0;n=14;break}else{m=Ng(e)|0;n=14;break}}while(0);if((n|0)==14?m|0:0){n=m;return n|0}bv(l|0,0,h-i|0)|0;n=0;return n|0}else{if((j|0)<(h|0)){i=kk(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(!(Kt(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=Lg(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=Mg(j)|0;n=27;break}else{i=Ng(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);$u(c|0,i|0,l|0)|0;n=0;return n|0}return 0}function lk(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=jk(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=33143;f[k+4>>2]=68561;f[k+8>>2]=31184;yc(11,31132,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=_i(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]=33143;f[v+4>>2]=67897;f[v+8>>2]=31184;yc(11,31132,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)){$g(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=dj(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]=33143;f[w+4>>2]=67897;f[w+8>>2]=31184;yc(11,31132,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=_i(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=_i(C,D,x,a,h[k>>0]|0)|0;if(c|0){z=c;n=44;break}}if((n|0)==27){f[A>>2]=33143;f[A+4>>2]=67897;f[A+8>>2]=31184;yc(11,31132,A);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}return 0}function mk(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){Rh(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]=33143;f[o+4>>2]=80289;f[o+8>>2]=31184;yc(11,31132,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=Kt(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=jj(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 nk(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=jj(a,c,d,0)|0;return d|0}default:{d=jj(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=jj(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 ok(a,b,c){a=a|0;b=b|0;c=c|0;return jj(a,b,c,0)|0}function pk(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=Lg(c)|0;if(!e){e=Ah(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=Bh(a,1)|0,e|0):0)break;e=Ch(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}pb[f[28784>>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]=74;c=e;return c|0}function qk(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;Nh(c)|0;return}function rk(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=ib[c&255](f[e+400>>2]|0,d)|0;else a=jb[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 sk(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 tk(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=hf(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;gf(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),(Kt(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 uk(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;bv(p+4|0,0,268)|0;n=p+196|0;b[n>>0]=1;f[p>>2]=a;f[p+128>>2]=1;if((((($f(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;tg(a,1,m?0:31564,j);if(!m){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);l=1;break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)dg(j)|0;i=f[j>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{o=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){fg(a,e);break}n=e+32|0;o=(f[n>>2]|0)+-1|0;f[n>>2]=o;if(!o)fg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=f[p+68>>2]|0;if(e|0)hg(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{Bi(a);a=7;t=q;return a|0}}f[a+64>>2]=21;zg(a,21);f[e>>2]=31157;f[e+4>>2]=134300;f[e+8>>2]=31184;yc(21,31132,e);a=21;t=q;return a|0}function vk(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?mi(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?mi(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?mi(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?mi(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?mi(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?mi(a,c)|0:0){a=2;return a|0}a=0;return a|0}function wk(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=ib[d&255](a,c)|0;a:do if(!d){b:while(1){if(vk(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?wk(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?mi(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)ob[d&127](a,c);c=f[c+52>>2]|0;if(!c){d=0;c=23;break}d=ib[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 xk(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(yk(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(Kk(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(!(Ak(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;li(D,40066,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;li(D,40188,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;Lk(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;li(D,40066,E);H=1;t=G;return H|0}function yk(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=yk(f[a+12>>2]|0,c)|0;break a}case -95:break;default:{a=0;break a}}if(!(yk(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 zk(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=Ek(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=Bc(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=((zt(l)|0)&1073741823)+1|0;else h=0;if(n){g=(g&16384|0)==0?((g&8192|0)==0?48:28):12;$u(q|0,c|0,g|0)|0;if(g>>>0<48)bv(q+g|0,0,48-g|0)|0}else $u(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;$u(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=Gk(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}else{d=Fk(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=zk(a,g,0,0)|0;f[q+12>>2]=g}g=f[c+16>>2]|0;if(!g)g=0;else g=zk(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=((zt(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=zk(a,g,1,r)|0;f[q+12>>2]=g;g=f[c+16>>2]|0;if(!g)g=0;else g=zk(a,g,1,r)|0;f[q+16>>2]=g;g=f[o>>2]|0}if(g&16777216|0){a=Hk(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 Ak(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;Ck(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[7160]|0)){i=hb[f[28684>>2]&127](40)|0;p=32;break}i=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;l=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;k=ba()|0;f[13840]=((k|0)<0|(k|0)==0&l>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){n=0;l=0;m=0;k=1;break a}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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(bf(k,(r|0)>1?r:1,1)|0)break;r=k+16|0;bv((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(ef(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;Gc(k,1)|0}while(0);n=(lf(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))df(q);i=f[q+32>>2]|0;do if(i){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{r=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](q);break}while(0);do if(!k){if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))df(l);i=f[l+32>>2]|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{r=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ak(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?(Ak(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(!(Dk(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(!(wt(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?Ak(a,f[c+12>>2]|0,f[e+12>>2]|0,g)|0:0){g=2;t=s;return g|0}if(Ak(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(Ak(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 Bk(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)?Nd(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=Bc(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{$u(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 Tl(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=ql(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){li(a,41825,l);t=Ea;return}r=Fl(k,c)|0;if((r|0)<0){f[m>>2]=c;li(a,41842,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=aj(f[v>>2]|0,0,v,wa,0,542)|0;if(k|0){li(a,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Ca=(f[13890]|0)+1|0;f[13890]=Ca;f[13891]=(Ca|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=26;break}else{k=hb[f[28696>>2]&127](l)|0;za=26}while(0);do if((za|0)==26){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Ca=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Ca;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[s>>2]=0}Ca=gh(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=nl(Da,c)|0;if(!Ca){t=Ea;return}if(!i)Ba=nl(Da,g)|0;else{f[w>>2]=g;Ba=Gg(Da,46093,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=mb[x&127](f[k+316>>2]|0,19,Ca,Ba,la,f[a+236>>2]|0)|0;if((k|0)==1){li(a,40490,z);f[a+12>>2]=23;za=2130;break}if((k|2|0)==2)if(!k){za=52;break}else{za=2130;break}else{li(a,40505,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=Tm(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=jb[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;li(a,31564,A);l=f[B>>2]|0;if(!l)break b;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break b}else{Aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break b}}}Ki(Aa,1);if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze(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=rl(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;sl(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 rl(Aa,81,1,1,0)|0;k=f[B>>2]|0;if(!k){za=2130;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](k);za=2130;break a}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[6064+(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[6064+(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=6064+(v<<4)|0;m=b[6064+(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=oi(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=oi(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[6064+(v<<4)+7>>0]|0;m=E&255;E=E<<24>>24==0;Ki(Aa,E?1:m);if(E){if(b[(f[Aa>>2]|0)+81>>0]|0)break;Ze(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;break}c=Aa+100|0;k=0;l=h[6064+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze((f[c>>2]|0)+(k*40|0)|0,f[9808+(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[6064+(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=ul(Aa,9,22752)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+124>>2]=-2e3;break e}f[wa>>2]=0;Nd(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=aj(f[s>>2]|0,0,s,wa,0,542)|0;if(m|0){li(g,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=132;break}else{l=hb[f[28696>>2]&127](m)|0;za=132}while(0);do if((za|0)==132){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{za=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);za=gh(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 rl(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[7193]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=Tu(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=Ru(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[m&127](c,k);break e}case 28:{k=f[ca+(r<<4)+4>>2]|0;if(Ba|0){f[wa>>2]=0;Nd(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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;Aa=(f[13890]|0)+1|0;f[13890]=Aa;f[13891]=(Aa|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=203;break}else{k=hb[f[28696>>2]&127](l)|0;za=203}while(0);do if((za|0)==203){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{Aa=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Aa=gh(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=46097;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=(Fd(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=aj(f[X>>2]|0,0,X,wa,0,542)|0;if(k|0){li(c,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=285;break}else{k=hb[f[28696>>2]&127](l)|0;za=285}while(0);do if((za|0)==285){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=gh(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{rl(Aa,167,r,n,0)|0;m=l;break}}else{f[wa>>2]=0;if(Ba){Nd(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{rl(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{rl(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=46102;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=46112;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=rl(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;sl(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,46102,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{rl(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=rl(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;sl(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,46112,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{rl(Aa,81,1,1,0)|0;break e}}}case 20:{n:do if(Ba){m=(zt(Ba)|0)&1073741823;if(m){c=Ba;o=36094;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=36101;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=36109;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=36113;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=36122;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=36129;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{rl(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{rl(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){Um(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(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=46119;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=46124;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=46129;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;Nd(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=ul(Aa,5,22800)|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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 16:{if(!((Ba|0)!=0?(ya=(Nd(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(g,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=517;break}else{k=hb[f[28696>>2]&127](l)|0;za=517}while(0);do if((za|0)==517){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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 rl(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=rl(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 rl(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 rl(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 rl(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=55600;f[k+8>>2]=l;break e}case 4:{if(Ba|0){f[wa>>2]=0;Nd(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[7193]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=Tu(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=Ru(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}ob[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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 5:{if(Ba|0){f[wa>>2]=1;do if(!(Nd(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=Tu(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=Ru(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=(Fd(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=Tu(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=Ru(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,l,-14);l=o;break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);l=o;break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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=38555;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=36122;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;$h(n);f[(f[c>>2]|0)+20>>2]=0;Th(l);break z}while(0);li(a,46141,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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;za=2130;break a}}case 36:{if(!Ba){l=f[13842]|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=rl(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;sl(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{rl(Aa,81,1,1,0)|0;break e}}do if(b[Ba>>0]|0){Aa=f[Da>>2]|0;Aa=(kb[f[Aa+32>>2]&127](Aa,Ba,1,wa)|0)!=0;if(Aa|(f[wa>>2]|0)==0){li(a,46203,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;$h(m);f[(f[l>>2]|0)+20>>2]=0;Th(k);break C}while(0);li(a,46141,J)}while(0);k=f[13842]|0;do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Aa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);if(!(b[Ba>>0]|0)){f[13842]=0;za=2130;break a}else{f[L>>2]=Ba;za=ud(31564,L)|0;f[13842]=za;za=2130;break a}}case 33:{if(Ba|0){k=Da+79|0;if(!(b[k>>0]|0)){li(a,46228,I);za=2130;break a}if(aa){za=2130;break a}Aa=(Fd(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;break e}}case 2:{if(Ba|0){l=6064+(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(!((Fd(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 rl(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[6064+(v<<4)+7>>0]|0;c=za&255;za=za<<24>>24==0;Ki(Aa,za?1:c);if(za)if(!(b[(f[Aa>>2]|0)+81>>0]|0)){Ze(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[6064+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))Ze((f[m>>2]|0)+(k*40|0)|0,f[9808+(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=6064+(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(Aa,81,1,1,0)|0;za=2130;break a}}case 34:{if(!Ba)break e;s=ni(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=932;break}else{k=hb[f[28696>>2]&127](l)|0;za=932}while(0);do if((za|0)==932){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{ya=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=gh(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);ii(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=6064+(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?46281:46288;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=56244;else m=c+(zt(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;Vm(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?46281:46288;p=f[r>>2]|0;if(!(n&4))c=56244;else c=p+(zt(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;Vm(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=Oj(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=6064+(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=990;break}else{k=hb[f[28696>>2]&127](l)|0;za=990}while(0);do if((za|0)==990){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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;Vm(Aa,1,46296,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 rl(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;Vm(Aa,1,46296,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;Vm(Aa,4,46301,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 rl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}break}case 18:{if(!Ba)break e;r=hi(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1038;break}else{k=hb[f[28696>>2]&127](l)|0;za=1038}while(0);do if((za|0)==1038){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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[29700+(((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;Vm(Aa,1,46306,_);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=56244;f[T>>2]=c;f[T+4>>2]=l;f[T+8>>2]=k;Vm(Aa,1,46312,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;Vm(Aa,1,46316,K);k=f[k>>2]|0;if(!k)break;else l=l+1|0}break}case 14:{if(!Ba)break e;r=hi(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(n,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;ya=(f[13890]|0)+1|0;f[13890]=ya;f[13891]=(ya|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1084;break}else{k=hb[f[28696>>2]&127](l)|0;za=1084}while(0);do if((za|0)==1084){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=gh(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=46358;break}case 9:{k=46346;break}case 10:{k=46338;break}case 7:{k=46329;break}default:k=46319}switch(b[r>>0]|0){case 8:{l=46358;break}case 9:{l=46346;break}case 10:{l=46338;break}case 7:{l=46329;break}default:l=46319}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]=46376;Vm(Aa,1,46367,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=ni(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=aj(f[r>>2]|0,0,r,wa,0,542)|0;if(m|0){li(n,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=1136;break}else{l=hb[f[28696>>2]&127](m)|0;za=1136}while(0);do if((za|0)==1136){za=0;f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);sa=gh(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);lm(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;tl(a,0,s,x,109)}else tl(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=rl(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;sl(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=hi(Da,f[o+8>>2]|0,la)|0;Q:do if(m|0){f[va>>2]=0;lm(a,s,f[m+28>>2]|0,0,f[m>>2]|0);if(Wm(a,m,o,va,0)|0)break O;n=f[va>>2]|0;if(!n){tl(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 rl(Aa,109,l,m,s)|0;c=f[ta>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{sa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=hi(Da,f[g>>2]|0,la)|0;f[va>>2]=0;f[ua>>2]=0;s=(m|0)!=0;if(s)Wm(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;ym(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 rl(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 rl(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{rl(Aa,11,0,r,0)|0;break}}else{q=zm(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=rl(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);sl(Aa,n,q,p)}else{if((p|0)==-12)break;og(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=rl(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{rl(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{rl(Aa,73,0,K,0)|0;break}while(0);f[ma>>2]=f[g>>2];f[ma+4>>2]=i+-1;Vm(Aa,A,46381,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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{sa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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=55600;f[l+8>>2]=m}while(0)}while((k|0)!=0)}while(0);break e}case 6:{if(!Ba)break e;l=(Fd(Ba,1,0)|0)<<24>>24!=0;Aa=l?46385:32240;Xm(Da,32244,2,1,Aa,158,0,0,0,0,0)|0;Xm(Da,32244,3,1,Aa,158,0,0,0,0,0)|0;Xm(Da,32235,2,1,32231,158,0,0,0,0,0)|0;Aa=Pk(Da,32235,2,1,0)|0;k=Aa+4|0;if(Aa|0)f[k>>2]=f[k>>2]|12;Aa=Pk(Da,32244,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){Nd(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 rl(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=aj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){li(c,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;na=(f[13890]|0)+1|0;f[13890]=na;f[13891]=(na|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;za=1314;break}else{k=hb[f[28696>>2]&127](l)|0;za=1314}while(0);do if((za|0)==1314){za=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{na=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);na=gh(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=Bc(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=rl(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{sl(Aa,l+(k*20|0)|0,o,-15);break}}else{do if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(Aa,50,2,0,0)|0;f[qa>>2]=f[(f[ya>>2]|0)+(C<<4)>>2];n=Gg(Da,46389,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{na=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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 rl(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=55600;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);Ym(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 rl(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 rl(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 rl(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=rl(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 rl(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;ym(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=rl(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=Gg(Da,46413,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{na=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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=55600;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=Gk(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{na=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{na=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(a,f[i+4+(m*20|0)>>2]|0,s,0)}while((na|0)>2);Am(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=Gg(Da,46433,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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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);hg(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 rl(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=55600;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=Jc(g,o,s,0)|0;if(p|0){o=p;break}if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{na=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=vm(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 rl(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=rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(c*20|0)|0,46463,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 rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(c*20|0)|0,46468,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 rl(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=rl(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;sl(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 rl(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 rl(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=rl(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 rl(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=55600;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=Jc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{na=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=rl(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 rl(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=55600;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=rl(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=rl(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;sl(Aa,(f[P>>2]|0)+(n*20|0)|0,46489,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 rl(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=55600;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 rl(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=55600;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=rl(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;sl(Aa,(f[P>>2]|0)+(m*20|0)|0,46516,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 rl(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=rl(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=rl(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;sl(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 rl(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 rl(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 rl(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 rl(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=55600;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=ul(Aa,7,22832)|0;if(k|0){f[k+8>>2]=1-(f[va>>2]|0);b[k+41>>0]=-1;f[k+56>>2]=46545;b[k+101>>0]=-1;f[k+116>>2]=35722}if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=f[Aa+88>>2]|0;else k=55600;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=oi(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=oi(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[22864+((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=rl(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;sl(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{rl(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=46548;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=46624;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=22872;break}k=46630;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=22880;break}k=46639;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=46648;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=46656;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=46664;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=46671;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;else break ha}else k=22864;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;li(a,46553,$);break e}case 0:{k=f[6064+(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=ul(Aa,2,46578)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+28>>2]=k;f[wa>>2]=0;Nd(Ba,wa)|0;f[Aa+32>>2]=f[wa>>2];break e}while(0);Aa=ul(Aa,3,46586)|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=rl(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;sl(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 rl(Aa,81,1,1,0)|0}while((m|0)!=6);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=46124;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=46598;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=36113;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 rl(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{rl(Aa,81,1,3,0)|0;break e}}case 38:{if(!Ba)k=f[Da+236>>2]|0;else{f[wa>>2]=0;Nd(Ba,wa)|0;za=f[wa>>2]|0;ya=(za|0)>0;k=ya?77:0;f[Da+236>>2]=k;f[Da+240>>2]=ya?za:0}if((k|0)==77){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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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{nb[f[28800>>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;Nd(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;tl(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{rl(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=Gg(Da,46606,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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{wa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{wa=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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{rl(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{rl(Aa,159,0,0,0)|0;break e}}case 32:{if((Ba|0?(Um(Ba,wa)|0)==0:0)?(G=wa,F=f[G>>2]|0,G=f[G+4>>2]|0,!((G|0)<0|(Kc()|0)!=0)):0){za=55352;f[za>>2]=F;f[za+4>>2]=G;f[13840]=((F|0)!=0|(G|0)!=0)&((G|0)<0|(G|0)==0&F>>>0<=(f[14051]|0)>>>0)&1}m=(Kc()|0)==0;n=55352;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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(Aa,81,1,1,0)|0;break e}case 37:{if(Ba|0?(a=(Um(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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ya=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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 rl(Aa,81,1,1,0)|0;za=2130;break a}default:{if(!Ba)k=f[Da+448>>2]|0;else{f[wa>>2]=0;Nd(Ba,wa)|0;k=f[wa>>2]|0;l=Da+396|0;if((k|0)>0){f[l>>2]=90;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=Bc(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=rl(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{sl(Aa,c+(k*20|0)|0,m,-14);m=o;break}}do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=o;break}else{ya=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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}sl(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{rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](Ca);break}else{Aa=hb[f[28696>>2]&127](Ca)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Ca);break}while(0);if(!Ba){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](Ba);t=Ea;return}else{Da=hb[f[28696>>2]&127](Ba)|0;f[14051]=(f[14051]|0)-Da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Ba);t=Ea;return}} -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;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;li(a,47084,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=Bc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Jc(q,k,p,0)|0;if(!m){if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{ua=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;bv(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;un(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;Im(a,0,47112,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=Bc(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=zk(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=Bc(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}hl(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;li(a,33384,G);r=0}while(0);do if((na|0)==98){if(!q){r=1;o=0;break}gg(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=Bc(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;hl(m);n=f[(f[a>>2]|0)+120>>2]|0;if((n|0)>=(f[m+24>>2]|0))break;f[E>>2]=n;li(a,33384,E)}while(0);do if((na|0)==118){na=0;gg(m,n);if(r){m=0;break}gg(m,o);m=0}while(0);vn(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;li(a,47130,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;wn(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){xm(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]=142;f[r>>2]=133;if(m){mi(xa,m)|0;if(!(b[p>>0]|0))break}xm(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=yn(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=yn(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=Xk(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=yn(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=yn(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=yn(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=yn(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=Zu(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=An(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=Zu(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=zn(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=Bn(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}yc(28,47166,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);o=k;break}else{o=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Y=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(H,k);k=f[Y>>2]|0;na=315;break y}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](k);na=313;break}else{na=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-na;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{X=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-X;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}Cn(g,0);if(b[va>>0]|0){na=714;break}if(f[W>>2]|0){Cn(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=Dn(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=Dn(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)){av(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)){av(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=rl(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){sl(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){lm(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}tl(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=Yu(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{sl(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 rl(la,o,k,m,v)|0;m=f[ya>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{fa=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=aj(f[s>>2]|0,0,s,xa,0,542)|0;if(m|0){li(o,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;fa=(f[13890]|0)+1|0;f[13890]=fa;f[13891]=(fa|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](m)|0;na=484;break}else{k=hb[f[28696>>2]&127](m)|0;na=484}while(0);do if((na|0)==484){na=0;f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{fa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-fa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);fa=gh(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=rl(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]=132;f[Y>>2]=133;f[Z>>2]=ma;mi(xa,o)|0;if(!(b[W>>0]|0))break;ma=f[a>>2]|0;k=il(ma,k,zk(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(!(En(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=Zu(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;yc(284,47201,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=Bc(s,r,0)|0}if(!p)break G;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{ma=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(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=Nu(p|0,o|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&ma>>>0>2147483390)break J;if(!(f[7160]|0)){m=hb[f[28684>>2]&127](p)|0;na=575;break}m=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;o=55352;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){ma=f[14051]|0;l=Ou(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;la=ba()|0;f[13840]=((la|0)<0|(la|0)==0&l>>>0<=ma>>>0)&1}n=hb[f[28684>>2]&127](m)|0;if(!n)break J;m=hb[f[28696>>2]&127](n)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0<=(f[14060]|0)>>>0){K=n;break}f[14060]=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=Bc(r,p,o)|0;na=575}while(0);if((na|0)==575){na=0;if(!m)break;else K=m}bv(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]=47227;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(!(En(s,b[(f[(f[L>>2]|0)+4>>2]|0)+(r<<4)+13>>0]|0)|0)){o=u;break}ma=(r|0)>63;o=Zu(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=Xk(a,p)|0;na=593;break L}while(0);o=Xk(a,o)|0;if(o|0){na=594;break}o=Xk(a,p)|0;na=593}else{o=Xk(a,o)|0;na=593}while(0);if((na|0)==593){na=0;if(!o)o=33704;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=Zu(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]=33704;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]=33704;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]=33704;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 rl(S,112,m,D,0)|0;m=f[ya>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ma=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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=rl(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 rl(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=rl(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=Jc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);n=0;break}else{ma=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ma;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(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=vm(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 rl(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{rl(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=55600;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=55600;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{rl(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=55600;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=55600;f[m+8>>2]=n}while(0);if(k|0)gg(f[a>>2]|0,k);if(b[va>>0]|0){na=714;break h}}Fn(a,c,T,wa);f[ta+(V*80|0)+32>>2]=f[aa>>2];U=Gn(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{za=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);k=b[Aa>>0]|0}n=n+1|0}while(n>>>0<(k&255)>>>0)}while(0);sn(ua);m=g+60|0;k=f[m>>2]|0;if(k|0)do{f[m>>2]=f[k+52>>2];tn(Ba,k);k=f[m>>2]|0}while((k|0)!=0);if(Ba|0){if(f[Ba+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);Ba=0;t=Ca;return Ba|0}return 0}function rn(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 rl(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=rl(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{rl(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 rl(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=55600;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=55600;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=rl(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{rl(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=55600;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 rl(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[13902]=g;e=55600}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{rl(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=rl(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{rl(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{rl(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{rl(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{rl(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=55600;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=55600;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=55600;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[7160]|0)){nb[f[28688>>2]&127](c);break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{J=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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);sn(a+80|0);e=a+60|0;c=f[e>>2]|0;if(c|0)do{f[e>>2]=f[c+52>>2];tn(I,c);c=f[e>>2]|0}while((c|0)!=0);if(I|0){if(f[I+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{J=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function sn(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){gg(q,m);c=d[e>>1]|0}c=c&65535;do if(!(c&16)){if(c&32|0?(n=f[h+28>>2]|0,sn(n),n|0):0){if(!p){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{e=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}}else{c=f[h+28>>2]|0;sn(c);if(c|0){if(!p){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{e=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{q=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function tn(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(a,e);e=f[i>>2]|0;h=35;break a}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);h=33;break}else{h=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{h=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function un(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;un(a,f[e+12>>2]|0,d);c=f[e+16>>2]|0;if(!c)break a}vn(a,c,0)|0;return}while(0);b[h>>0]=d;return}function vn(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=Bc(l,i,0)|0;p=14}if((p|0)==14?(f[n>>2]=h,h|0):0){$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=hb[f[28696>>2]&127](g)|0;f[m>>2]=(g>>>0)/48|0;m=f[o>>2]|0;break}if(!((c|0)==0|(e&1)==0))gg(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=Zu(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=Yu(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=Yu(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[7920+((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 wn(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=Dn(ma,g)|0;D=ba()|0}x=b[ya>>0]|0;v=x&255;a:do switch(x<<24>>24){case 49:{if(Fm(sa,ya)|0){t=Aa;return}g=ya+20|0;if(f[ya+4>>2]&2048|0){k=Nn(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=Dn(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=Dn(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=Dn(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=Zu(1,0,g|0)|0;m=ba()|0}else{l=0;m=0}while(0);g=l|n;k=m|p;n=Nu(l|0,m|0,-1,-1)|0;p=ba()|0;qa=Yu(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{li(sa,47580,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=Nu(C|0,D|0,-1,-1)|0,(U&C|0)==0&((ba()|0)&D|0)==0):0)?Xn(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=Nu(k|0,l|0,-1,-1)|0;if(!((U&k|0)==0&((ba()|0)&l|0)==0)){g=y;break}if(!(Xn(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=zk(na,ya,0,0)|0;do if(!(b[ca>>0]|0)){g=vn(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=Wk(i)|0;l=s+16|0;k=f[l>>2]|0;U=Wk(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=Xk(sa,k)|0;ia=87;break g}while(0);i=Xk(sa,i)|0;if(i|0){ia=88;break}i=Xk(sa,k)|0;ia=87}else{i=Xk(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)==77?(f[i+8>>2]|0)==0:0)break;k=f[l>>2]|0;i=Xk(sa,f[m>>2]|0)|0;if(!i)i=f[(f[sa>>2]|0)+8>>2]|0;k=Xk(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;gg(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(!(Xk(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=zk(na,g,0,0)|0;g=f[n+4>>2]|0;if(!g)l=0;else l=zk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[u>>2]=i;li(sa,33384,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)gg(g,m);if(!l)g=0;else{gg(g,l);g=0}}ia=vn(c,g,3)|0;wn(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=zk(na,g,0,0)|0;g=f[n+24>>2]|0;if(!g)l=0;else l=zk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[z>>2]=i;li(sa,33384,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)gg(g,m);if(!l)g=0;else{gg(g,l);g=0}}U=vn(c,g,3)|0;wn(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[7160]|0)){g=hb[f[28684>>2]&127](416)|0;ia=168;break}g=hb[f[28700>>2]&127](416)|0;if((f[14058]|0)>>>0<416)f[14058]=416;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[14051]|0;M=Ou(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;L=ba()|0;f[13840]=((L|0)<0|(L|0)==0&M>>>0<=ia>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(g){k=hb[f[28696>>2]&127](g)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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){bv(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;bv(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;un(g,R,43);k=f[L>>2]|0;if((k|0)>0)do{J=k;k=k+-1|0;wn(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=Bc(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;bv(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;un(l,f[A>>2]|0,44);n=f[q>>2]|0;if((n|0)>0)do{x=n;n=n+-1|0;wn(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=Zu(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=Zu(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=Zu(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;Zn(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=Zu(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=Wk(f[N+16>>2]|0)|0;if(!(L<<24>>24==0|L<<24>>24==(Wk(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=Zu(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=Wk(f[S+16>>2]|0)|0;if(!(N<<24>>24==0|N<<24>>24==(Wk(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=zk(P,g,0,0)|0;g=kl(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=zk(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=Bc(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}hl(i);g=f[(f[Q>>2]|0)+120>>2]|0;if((g|0)<(f[i+24>>2]|0)){f[U>>2]=g;li(Q,33384,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=vn(c,i,3)|0;wn(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)gg(f[Q>>2]|0,l);if(m|0)hg(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=Pk(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[7160]|0)){i=hb[f[28684>>2]&127](40)|0;ia=329;break}i=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Y=f[14051]|0;X=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;W=ba()|0;f[13840]=((W|0)<0|(W|0)==0&X>>>0<=Y>>>0)&1}l=hb[f[28684>>2]&127](i)|0;if(!l){i=0;m=0;n=0;break y}i=hb[f[28696>>2]&127](l)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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(bf(l,(_|0)>1?_:1,1)|0)break A;bv((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(ef(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=Gc(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=(zt(i)|0)&1073741823;f[ka+4>>2]=r;r=Bk(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((Wk(x)|0)<<24>>24!=66)break;if(!(f[(f[x+44>>2]|0)+56>>2]|0))break B}while(0);gg(z,r);if(!s)break w;if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))df(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break w}else{ea=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-ea;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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}vl(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=55600;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))df(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{$=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=zk(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=(zt(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?33704:47621;m=(s|0)==0;if(m)i=0;else i=zk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Bk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[da>>2]=i;li(sa,33384,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)gg(g,i);if(p){g=0;break}gg(g,r);g=0}while(0);n=vn(c,g,259)|0;wn(a,c,n);if(m)i=0;else i=zk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Bk(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=Bc(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}hl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[ea>>2]=i;li(sa,33384,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)gg(g,i);if(!u){g=0;break}gg(g,u);g=0}while(0);i=vn(c,g,259)|0;wn(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=38430;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=32235;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=32244;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=47628;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[22976+(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=lb[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=Dn(ma,l)|0;u=ba()|0}r=k;if(!k){p=0;q=0}else{p=Dn(ma,r)|0;q=ba()|0}if((p&s|0)==0&(q&u|0)==0){if(o)p=0;else p=zk(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=Bc(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}hl(g);l=f[(f[sa>>2]|0)+120>>2]|0;if((l|0)<(f[g+24>>2]|0)){f[oa>>2]=l;li(sa,33384,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{gg(f[sa>>2]|0,p);g=0}la=vn(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=Bc(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;hl(l);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[ta>>2]=k;li(sa,33384,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=zk(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=Bc(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;hl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[ua>>2]=k;li(sa,33384,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=zk(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=il(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=Bc(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}hl(i);ia=634;break N}while(0);if(l|0)gg(i,l);if(!m){i=0;break}gg(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;li(sa,33384,va)}oa=i+4|0;f[oa>>2]=f[oa>>2]|f[ra>>2]&1;d[i+36>>1]=d[q>>1]|0}wn(a,c,vn(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=vn(c,ya,2)|0;g=k+1|0;f[(f[xa>>2]|0)+(wa*48|0)+24>>2]=g;wn(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 xn(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 yn(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(Ak(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(!(En(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=Xk(k,j)|0;E=51;break}g=Xk(k,i)|0;if(!g){g=Xk(k,j)|0;E=51}}else{g=Xk(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 zn(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=Nu(n|0,0,-1,-1)|0;D=ba()|0;if(!(D>>>0>0|(D|0)==0&F>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](n)|0;E=38;break}k=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){F=f[14051]|0;D=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[13840]=((x|0)<0|(x|0)==0&D>>>0<=F>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,n,0)|0;E=38}while(0);if((E|0)==38)if(!k)E=39;else F=k;if((E|0)==39){li(K,35544,p);K=7;t=L;return K|0}bv(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=Bc(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;$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{C=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);K=7;t=L;return K|0}else{K=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);K=7;t=L;return K|0}}while(0);l=Wn(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=Wn(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=Wn(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=Wn(a,c,e,c,e,0,F,g,I)|0;k=(f[I>>2]|0)==0?1:k}if(!(k|l))l=Wn(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[7160]|0)){nb[f[28688>>2]&127](J);break}else{I=hb[f[28696>>2]&127](J)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](J);break}while(0);k=f[K>>2]|0;if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);K=l;t=L;return K|0}else{K=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](F);K=l;t=L;return K|0}return 0}function An(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=Yu(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=Yu(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[7920+((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=22944+(43-n)|0;r=22944+(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?(En(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=Pn(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?(En(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=Pn(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?(Rn(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(!(Ak(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;Sn(aa,ia,y);g=Pn(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[7164]|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]=143;f[G>>2]=ga;if(i){mi(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[22944+(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[22944+(i-m)>>0]|0)+i&65535;break}else g=l;while(0);d[W>>1]=g}Sn(aa,ia,y);g=Pn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}while(0);f[X>>2]=0;g=Tn(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 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,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=An(ea,c,e)|0;else l=zn(ea,c,e,g,i)|0;if(!l)l=Bn(ea,c,e,g,i)|0;m=d[fa>>1]|0;if(!(m<<16>>16)){k=0;break c}if(n|0){$u(M|0,N|0,(m&65535)<<4|0)|0;n=0;k=m;break}d[ga>>1]=k;C=k&65535;$u(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[22944+(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[22944+(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[22944+(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[22944+(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=Pn(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 Cn(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=Bc(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)bv(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[22944+(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[22944+(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[22944+(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[22944+(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=On(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=Zu(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=Yu(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=Yu(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[7920+((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=Yu(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=Yu(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[7920+((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[22944+(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[22944+(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;$u(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}}}li(aa,47536,ca);if(la|0){if(f[la+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](ga);t=oa;return}else{pa=hb[f[28696>>2]&127](ga)|0;f[14051]=(f[14051]|0)-pa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(On(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=(On(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=(On(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ga);t=oa;return}else{pa=hb[f[28696>>2]&127](ga)|0;f[14051]=(f[14051]|0)-pa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ga);t=oa;return}}function Dn(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=Zu(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=Zu(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=Dn(a,d)|0;l=l|e;g=ba()|0|g}d=f[c+16>>2]|0;if(d|0){a=Dn(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=Nn(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=Dn(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 En(a,b){a=a|0;b=b|0;var c=0,d=0;d=Wk(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=Wk(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=Wk(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 Fn(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;$u(l|0,(i?47273:47280)|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];of(D,47298,n)}else{f[m>>2]=f[e+20>>2];of(D,47285,m)}e=f[c+8+(s*72|0)+12>>2]|0;if(e|0){f[p>>2]=e;of(D,47308,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=47400;else break;else if(!(q&131072))e=(q&16384|0)==0?((q&64|0)==0?47315:47324):47342;else e=47367;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[47412]|0;b[s+1>>0]=b[47413]|0;b[s+2>>0]=b[47414]|0;b[s+3>>0]=b[47415]|0;b[s+4>>0]=b[47416]|0;b[s+5>>0]=b[47417]|0;b[s+6>>0]=b[47418]|0}else Cc(D,47412,7);f[u>>2]=f[l>>2];of(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 Cc(D,47420,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=47423;break}case -1:{e=38544;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[47430]|0;b[u+1>>0]=b[47431]|0;b[u+2>>0]=b[47432]|0;b[u+3>>0]=b[47433]|0;b[u+4>>0]=b[47434]|0;break}else{Cc(D,47430,5);break}}while(0);f[v>>2]=e;of(D,l>>>0>>0?47436:47444,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{Mn(D,p,j[y+26>>1]|0,g,g,47449);i=1;e=f[w>>2]|0}if(e&16|0)Mn(D,p,j[y+28>>1]|0,g,i,47451);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{Cc(D,33721,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;of(D,47507,o);break}if(!(q&5))e=(g|0)==48?47453:(q&32|0)==0?47451:47449;else e=47467;f[r>>2]=e;of(D,47469,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=Ac(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{E=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);t=F;return}t=F;return} -function ir(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=jr(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=ud(51097,i)|0;if(!i){h=7;Z=236;break}h=Ii(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(i|0,((i|0)<0)<<31>>31|0,c|0,p|0)|0;m=((e|0)<0)<<31>>31;i=Nu(i|0,ba()|0,e|0,m|0)|0;i=Zu(i|0,ba()|0,10)|0;j=ba()|0;do if(!(Jp(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{$e(k,i,j);break}}while(0);j=f[o>>2]|0;j=Tu(j|0,((j|0)<0)<<31>>31|0,c|0,p|0)|0;j=Nu(j|0,ba()|0,e|0,m|0)|0;j=Zu(j|0,ba()|0,10)|0;i=ba()|0;j=j|1023;do if(!(Jp(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{$e(k,j,i);break}}while(0);if((Ci(n)|0)==100){k=Ep(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)Fi(i,n);h=dg(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{Bi(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=Tu(q|0,n|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Nu(s|0,ba()|0,p|0,m|0)|0;s=Zu(s|0,ba()|0,10)|0;j=((r|0)<0)<<31>>31;s=Nu(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=ud(51163,x)|0;if(!i){h=7;Z=236;break a}h=Ii(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{Y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(q|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Nu(k|0,ba()|0,p|0,m|0)|0;k=Zu(k|0,ba()|0,10)|0;j=Nu(k|0,ba()|0,r|0,j|0)|0;k=ba()|0}else{j=s;k=u}m=l;do if(!(Jp(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{$e(h,j,k);break}}while(0);if((Ci(m)|0)==100)j=Dp(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)Fi(h,m);i=dg(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{Bi(h);h=7;Z=236;break a}}while(0);if((j|0)>15){h=ir(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=kr(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=lr(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(Kc()|0){h=7;Z=236;break a}if(!(f[7160]|0)){h=hb[f[28684>>2]&127](64)|0;if(!h){h=7;Z=236;break a}else l=h}else{h=hb[f[28700>>2]&127](64)|0;if((f[14058]|0)>>>0<64)f[14058]=64;j=55352;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){y=f[14051]|0;x=Ou(i|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}i=hb[f[28684>>2]&127](h)|0;if(!i){h=7;Z=236;break a}h=hb[f[28696>>2]&127](i)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0){f[14060]=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=Dd(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=ud(51228,O)|0;if(!i){Z=81;break}h=Ii(f[M>>2]|0,i,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{y=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}i=f[S>>2]|0;f[I>>2]=i;if(!h)h=i;else{Z=223;break}}j=h;if((Ci(j)|0)==100){w=Ep(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)Fi(h,j);i=dg(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=Yu(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=Yu(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=Yu(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=Nu(u|0,h|0,1,0)|0;r=ba()|0;f[s>>2]=p;f[s+4>>2]=r;h=mr(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=nr(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=Yu(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=Yu(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=Nu(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(Kc()|0){k=i;h=7;break}h=Lc(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=Yu(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=Yu(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;$u((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=Yu(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;$u((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(Kc()|0){k=i;h=7;break}h=Lc(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;$u(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){Bi(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=ud(51296,P)|0;if(!k){Z=136;break e}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{Z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(m,h,l);break}}while(0);m=p+24|0;l=f[m>>2]|0;m=f[m+4>>2]|0;if(Jp(o,2)|0){Ci(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 $e(h,l,m);Ci(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)Fi(k,o);h=dg(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){Bi(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=ud(51355,Q)|0;if(!k){h=7;Z=222;break d}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{R=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(o|0,((o|0)<0)<<31>>31|0,c|0,m|0)|0;n=((e|0)<0)<<31>>31;o=Nu(o|0,ba()|0,e|0,n|0)|0;o=Zu(o|0,ba()|0,10)|0;p=ba()|0;do if(!(Jp(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{$e(q,o,p);break}}while(0);k=f[k>>2]|0;m=Tu(k|0,((k|0)<0)<<31>>31|0,c|0,m|0)|0;m=Nu(m|0,ba()|0,e|0,n|0)|0;m=Zu(m|0,ba()|0,10)|0;k=ba()|0;m=m|1023;if(!(Jp(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{$e(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=ud(51410,R)|0;if(!k){h=7;Z=222;break d}h=Ii(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{R=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-R;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(k|0,((k|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;k=Nu(k|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;k=Zu(k|0,ba()|0,10)|0;k=Nu(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;if(!(Jp(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{$e(n,k,m);break}}}while(0);Ci(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)Fi(h,l);k=dg(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){Bi(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=or(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=Nu(B|0,C|0,1,0)|0;e=ba()|0;h=k;f[h>>2]=c;f[h+4>>2]=e;h=mr(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=Yu(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=Yu(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=mr(a,m,n,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;m=Nu(m|0,n|0,1,0)|0;n=ba()|0;o=(f[k+12>>2]|0)+1|0;r=Nu(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=Yu(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=Yu(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=Nu(v|0,u|0,-1,-1)|0;e=ba()|0;S=A;h=i+56|0;h=or(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=pr(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);i=f[k+36>>2]|0;do if(i|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);qr(f[k>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](j);Z=236;break}else{Z=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](_);break}else{a=hb[f[28696>>2]&127](_)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](_);break}while(0);do if((b[l+5>>0]|0)==0?($=f[l+40>>2]|0,$|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127]($);break}else{a=hb[f[28696>>2]&127]($)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127]($);break}while(0);m=f[l+52>>2]|0;do if(m|0){n=f[m+20>>2]|0;Di(f[m+16>>2]|0)|0;if(n|0){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{a=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{a=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](j);j=h;break}else{$=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-$;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}else{aa=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}return 0}function jr(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(Kc()|0){r=0;o=p;n=7;q=0;break b}n=Lc(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)?(Kt(f[r+12>>2]|0,h,i)|0)==0:0){if((n|0)==(s|0)){q=n+16|0;o=q<<2;if(Kc()|0){r=0;o=p;n=7;q=0;break b}r=Lc(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{ku(o,n,4,150);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=ib[(b[r>>0]<<24>>24==1?148:149)&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?78:79,n=f[u+(s<<3)+4>>2]|0,(o|0)!=0&(n|0)!=0):0){while(1){o=o+-1|0;if(!(kb[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=Dd(o)|0;if(!q){r=q;o=p;n=7;q=0}else{bv(q|0,0,o|0)|0;f[q>>2]=2147483647;r=q+96|0;f[q+56>>2]=r;$u(r|0,p|0,n|0)|0;r=q;o=p;n=0}}do if(w?o|0:0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{I=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Kc()|0)==0?(z=Lc(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[7160]|0)){nb[f[28688>>2]&127](x);break}else{I=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](y);break}else{I=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](y);break}while(0);n=f[r+52>>2]|0;do if(n|0){o=f[n+20>>2]|0;Di(f[n+16>>2]|0)|0;if(o|0){if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{I=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if(!q){n=7;break a}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);n=7;break a}else{n=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51824,A)|0;if(!p){n=7;break}n=Ii(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](p);else{I=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Tu(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;q=((e|0)<0)<<31>>31;r=Nu(r|0,ba()|0,e|0,q|0)|0;r=Zu(r|0,ba()|0,10)|0;s=ba()|0;do if(!(Jp(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{$e(u,r,s);break}}while(0);r=f[n>>2]|0;r=Tu(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;r=Nu(r|0,ba()|0,e|0,q|0)|0;r=Zu(r|0,ba()|0,10)|0;q=ba()|0;r=r|1023;if(!(Jp(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{$e(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=ud(51959,p)|0;if(!p){n=7;break}n=Ii(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](p);else{I=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}n=o;q=f[a+252>>2]|0;q=Tu(q|0,((q|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;q=Nu(q|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;q=Zu(q|0,ba()|0,10)|0;q=Nu(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;r=ba()|0;if(!(Jp(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{$e(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=Ci(C)|0;if((n|0)==100){while(1){z=Ep(C,1)|0;A=ba()|0;g=N;f[g>>2]=z;f[g+4>>2]=A;g=Ep(C,2)|0;A=ba()|0;z=K;f[z>>2]=g;f[z+4>>2]=A;z=Ep(C,3)|0;A=ba()|0;g=Bp(C,4)|0;if(D)q=jf(28920)|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;zg(n,25);n=28920}q=jf(n)|0;n=f[C>>2]|0;p=f[H>>2]|0;if((p|0)==3082|(b[n+81>>0]|0)!=0){Bi(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=yr(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=Dd(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=Nu(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;$u(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(Kc()|0)break;p=Lc(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=Ci(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[7160]|0)){nb[f[28688>>2]&127](L);break}else{N=hb[f[28696>>2]&127](L)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](M);break}else{N=hb[f[28696>>2]&127](M)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](M);break}while(0);n=f[y+52>>2]|0;do if(n|0){p=f[n+20>>2]|0;Di(f[n+16>>2]|0)|0;if(p|0){if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{N=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](y);else{N=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(o,q);p=dg(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){Bi(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 kr(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=tr(a,j)|0;if(g|0){q=43;break b}}else{do{g=tr(a,j)|0;if(g|0){q=43;break b}if(!(f[k>>2]|0))break c;r=f[h>>2]|0;g=Kt(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{r=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Kt(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 lr(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?151:152;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=tr(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{C=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Kt(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(Kt(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(Kt(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;ur(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(Up(j,e+i|0,g,i,80)|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;Di(f[j+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{C=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(C&127|0,0,i|0)|0;e=Nu(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((ib[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;vr(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;vr(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=Ou(z|0,A|0,o|0,n|0)|0;j=ba()|0;y=Ou(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=Yu(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(Kc()|0){D=182;break a}j=Lc(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=Yu(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;$u((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=Yu(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=Zu(v&127|0,0,p|0)|0;m=Nu(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=Yu(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=Yu(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((ib[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(Kc()|0){d=Z;e=7;break}d=Lc(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;$u(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 mr(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=ud(51747,j)|0;if(!i){n=7;t=o;return n|0}j=Ii(f[a+12>>2]|0,i,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(j,c,e);break}}while(0);if((g|0)==0|(Jp(k,2)|0)!=0){Ci(k)|0;if(!i)i=0;else n=19}else{i=Ze((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,zg(m,i),m=f[k>>2]|0,(i|0)==3082|(b[m+81>>0]|0)!=0):0)Bi(m);Ci(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)Fi(i,k);j=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&j;break}}while(0);Jp(k,2)|0;n=i;t=o;return n|0}function nr(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=Yu(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=Yu(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=Dd(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=Yu(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=Yu(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;$u((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(Kc()|0){e=7;t=y;return e|0}g=Lc(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;$u(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=Dd(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=nr(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=nr(a,p,d,e)|0;g=f[p>>2]|0}f[c>>2]=g;e=h;t=y;return e|0}function or(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=ud(51689,s)|0;if(!r){y=7;t=z;return y|0}s=Ii(f[a+12>>2]|0,r,-1,129,0,u,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](r);else{a=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(r,c,e);break}}while(0);r=((g|0)<0)<<31>>31;do if(!(Jp(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{$e(s,g,r);break}}while(0);do if(!(Jp(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{$e(r,h,i);break}}while(0);do if(!(Jp(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{$e(r,j,k);break}}while(0);do if((n|0)==0&(o|0)==0){if(!(Jp(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{$e(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=ud(51737,w)|0;if(!r){y=7;t=z;return y|0}else{Np(v,5,r,-1,94,1)|0;break}}while(0);if((p|0)==0|(Jp(v,6)|0)!=0){Ci(v)|0;if(!u)r=0;else y=38}else{r=Ze((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,zg(x,r),x=f[v>>2]|0,(r|0)==3082|(b[x+81>>0]|0)!=0):0)Bi(x);Ci(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)Fi(r,v);s=dg(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){Bi(r);r=7;break}else{r=f[r+68>>2]&s;break}}while(0);Jp(v,6)|0;y=r;t=z;return y|0}function pr(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=ud(51453,k)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{A=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(k){e=k;t=B;return e|0}}n=Ru(c|0,e|0,1024,0)|0;n=Zu(n|0,ba()|0,10)|0;m=ba()|0;n=n|1023;s=Tu(g|0,h|0,3,0)|0;s=Ru(s|0,ba()|0,2,0)|0;u=ba()|0;A=i;k=Nu(c|0,e|0,1,0)|0;l=ba()|0;do if(!(Jp(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{$e(g,k,l);break}}while(0);do if(!(Jp(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{$e(k,n,m);break}}while(0);a:do if((Ci(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;zg(k,25);k=28920}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=Gc(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){Bi(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=Tu(g|0,h|0,10,0)|0;g=(l&255)+-48|0;g=Nu(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=Tu(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((Ci(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)Fi(i,A);k=dg(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}Bi(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=ud(51559,w)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{w=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51632,x)|0;if(!i){e=7;t=B;return e|0}k=Ii(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,c,e);break}}while(0);c:do if((Ci(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(!(Jp(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{$e(i,h,0);break}}while(0);i=Dp(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Jp(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{$e(l,i,k);break}}while(0);i=Dp(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Jp(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 $e(l,i,k);Ci(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)Fi(i,m);k=dg(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 Ci(m)|0;if((Ci(A)|0)==100)h=h+1|0;else break c}}else{h=0;while(1){do if(!(Jp(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{$e(i,h,0);break}}while(0);i=Dp(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Jp(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{$e(l,i,k);break}}while(0);i=Dp(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Jp(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 $e(l,i,k);Ci(m)|0}else Ci(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)Fi(i,m);k=dg(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((Ci(A)|0)==100)h=h+1|0;else break c}}while(0);if((v|0)==113){Bi(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)Fi(i,A);e=dg(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}Bi(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)Fi(i,A);k=dg(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){Bi(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(Jp(l,1)|0){Ci(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 $e(i,c,e);Ci(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)Fi(i,l);k=dg(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){Bi(i);e=7;t=B;return e|0}else{e=f[i+68>>2]&k;t=B;return e|0}return 0}function qr(a){a=a|0;var b=0,c=0,d=0;if(!a)return;a=f[a+8>>2]|0;qr(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[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[c+28>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}}while((a|0)!=0);return}function rr(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 sr(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 tr(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{q=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(h)|0;if(!d){r=7;return r|0}$u(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[7160]|0)){nb[f[28688>>2]&127](d);break}else{p=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(d|0,e|0,1,0)|0;d=ba()|0;n=g;f[n>>2]=p;f[n+4>>2]=d;d=wr(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=Up(g,d+e|0,h,e,80)|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;Di(f[l+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{m=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(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=Zu(h|0,i|0,1)|0;g=ba()|0;j=c+64|0;h=f[j>>2]|0;if(Kc()|0){s=7;return s|0}g=Lc(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=Up(j,g+h|0,i,h,80)|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;Di(f[j+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}}while(0);f[n>>2]=0;f[k>>2]=0}while(0);$u((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 ur(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=Zu(q&127|0,0,m|0)|0;k=Nu(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=Tu(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=Nu(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=Zu(r&127|0,0,k|0)|0;a=Nu(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=Tu(a|0,d|0,(n?1:-1)|0,(n?0:-1)|0)|0;n=ba()|0;r=g;n=Ou(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 vr(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}ur(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=Up(i,k,l,j,80)|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;Di(f[i+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Up(j,a+i|0,g,i,80)|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;Di(f[j+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{s=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Zu(s&127|0,0,i|0)|0;a=Nu(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=Ou(0,0,a|0,g|0)|0;s=ba()|0;u=Nu((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 wr(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=ud(51806,j)|0;f[i>>2]=h;if(!h){e=7;t=l;return e|0}}h=Rp(f[a+12>>2]|0,f[a+16>>2]|0,h,51818,c,d,0,k)|0}else h=Wp(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=Dd(j+20|0)|0;do if(i){h=Up(f[k>>2]|0,i,j,0,80)|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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{k=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 xr(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=Kt(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 yr(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=Zu(y&127|0,0,k|0)|0;l=Nu(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=Nu(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=Zu(o|0,q|0,1)|0;r=ba()|0;if(Kc()|0){g=7;break a}o=Lc(k,q,r)|0;if(!o){g=7;break a}else k=o}else q=u;$u(k+e|0,s|0,p|0)|0;u=p+e|0;o=s+p|0;e=(u|0)>(d|0);p=Kt(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=Nu(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{z=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=wr(a,B,C,F,D)|0;if(!k)k=yr(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{C=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-C;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=wr(a,f[k>>2]|0,f[k+4>>2]|0,F,D)|0;if(!k)k=yr(a,c,d,f[F>>2]|0,f[D>>2]|0,i,j)|0;i=f[F>>2]|0;if(i)if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{F=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);F=k;t=G;return F|0}function zr(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;Ze(f[a>>2]|0,52408,-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)?(wt(f[g>>2]|0,52099)|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=Dc(+p[c>>3])|0;ba()|0;ga=18;break a}if(!(g&18)){h=0;ga=18}else{h=Ec(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=52456;i=-1;h=15;ga=30;break}case 2:{m=52467;l=52456;i=-1;h=15;ga=36;break}default:{ka=52472;la=52467;ma=52456;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=Dc(+p[c>>3])|0;ba()|0;ga=24;break}if(!(g&18)){i=0;ga=24}else{i=Ec(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=Gc(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=Gc(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=Gc(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((Ze(f[a>>2]|0,56244,-1,1,0)|0)!=18){t=Aa;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=Aa;return}if(Or(a,ra)|0){t=Aa;return}ja=f[ra>>2]|0;U=ra+16|0;b:do if(!(f[U>>2]|0)){if((Ze(f[a>>2]|0,56244,0,1,0)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Er(c,sa,91,ta)|0;e=f[Y>>2]|0;do if(!c){c=e*24|0;g=Dd(c)|0;f[Z>>2]=g;if(!g){c=7;break}bv(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=Er(c,sa,92,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=Zu(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=Zu(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=Zu(1,0,s-G|0)|0;w=ba()|0;x=(r|h)&B;y=(o|S)&C;u=0;do{Ba=Yu(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{Ba=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(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;zg(c,25);c=28920;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){Bi(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=Bp(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=kb[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=ib[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=mb[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=Zu(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=Zu(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=kb[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=ib[f[o+24>>2]&255](f[sa>>2]|0,e)|0;if(!c)break;hb[f[o+16>>2]&127](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=mb[f[l>>2]&127](m,sa,ua,va,xa,ta)|0;if(c|0){ga=219;break}}if((ga|0)==217){ga=0;hb[f[o+16>>2]&127](m)|0;c=0}else if((ga|0)==219){ga=0;hb[f[o+16>>2]&127](m)|0;if((c|0)==101)c=1;else break}e=c-ha+(f[ta>>2]|0)|0;Ba=(e|0)>0;o=Yu(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=zt(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){n=v;m=1;c=7;l=o;i=q;break p}c=Lc(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}}$u(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=zt(A)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){n=v;m=1;c=7;l=o;i=q;break p}i=Lc(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}}$u(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=Zu(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=zt(m)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){c=7;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}$u(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=zt(ka)|0;m=l+h|0;if((m+1|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){c=7;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;break}else{k=c;g=i}}$u(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=zt(m)|0;e=c+h|0;if((e+1|0)>=(g|0)){l=g+100+c|0;if(Kc()|0){c=7;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}$u(k+h|0,m|0,c|0)|0;c=k+e|0;b[c>>0]=0;if(!n){c=0;h=e;break}m=zt(la)|0;h=m+e|0;if((h+1|0)>=(g|0)){l=g+100+m|0;if(Kc()|0){c=7;h=e;break}i=Lc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;h=e;break}c=i+e|0;k=i;g=l}$u(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=zt(l)|0;if((h+1+m|0)>=(g|0)){i=g+100+m|0;if(Kc()|0){c=7;ga=266;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}$u(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=zt(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Kc()|0){c=7;ga=266;break}c=Lc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}$u(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;hb[f[D+16>>2]&127](C)|0}E=E+1|0;if(!(E>>>0>>0&(c|0)==0))break n;else r=g}if((ga|0)==194){hb[f[D+16>>2]&127](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;Di(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{Ba=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}}while(0);f[g>>2]=0;if(!c){if((Ze(f[a>>2]|0,k,-1,1,94)|0)!=18)break;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(g,c,-1,1,0)|0}if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Ba=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{af(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]=50634;c=ud(52110,k)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Aa;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=Aa;return}else{Ba=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-Ba;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=Aa;return}}function Ar(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)?(wt(f[c>>2]|0,52099)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){if(Or(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((Ze(f[a>>2]|0,56244,0,1,0)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=Er(c,E,91,F)|0;B=f[F+8>>2]|0;a:do if(!i){A=Dd(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;Er(k,E,93,N)|0;k=f[A>>2]|0;p=q;q=q+1|0;i=(k|0)==0;do if(i)c=28920;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;zg(c,25);c=28920}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=Gc(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){Bi(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}c=Bp(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;zg(c,25);c=28920;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){Bi(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=kb[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=ib[f[k+24>>2]&255](f[E>>2]|0,i)|0,M|0):0){P=46;break}o=f[E>>2]|0;c=mb[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=mb[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;td(64,E,52395,L)|0;k=zt(E)|0;l=k+h|0;do if((l+1|0)>=(g|0)){i=g+100+k|0;if(Kc()|0){c=7;break}c=Lc(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;$u(e+h|0,E|0,k|0)|0;b[e+l>>0]=0;c=0;h=l}}hb[f[r>>2]&127](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){hb[f[k+16>>2]&127](f[E>>2]|0)|0;f[E>>2]=0;c=M;P=47}else if((P|0)==78)hb[f[r>>2]&127](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[7160]|0)){nb[f[28688>>2]&127](c);k=e;break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{S=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);f[c>>2]=0;if(!i){if((Ze(f[a>>2]|0,k,h+-1|0,1,94)|0)!=18)break;f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=i&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0}if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{S=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);t=Q;return}f[g>>2]=50642;c=ud(52110,g)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Q;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=Q;return}else{S=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-S;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=Q;return}}function Br(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)?(wt(f[c>>2]|0,52099)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){g=f[h>>2]|0;e=g+12|0;c=sj(f[e>>2]|0,52251,0,0,0)|0;a:do if(!c){c=cs(g,1)|0;switch(c|0){case 0:case 101:{h=sj(f[e>>2]|0,52266,0,0,0)|0;c=(h|0)==0?c:h;break a}default:{sj(f[e>>2]|0,52279,0,0,0)|0;sj(f[e>>2]|0,52266,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;Di(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{j=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);f[e>>2]=0;switch(c|0){case 0:{if((Ze(f[a>>2]|0,52296,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-1,1,0)|0;t=i;return}case 101:{if((Ze(f[a>>2]|0,52312,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0;t=i;return}}}f[g>>2]=39185;c=ud(52110,g)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=i;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=i;return}else{j=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=i;return}}function Cr(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)?(wt(f[g>>2]|0,52099)|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=Gc(j,1)|0;else c=0}else c=0;while(0);_=f[S>>2]|0;N=(c|0)==0?52139: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))df(g);f[g+16>>2]=56244;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;Ze(f[a>>2]|0,32336,-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(!(wt(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{M=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Er(c,Y,94,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;Iq(Y,52143,o);c=f[Y>>2]|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);break a}while(0);e=(c<<3|4)+20|0;g=(zt(N)|0)+1|0;i=Dd(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{bv(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;$u(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=102;break}c=e+4|0;g=Dd(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=94}else{$u(g|0,e+20|0,f[c>>2]<<2|0)|0;M=g;i=94}}else{b[c>>0]=1;M=e+20|0;i=102}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=Gr(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){k=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(u&127|0,0,l|0)|0;c=Nu(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=Gr(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){l=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(u&127|0,0,j|0)|0;c=Nu(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=Yu(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=Zu(u&127|0,0,k|0)|0;e=Nu(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=Nu(e|0,0,o|0,p|0)|0;u=Vu(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=ud(52178,X)|0;if(!j){c=7;v=161;break}c=Ii(f[E>>2]|0,j,-1,129,0,Y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](j);else{v=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(c,k,l);break}}while(0);c=(e|0)==0;do if((Ci(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;zg(j,25);j=28920;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){Bi(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;zg(c,25);c=28920;j=o}k=jf(c)|0;c=f[j>>2]|0;j=f[n>>2]|0;if((j|0)==3082|(b[c+81>>0]|0)!=0){Bi(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=Zu(v&127|0,0,k|0)|0;c=Nu(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)Fi(c,o);e=dg(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{Bi(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)Fi(e,k);u=dg(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)Bi(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=Er(c,Y,91,T)|0;f[V>>2]=c;if(!c){u=Dd(f[H>>2]<<4)|0;g:do if(u){bv(u|0,0,f[H>>2]<<4|0)|0;c=f[O>>2]|0;f[Y>>2]=0;Er(c,Y,95,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=Jr(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=Zu(r&127|0,0,j|0)|0;c=Nu(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=Zu(aa&127|0,0,k|0)|0;j=Nu(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=Zu(aa&127|0,0,k|0)|0;j=Nu(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[7160]|0)){nb[f[28688>>2]&127](u);c=0;break}else{c=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Er(m,Y,91,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=Gr(I,Z)|0;if(c|0)break;c=f[Z>>2]|0;if(c|0){v=270;break}k=jf(28920)|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;zg(e,25);e=28920;j=c}k=jf(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){Bi(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=Zu(aa&127|0,0,l|0)|0;e=Nu(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=Er(m,Y,96,W)|0;f[V>>2]=c;Mr(S,V)|0;c=f[V>>2]|0;if(c|0)break e}f[Y>>2]=0;Er(m,Y,97,W)|0;c=0}}}while(0);if((v|0)==263){v=0;bv(e|0,0,c<<2|0)|0;Kr(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)Fi(j,e);aa=dg(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)Bi(j)}if(!L){Z=f[R>>2]|0;f[Z+8>>2]=1;aa=f[Z+4>>2]|0;$u(Z+16+(aa+2<<2)|0,Z+20|0,aa<<2|0)|0}if(!c){if((Ze(f[a>>2]|0,M,f[(f[R>>2]|0)+4>>2]<<2,0,i)|0)==18){f[a+20>>2]=18;Ze(f[a>>2]|0,32336,-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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(e,c,-1,1,0)|0}if(i|0)nb[i&127](g)}c=_+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Di(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{aa=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);f[c>>2]=0;t=$;return}f[i>>2]=50650;c=ud(52110,i)|0;f[a+20>>2]=1;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=$;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=$;return}else{aa=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=$;return}}function Dr(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 Er(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=Er(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=jb[c&127](a,f[b>>2]|0,d)|0;f[b>>2]=(f[b>>2]|0)+1;return d|0}function Fr(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[7160]|0)){nb[f[28688>>2]&127](c);return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function Gr(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=ud(51055,e)|0;if(!e){k=7;j=g;f[c>>2]=j;t=l;return k|0}a=Ii(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,0,0);break}}while(0);if((Ci(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;zg(e,25);e=28920}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){Bi(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)Fi(e,k);a=dg(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){Bi(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 Hr(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 Ir(a,b,c){a=a|0;b=b|0;c=c|0;f[c+(b<<4)>>2]=a;return 0}function Jr(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;Vr(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}Wr(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}Wr(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}Wr(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=Zu(p&127|0,0,j|0)|0;i=Nu(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=Ou(i|0,m|0,l|0,k|0)|0;Tu(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=Zu(I&127|0,0,n|0)|0;k=Nu(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=Tu(k|0,j|0,w|0,x|0)|0;i=Nu(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=Ou(i|0,m|0,l|0,k|0)|0;J=Tu(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}}ur(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 Kr(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}Kr(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 Lr(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=Dd((f[a>>2]|0)*12|0)|0;f[g+40>>2]=e;if(!e){h=16;break}bv(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}Vr(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)Fi(c,r);z=dg(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)Bi(c)}Wr(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)?(Mr(v,s)|0)!=0:0)){c=f[s>>2]|0;if(c|0)break b;if(b[i>>0]|0){c=0;break b}Xr(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)){Vr(v,d,s);do{Wr(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 Mr(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=Or(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=Ep(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=28920;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;zg(e,25);e=28920}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=Gc(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){Bi(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=kb[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=ib[f[h+24>>2]&255](f[z>>2]|0,g)|0,E|0):0){hb[f[h+16>>2]&127](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=mb[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(Kt(f[z>>2]|0,f[l>>2]|0,k)|0){i=0;break}Pr(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)hb[f[p>>2]&127](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=Qr(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=(Rr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{K=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Nr(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=Jr(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 Or(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=ud(52225,i)|0;if(!e){h=7;break}h=Ii(f[h+12>>2]|0,e,-1,129,0,l,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,h,i);break}}while(0);b[k>>0]=0;if((Ci(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)Fi(g,e);h=dg(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{Bi(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=35490;break}case 100:{e=35468;break}case 101:{e=35445;break}default:{e=h&255;if(e>>>0<29?(520028155>>>e&1|0)!=0:0)e=f[7968+(e<<2)>>2]|0;else e=35431}}Ze(g,e,-1,1,0)|0;a=h;t=m;return a|0}function Pr(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=Ou(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=Qr(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=Qr(m,1,0)|0;if(j|0)break;j=Qr(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=Nu(g|0,h|0,2,0)|0;e=ba()|0;j=j+32|0;j=Ou(d|0,e|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=Qr(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 Qr(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((Kc()|0)==0?(i=Lc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);f[a>>2]=0;a=7;return a|0}}else{if(Kc()|0){a=7;return a|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](140)|0;if(!e){a=7;return a|0}}else{e=hb[f[28700>>2]&127](140)|0;if((f[14058]|0)>>>0<140)f[14058]=140;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[14051]|0;k=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=ba()|0;f[13840]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){a=7;return a|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Yu(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 Rr(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(Rr(a,f[j>>2]|0,d)|0?(k=c+16|0,Rr(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=Dd((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=Sr(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=Sr(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[7160]|0))nb[f[28688>>2]&127](i);else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{u=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Rr(a,f[c+12>>2]|0,d)|0;u=(Rr(a,f[c+16>>2]|0,d)|0|u|0)!=0;u=u&1;t=v;return u|0}case 2:{if(!(Rr(a,f[c+12>>2]|0,d)|0)){u=0;u=u&1;t=v;return u|0}u=(Rr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{o=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(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;$u(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;Tr(s,l-j|0,0,1,u,p)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](m);break}else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==85){if(!(f[7160]|0))nb[f[28688>>2]&127](a);else{w=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(i+8|0)|0;f[p>>2]=e;if(!e){do if(k|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}while(0);e=7;break}f[c>>2]=e;if(!(Tr(p,h,0,1,s,u)|0)){e=f[p>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{w=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{w=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Sr(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;Tr(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;Tr(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;$u(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[m>>2]=a;a=1}else{if(!a){Ur(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;$u(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;bv(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 Tr(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=Yu(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=Zu(z&127|0,0,o|0)|0;l=Nu(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=Nu(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=Zu(z&127|0,0,o|0)|0;l=Nu(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=Nu(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=Nu(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=Ou(2,0,o|0,l|0)|0;o=Nu(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=Yu(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=Zu(d&127|0,0,o|0)|0;l=Nu(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=Nu(w|0,x|0,-2,-1)|0;o=Nu(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=Zu(E&127|0,0,o|0)|0;l=Nu(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=Nu(z|0,y|0,-2,-1)|0;p=Nu(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 Ur(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=Yu(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;$u(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=Yu(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;$u(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=Yu(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=Zu(y&127|0,0,i|0)|0;e=Nu(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=Zu(y&127|0,0,j|0)|0;e=Nu(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=Ou(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=Yu(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=Nu(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=Zu(t&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;m=Nu(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=Zu(t&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;k=Nu(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=Zu(s&127|0,0,k|0)|0;j=Nu(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=Nu(x|0,y|0,-2,-1)|0;j=Nu(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=Zu(s&127|0,0,k|0)|0;j=Nu(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=Nu(t|0,l|0,-2,-1)|0;k=Nu(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 Vr(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{l=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=_r(h,o+72+(g*24|0)|0,f[i>>2]|0,m,n)|0;if(e|0)break;e=$r(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;Vr(a,f[c+12>>2]|0,d);Vr(a,f[c+16>>2]|0,d);t=p;return}function Wr(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){Wr(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;Wr(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}Wr(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=Ou(f[k>>2]|0,f[k+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=Tu(E|0,ba()|0,g|0,h|0)|0;k=ba()|0;if((E|0)==0&(k|0)==0)break;if((k|0)<0)Wr(a,n,d);else Wr(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;bv(f[g>>2]|0,0,f[e>>2]|0)|0;Wr(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}bv(f[g>>2]|0,0,f[e>>2]|0)|0;Wr(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=Ou(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;e=Tu(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){Wr(a,i,d);break}else{Wr(a,h,d);Wr(a,i,d);break}else F=33;while(0);if((F|0)==33)Wr(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=Ou(e|0,g|0,h|0,i|0)|0,Tu(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))Wr(a,k,d);Wr(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=Ou(f[E>>2]|0,f[E+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=Tu(F|0,ba()|0,h|0,i|0)|0;E=ba()|0;if(!((E|0)>0|(E|0)==0&F>>>0>0))break;Wr(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{D=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ur(e,f[E>>2]|0,g,F,E+16|0,w,D);f[x>>2]=f[F>>2];e=0;break}Zr(u,E,D);e=0}else{b[C>>0]=0;s=E+64|0;do if((f[s>>2]|0)==1){e=Yr(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=Yr(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{Zr(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=Ou(i|0,j|0,g|0,h|0)|0,Tu(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=Ou(f[o>>2]|0,f[o+4>>2]|0,i|0,j|0)|0;Tu(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)){Zr(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=Yr(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=Ou(k|0,o|0,i|0,j|0)|0;n=Tu(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=Dd(g)|0;if(!n){F=112;break}$u(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=(Tr(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[7160]|0))nb[f[28688>>2]&127](n);else{o=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Xr(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);Xr(f[a+12>>2]|0);a=f[a+16>>2]|0}while((a|0)!=0);return}function Yr(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?151:152;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=vr(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=vr(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((ib[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(Kc()|0){h=7;C=45;break}i=Lc(j,(i|0)>0?i:0,0)|0;if(!i){h=7;C=45;break}f[r>>2]=i}$u(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))bv(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 Zr(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=Zu(p&127|0,0,i|0)|0;e=Nu(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=Ou(0,0,e|0,g|0)|0;p=ba()|0;p=Nu(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 _r(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=kr(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=lr(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=Dd(c+11|0)|0;f[u>>2]=b;f[o>>2]=c;if(!b)b=7;else{$u(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=as(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{c=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);b=f[g>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{i=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=as(h[p>>0]|0,j,f[u+64+(k<<2)>>2]|0,i,c,r,q)|0;c=(f[7160]|0)==0;if(b|0)break d;if(c)nb[f[28688>>2]&127](j);else{a=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j)}if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{a=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;bs(v);f[w>>2]=0;t=x;return u|0}if(c)nb[f[28688>>2]&127](i);else{s=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i)}}while(0);c=0;do{g=f[u+(c<<2)>>2]|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{s=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}while(0);c=c+1|0}while((c|0)!=16);bs(v);f[w>>2]=0;t=x;return b|0}function $r(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{L=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);j=0;break}else{j=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Dd(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=Zu(A&127|0,0,e|0)|0;j=Nu(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=Zu(A&127|0,0,e|0)|0;g=Nu(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=Ou(j|0,s|0,g|0,m|0)|0;q=Tu(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=Zu(r&127|0,0,o|0)|0;a=Nu(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=Ou(0,0,a|0,e|0)|0;q=ba()|0;j=Nu((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=Zu(N&127|0,0,o|0)|0;a=Nu(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=Ou(0,0,a|0,e|0)|0;q=ba()|0;g=Nu((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=Ou(j|0,s|0,w|0,v|0)|0;N=ba()|0;o=Ou(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=Yu(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(!(Tr(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=Zu(N&127|0,0,n|0)|0;e=Nu(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=Ou(0,0,e|0,a|0)|0;N=ba()|0;j=Nu((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=Zu(N&127|0,0,n|0)|0;e=Nu(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=Ou(0,0,e|0,a|0)|0;p=ba()|0;g=Nu((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[7160]|0)){nb[f[28688>>2]&127](l);j=0;break}else{j=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);j=0;break}else{j=0;k=F}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](K);else{N=hb[f[28696>>2]&127](K)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 as(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=Dd(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=Zu(v&127|0,0,l|0)|0;d=Nu(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=Zu(v&127|0,0,m|0)|0;k=Nu(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=Ou(d|0,r|0,k|0,q|0)|0;o=Tu(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=Ou(d|0,r|0,c|0,m|0)|0;p=ba()|0;o=Ou(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=Yu(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;$u(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=Zu(p&127|0,0,g|0)|0;m=Nu(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=Ou(0,0,m|0,l|0)|0;o=ba()|0;o=Nu((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=Ou(k|0,q|0,c|0,m|0)|0;p=ba()|0;o=Ou(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=Yu(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;$u(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=Zu(p&127|0,0,g|0)|0;m=Nu(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=Ou(0,0,m|0,l|0)|0;g=ba()|0;g=Nu((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=Ou(d|0,r|0,c|0,m|0)|0;p=ba()|0;g=Ou(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=Yu(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);Ur(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=Zu(p&127|0,0,c|0)|0;l=Nu(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=Ou(0,0,l|0,m|0)|0;o=ba()|0;o=Nu((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=Zu(p&127|0,0,c|0)|0;l=Nu(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=Ou(0,0,l|0,m|0)|0;g=ba()|0;g=Nu((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 bs(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{d=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{d=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);c=f[e+52>>2]|0;do if(c|0){d=f[c+20>>2]|0;Di(f[c+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{k=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=a+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{k=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}while(0);f[j>>2]=0;f[a>>2]=0;f[c>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{k=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function cs(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=ud(52334,g)|0;if(!e){j=0;i=7;break}i=Ii(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,g,h);break}}while(0);k=a+252|0;g=f[k>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Jp(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{$e(i,g,h);break}}while(0);if((Ci(l)|0)==100){g=0;h=0;while(1){j=Dp(l,0)|0;a:do if(!g){i=0;while(1){if((i|0)>=(f[k>>2]|0)){g=0;break a}g=ir(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((Ci(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)Fi(e,l);g=dg(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){Bi(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;er(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;Di(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Ic(h,g);f[e>>2]=0;er(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;er(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[7160]|0)){nb[f[28688>>2]&127](g);f[e>>2]=0;er(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=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);f[e>>2]=0;er(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 ds(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=Jr(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 es(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=Jr(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 fs(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,ib=0,jb=0,kb=0,lb=0,mb=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,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;ob=Ib+240|0;if(Kc()|0){Hb=7;t=Ib;return Hb|0}if(!(f[7160]|0)){g=hb[f[28684>>2]&127](640)|0;if(!g){Hb=7;t=Ib;return Hb|0}else Gb=g}else{g=hb[f[28700>>2]&127](640)|0;if((f[14058]|0)>>>0<640)f[14058]=640;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){Gb=f[14051]|0;ib=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;gb=ba()|0;f[13840]=((gb|0)<0|(gb|0)==0&ib>>>0<=Gb>>>0)&1}i=hb[f[28684>>2]&127](g)|0;if(!i){Hb=7;t=Ib;return Hb|0}g=hb[f[28696>>2]&127](i)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=g;Gb=i}else Gb=i}gb=Gb+568|0;ib=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=ud(51055,l)|0;if(!g){i=7;g=0;break}i=Ii(f[a+12>>2]|0,g,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](g);else{fb=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-fb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(g,1,0);break}}while(0);do if((Ci(o)|0)==100){if(!n)i=jf(28920)|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;zg(g,25);g=28920;i=o}l=jf(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){Bi(g);g=7}else g=f[g+68>>2]&i;f[k>>2]=g;i=l}l=Bp(o,0)|0;if(i){if((l|0)>0){if(Kc()|0){m=7;g=0;l=0;p=0;break}g=Lc(0,l,0)|0;if(!g){m=7;g=0;l=0;p=0;break}else k=l}else{g=0;k=0}$u(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)Fi(i,o);k=dg(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){Bi(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=ud(52524,sb)|0,(jb|0)!=0):0){Ii(f[Q>>2]|0,jb,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](jb);else{N=hb[f[28696>>2]&127](jb)|0;f[14051]=(f[14051]|0)-N;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](jb)}i=f[Fb>>2]|0;f[db>>2]=i}c=i;do if(!(Jp(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{$e(m,P,0);break}}while(0);if((Ci(c)|0)==100){o=Ep(c,0)|0;e=ba()|0;u=Dp(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)Fi(i,c);m=dg(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{Bi(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=Zu(N&127|0,0,m|0)|0;i=Nu(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=Uu(o|0,e|0,v|0,w|0)|0,I=ba()|0,N=Uu(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}}bv(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=ud(51163,Db)|0;if(!i){s=0;L=116;break}l=Ii(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{L=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);Ci(c)|0;m=Dp(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)Fi(i,c);l=dg(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){Bi(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=Nu(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=ud(51097,pb)|0;if(!l){m=K;i=7;l=p;L=789;break c}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,2,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);l=Ru(c|0,q|0,1024,0)|0;l=Zu(l|0,ba()|0,10)|0;l=Nu(l|0,ba()|0,1024,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);if((Ci(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;zg(l,25);l=28920;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){Bi(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)Fi(i,r);l=dg(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){Bi(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=ib;D=C+56|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));i=J<<2;l=Dd(i)|0;f[ib>>2]=l;if(!l){m=K;i=7;l=p;L=789}else{bv(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=ud(51959,qb)|0;if(!l){m=K;i=7;l=p;L=789;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(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)&(Ci(B)|0)==100)){m=0;o=1;break d}i=Ep(B,1)|0;l=ba()|0;m=Ep(B,2)|0;o=ba()|0;e=Ep(B,3)|0;c=ba()|0;q=jf(28920)|0;r=Bp(B,4)|0;s=(f[ib>>2]|0)+(w<<2)|0;v=(i|0)==0&(l|0)==0?r+20|0:0;u=Dd(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=Nu(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;$u(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)&(Ci(B)|0)==100)){m=0;o=1;break d}c=Ep(B,1)|0;q=ba()|0;r=Ep(B,2)|0;s=ba()|0;u=Ep(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;zg(i,25);i=28920}e=jf(i)|0;i=f[B>>2]|0;l=f[A>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Bi(i);i=7}else i=f[i+68>>2]&l;f[A>>2]=i;i=Bp(B,4)|0;l=(f[ib>>2]|0)+(w<<2)|0;o=(c|0)==0&(q|0)==0?i+20|0:0;m=Dd(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=Nu(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;$u(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)Fi(i,B);l=dg(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){Bi(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=kr(a,ib,f[gb>>2]|0,f[Z>>2]|0)|0;if(i|0){m=K;l=p;L=789;break}i=lr(a,ib)|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=ud(52643,rb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Jp(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{$e(o,l,m);break}}while(0);l=((A|0)<0)<<31>>31;do if(!(Jp(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{$e(m,A,l);break}}while(0);do if((Ci(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)Fi(i,E);l=dg(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){Bi(i);m=K;c=J;i=7;l=p;L=738;break e}else{i=f[i+68>>2]&l;break}}else{w=Ep(E,1)|0;x=ba()|0;u=Ep(E,2)|0;v=ba()|0;B=(i|0)==0;f:do if(B)i=28920;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;zg(i,25);i=28920}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=Gc(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){Bi(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=Tu(o|0,m|0,10,0)|0;o=(l&255)+-48|0;o=Nu(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=Tu(e|0,c|0,10,0)|0;e=(l&255)+-48|0;e=Nu(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=Tu(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=Ou(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=Bp(E,4)|0;if(B)q=jf(28920)|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;zg(i,25);i=28920;l=E}e=jf(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){Bi(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=ud(52750,tb)|0;if(!i){m=7;break}m=Ii(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](i);else{I=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(i,o,r);break}}while(0);e=(Ci(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)Fi(l,c);m=dg(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){Bi(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=wr(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=Zu(I&127|0,0,e|0)|0;i=Nu(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=gs(lb)|0;if((m|0)==0&(f[lb>>2]|0)!=0)do m=gs(lb)|0;while((m|0)==0&(f[lb>>2]|0)!=0);l=f[Xa>>2]|0;I=f[Ya>>2]|0;i=Kt(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0)}else i=1;l=f[Fb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0)}if(!((m|0)==0&(i|0)!=0))break;e=b[q>>0]|0;c=e<<24>>24;l=Ou(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=Nu(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=Nu(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(Kc()|0){m=7;break}i=Lc(i,(l|0)>0?l:0,0)|0;if(!i){m=7;break}f[m>>2]=l;f[o>>2]=i}$u(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=Zu(I&127|0,0,o|0)|0;i=Nu(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=gs(Fb)|0;l=(i|0)==0;if(l&(f[Fb>>2]|0)!=0)do{i=gs(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(Kc()|0){i=7;L=352;break}i=Lc(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;$u(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=wr(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(Kc()|0){i=7;break}i=Lc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[l>>2]=o;f[m>>2]=i}$u(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{I=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(i,E);l=dg(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){Bi(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=ud(52815,ub)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);l=f[T>>2]|0;m=((l|0)<0)<<31>>31;do if(!(Jp(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{$e(o,l,m);break}}while(0);if((Ci(c)|0)==100)o=Dp(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)Fi(i,c);l=dg(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{Bi(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=ud(51228,vb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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((Ci(m)|0)==100){G=o<<4;G=Nu(G|0,((G|0)<0)<<31>>31|0,-1,-1)|0;L=ba()|0;I=Ep(m,0)|0;H=ba()|0;F=ta;f[F>>2]=I;f[F+4>>2]=H;H=Nu(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)Fi(i,m);l=dg(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{Bi(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=ua;i=mr(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Nu(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=Yu(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=Yu(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=Yu(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=mr(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=Yu(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=Yu(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=mr(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=Nu(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=Yu(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=Nu(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(Kc()|0){i=7;break}i=Lc(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=Yu(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(Kc()|0){i=7;break}i=Lc(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(Kc()|0){i=7;break}i=Lc(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=Yu(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=Yu(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;$u((f[q>>2]|0)+i|0,F+y|0,x|0)|0;f[z>>2]=(f[z>>2]|0)+x;$u(f[A>>2]|0,F|0,D|0)|0;f[C>>2]=D;i=0}while(0);m=la;m=Nu(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=Yu(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=Yu(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=Nu(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=Nu(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(Kc()|0){m=K;c=J;i=7;l=p;L=738;break i}i=Lc(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=hs(ia,ga,F,G,H,I)|0;if(i|0)break;i=lr(a,ib)|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[ib>>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=ud(51296,wb)|0;if(!l){L=490;break o}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(e,i,m);break}}while(0);e=o+24|0;m=f[e>>2]|0;e=f[e+4>>2]|0;if(Jp(q,2)|0){Ci(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 $e(i,m,e);Ci(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)Fi(i,q);l=dg(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=ud(52918,xb)|0;if(!l){L=514;break o}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);m=((e|0)<0)<<31>>31;if(Jp(o,2)|0){Ci(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 $e(i,e,m);Ci(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)Fi(i,o);l=dg(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=ud(52643,yb)|0;if(!l){i=7;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);v=((w|0)<0)<<31>>31;do if(!(Jp(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{$e(l,w,v);break}}while(0);if((Ci(c)|0)==100){if(!i)l=jf(28920)|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;zg(l,25);l=28920;m=c}l=jf(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){Bi(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=Bp(c,4)|0;r=Ep(c,1)|0;s=ba()|0;m=is(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)Fi(i,c);l=dg(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){Bi(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[ob>>2]=0;i=wr(a,l,m,Fb,ob)|0;do if(!i){i=is(f[Fb>>2]|0,f[ob>>2]|0,lb,q,u,mb)|0;if(i|0)break;i=mr(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{K=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ud(51296,zb)|0;if(!o){i=7;break p}i=Ii(f[Q>>2]|0,o,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](o);else{K=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o)}o=f[Fb>>2]|0;f[Oa>>2]=o;if(!i)i=o;else break p}q=i;do if(!(Jp(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{$e(o,r,s);break}}while(0);e=Nu(l|0,m|0,-1,-1)|0;c=ba()|0;if(Jp(q,2)|0){Ci(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 $e(i,e,c);Ci(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)Fi(i,q);o=dg(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){Bi(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=ud(52973,Ab)|0;if(!l){i=7;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l)}l=f[Fb>>2]|0;f[Qa>>2]=l;if(!i)i=l;else break}c=i;do if(!(Jp(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{$e(l,e,m);break}}while(0);l=f[kb>>2]|0;m=f[Ra>>2]|0;do if(!((l|0)==0|(Jp(c,2)|0)!=0)){l=Ze((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;zg(m,l);m=f[c>>2]|0;if(!((l|0)==3082|(b[m+81>>0]|0)!=0))break;Bi(m)}while(0);do if(!(Jp(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{$e(l,N,M);break}}while(0);if(Jp(c,4)|0){Ci(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 $e(i,w,v);Ci(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)Fi(i,c);l=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&l;break}}while(0);Jp(c,2)|0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[lb>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;Bi(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;Bi(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=ud(53052,Bb)|0;if(!l){i=7;l=0;L=686;break}i=Ii(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](l);else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(l,N,M);break}}while(0);r:do if((Ci(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(Kc()|0){o=7;break r}m=Lc(e,(m|0)>0?m:0,0)|0;if(!m){o=7;break r}else{c=m;l=m;e=m}}K=Dp(r,0)|0;m=q+1|0;f[c+(q<<2)>>2]=K;if((Ci(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)Fi(i,r);m=dg(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){Bi(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=ud(53112,Cb)|0;if(!m){i=7;L=686;break}i=Ii(f[Q>>2]|0,m,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](m);else{K=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m)}m=f[Fb>>2]|0;f[bb>>2]=m;if(!i)i=m;else{L=686;break}}E=i;do if(!(Jp(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{$e(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(!(Jp(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{$e(o,i,m);break}}while(0);if(Jp(E,1)|0){Ci(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 $e(i,r,0);Ci(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)Fi(i,E);m=dg(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}Bi(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(!(Jp(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{$e(o,i,m);break}}while(0);if(!(Jp(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 $e(i,r,0);Ci(E)|0}else Ci(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)Fi(i,E);m=dg(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}Bi(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[7160]|0)){nb[f[28688>>2]&127](l);c=F;break}else{c=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Kc()|0){m=G;k=1;i=7;l=p;L=739;break}i=Lc(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=Yu(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=Yu(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=Ou(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(Kc()|0){i=7;m=1;L=761;break}i=Lc(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=Yu(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=mr(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(e<<5)+8>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);e=e+1|0}while((e|0)!=(m|0))}if(!i){i=ra;i=Nu(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=or(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;if(!l)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{L=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-L;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Nu(N|0,M|0,1,0)|0;l=ba()|0;m=ca;pr(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[ib>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);do if(!(b[e+5>>0]|0)){l=f[e+40>>2]|0;if(!l)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);l=f[e+52>>2]|0;t:do if(l|0){m=f[l+20>>2]|0;Di(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{K=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);c=c+1|0;l=f[ib>>2]|0}while((c|0)<(f[T>>2]|0))}do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);l=f[W>>2]|0;do if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{K=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-K;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}while(0);f[T>>2]=0;f[ib>>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=ud(53170,Eb)|0;if(!k){i=7;break}i=Ii(f[a+12>>2]|0,k,-1,129,0,Fb,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{a=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[Fb>>2]|0;f[l>>2]=k;if(i)break}m=k;do if(!(Jp(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{$e(i,1,0);break}}while(0);if((g|0)==0|(Jp(m,2)|0)!=0){Ci(m)|0;if(!k)i=0;else L=845}else{i=Ze((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,zg(Hb,i),Hb=f[m>>2]|0,(i|0)==3082|(b[Hb+81>>0]|0)!=0):0)Bi(Hb);Ci(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)Fi(i,m);k=dg(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){Bi(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);Jp(m,2)|0}}}while(0);if(!(f[7160]|0))nb[f[28688>>2]&127](Gb);else{Hb=hb[f[28696>>2]&127](Gb)|0;f[14051]=(f[14051]|0)-Hb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](Gb)}if(!g){Hb=i;t=Ib;return Hb|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);Hb=i;t=Ib;return Hb|0}else{Hb=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Hb;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);Hb=i;t=Ib;return Hb|0}return 0}function gs(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=Nu(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(Kc()|0){a=7;return a|0}d=Lc(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);$u(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 hs(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(Kc()|0){h=7;return h|0}i=Lc(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;$u(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=Yu(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=Yu(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;$u((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=Yu(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;$u((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 is(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(Kc()|0){z=7;t=A;return z|0}j=Lc(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=Zu(u&127|0,0,c|0)|0;j=Nu(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=gs(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=Kt(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=Yu(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=hs(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=gs(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=Yu(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[7160]|0)){nb[f[28688>>2]&127](j);break}else{y=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);break}while(0);j=f[z>>2]|0;if(!j){z=p;t=A;return z|0}if(!(f[7160]|0)){nb[f[28688>>2]&127](j);z=p;t=A;return z|0}else{z=hb[f[28696>>2]&127](j)|0;f[14051]=(f[14051]|0)-z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](j);z=p;t=A;return z|0}return 0}function js(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;er(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=ud(53488,d)|0;if(!c){k=7;t=l;return k|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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){Bi(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=ud(53516,g)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(d,e);c=dg(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){Bi(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=ud(53545,h)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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}Bi(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=ud(53572,i)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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}Bi(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=ud(53600,j)|0;if(!c){m=7;t=l;return m|0}d=Ii(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{m=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ci(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)Fi(c,e);d=dg(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){Bi(c);m=7;t=l;return m|0}else{m=f[c+68>>2]&d;t=l;return m|0}return 0}function ks(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=kb[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=ib[f[r+24>>2]&255](f[i>>2]|0,b)|0,h|0):0){hb[f[r+16>>2]&127](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=mb[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=qs(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=qs(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=mb[i&127](l,q,m,n,o,p)|0}while((c|0)==0)}else b=0;while(0);hb[f[r+16>>2]&127](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 ls(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=Dd((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=Yu(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=ud(53745,p)|0;if(h){g=Ii(f[c+12>>2]|0,h,-1,129,0,q,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](h);else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h)}h=f[q>>2]|0;f[i>>2]=h;if(!g)break}else g=7;if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break a}else{s=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(Jp(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{$e(j,g,i);break}}while(0);if(Jp(l,2)|0){do if(94!=-1)if(!(f[7160]|0)){nb[f[28688>>2]&127](r);break}else{s=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}while(0);Ci(l)|0;if(!h){g=0;break}}else{g=Ze((f[l+116>>2]|0)+40|0,r,m,0,94)|0;if(g|0?(s=f[l>>2]|0,f[s+64>>2]=g,zg(s,g),s=f[l>>2]|0,(g|0)==3082|(b[s+81>>0]|0)!=0):0)Bi(s);Ci(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)Fi(g,l);h=dg(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){Bi(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 ms(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=Dd(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=ud(51055,k)|0;if(k){j=Ii(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{s=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j){j=k;break}}else j=7;if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{B=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);s=j;do if(!(Jp(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{$e(k,0,0);break}}while(0);if((Ci(s)|0)==100){if(!j)n=jf(28920)|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;zg(k,25);k=28920;l=s}n=jf(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){Bi(k);k=7}else k=f[k+68>>2]&l;f[m>>2]=k}Bp(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=Zu(E&127|0,0,m|0)|0;k=Nu(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 bv(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)Fi(j,s);k=dg(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{Bi(j);j=7}if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Yu(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=ud(53170,x)|0;if(k){j=Ii(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](k);else{F=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j)break}else j=7;if(!(f[7160]|0))nb[f[28688>>2]&127](C);else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);m=k;do if(!(Jp(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{$e(j,0,0);break}}while(0);if((z|0)==0|(Jp(m,2)|0)!=0){Ci(m)|0;if(!k)j=0;else B=83}else{j=Ze((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,zg(A,j),A=f[m>>2]|0,(j|0)==3082|(b[A+81>>0]|0)!=0):0)Bi(A);Ci(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)Fi(j,m);k=dg(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){Bi(j);j=7;break}else{j=f[j+68>>2]&k;break}}while(0);f[a>>2]=j;Jp(m,2)|0;if(!(f[7160]|0)){nb[f[28688>>2]&127](C);t=D;return}else{F=hb[f[28696>>2]&127](C)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](C);t=D;return}}function ns(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=ps(a,7,u,x)|0;s=f[u>>2]|0;a:do if(!h){b:do if((Ci(s)|0)==100){if(!(f[a+44>>2]|0))r=0;else r=Dp(s,(f[a+24>>2]|0)+1|0)|0;i=Ep(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=gr(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;zg(c,25);c=28920}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=Gc(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){Bi(c);c=7}else c=f[c+68>>2]&h;f[o>>2]=c;c=ks(a,r,i,-1,g+(k<<2)|0)|0;i=Bp(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)Fi(h,s);r=dg(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}Bi(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)Fi(h,s);i=dg(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){Bi(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)Fi(c,s);r=dg(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){Bi(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=ps(a,1,u,x)|0;do if(!c){c=f[u>>2]|0;if((Ci(c)|0)==100)k=Dp(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)Fi(h,c);i=dg(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){Bi(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=js(a,1)|0;f[e>>2]=0;bv(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=ps(a,0,x,w)|0;do if(!c){c=f[x>>2]|0;Ci(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)Fi(h,c);i=dg(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){Bi(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=ps(a,19,x,w)|0;if(!c){c=f[x>>2]|0;Ci(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)Fi(h,c);i=dg(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){Bi(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 Il(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=ql(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=mb[i&127](f[g+316>>2]|0,21,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,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{li(a,40505,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)hg(Qa,i);f[g>>2]=0;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-2;ag(a,c,0)}else ag(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;Ki(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))Ze((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=38544;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;Ze((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=Gg(B,40899,C)|0;if(b[(f[A>>2]|0)+81>>0]|0)break b;Ze((f[q>>2]|0)+(l*40|0)|0,g,-1,1,108)|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=Gg(B,41007,D)|0}else{k=(zt(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=Bc(B,k,0)|0}if(!g){g=0;break}$u(g|0,i|0,k|0)|0}while(0);if(b[(f[A>>2]|0)+81>>0]|0)break;Ze((f[q>>2]|0)+(l*40|0)|0,g,-1,1,108)|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=Vk(Ha,f[z+4+(i*20|0)>>2]|0)|0;Ze((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=ql(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=Gk(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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(Ak(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)hg(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]=134;f[Ha+8>>2]=135;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?mi(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]=134;f[Ha+8>>2]=135;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?mi(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(f[a>>2]|0,k,0,0)|0;g=kl(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=zk(B,k,0,0)|0;g=kl(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 rl(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=Bk(B,143,1e4,0)|0;k=kl(f[a>>2]|0,0,k)|0}else k=g;g=Jl(a,k,v,w,x,y,u,0,0)|0;i=ml(B,0,0,0)|0;f[z>>2]=i;do if(i){f[i+28>>2]=g;Rk(a,i);if(!(gl(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;ag(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{rl(A,113,m,i,0)|0;break}}else{if(!g){g=0;break}kg(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]=136;f[L>>2]=0;f[M>>2]=0;b[N>>0]=0;f[O>>2]=X;if(!k)break;mi(Ha,k)|0;if(b[N>>0]|0?(d[ya>>1]&8192)==0:0){b[g>>0]=b[g>>0]&-41;ko(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=mb[k&127](f[I+316>>2]|0,21,0,0,0,g)|0;if((g|0)==1){li(a,40490,aa);f[$>>2]=23;break}if((g|2|0)==2)break;li(a,40505,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=Fk(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{wa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[p>>2]|0;k:do if(g|0){if(f[I+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{wa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ml(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=Jc(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=hb[f[28696>>2]&127](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;bv(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{wa=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(f[z>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{wa=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-wa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=zk(I,g,0,0)|0;if(!E)jl(g,n);wa=v+36|0;X=il(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];lo(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}kg(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;li(a,47890,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;ro(Ha,f[va>>2]|0);p:do if(f[l>>2]|0){f[u>>2]=0;f[Da>>2]=a;f[o>>2]=137;f[p>>2]=125;f[q>>2]=0;f[r>>2]=0;f[s>>2]=Ha;g=f[va>>2]|0;if(g|0)mi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[g&127](f[qa+316>>2]|0,20,oa,56244,pa,f[Z>>2]|0)|0;if((g|0)==1){li(a,40490,ra);f[$>>2]=23;break}if((g|2|0)==2)break;li(a,40505,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{rl(Na,12,g,k,0)|0;break}}ma=to(c)|0;f[z>>2]=(f[z>>2]|0)+ma;if(!(d[ya>>1]&4096))uo(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 rl(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];Im(a,1,48067,ta);Il(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 rl(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=55600;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=rl(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=rl(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(!(Ak(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 rl(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];Im(a,1,48081,ua);Il(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=55600;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=rl(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=55600;f[g+4>>2]=i}b[K>>0]=0;f[L>>2]=0;if(b[Aa>>0]|0)break r;ma=to(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(Ak(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=Gk(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=Bc(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;bv(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=Xk(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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{ua=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{ua=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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=55600;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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{ua=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ua;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=ql(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{rl(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=Bc(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;bv(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=Xk(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{Ga=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{rl(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)==33002|(i|0)==33012){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{rl(g,111,i,l,0)|0;break}}if(!((i|0)==33024|(i|0)==33029))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{rl(g,111,i,l,0)|0;break}}while(0);w=f[w+24>>2]|0}while((w|0)!=0)}i=c+6|0;D=qn(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;og(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){mo(a,c,-1,Ma,Ia,e,f[D+32>>2]|0,f[D+36>>2]|0);rn(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{Ga=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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);vo(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)==33029|((Ga|0)==33024|((Ga|0)==33002|(Ga|0)==33012))){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=ql(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 rl(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=Bc(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;bv(m+24|0,0,o+-4|0)|0;if((q|0)<=0){l=0;break}i=r+4|0;k=0;while(1){g=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Ha=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(C,16,g,0,g)|0;Ao(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=rl(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=55600;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=Bc(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;bv(o+24|0,0,r+-4|0)|0;if((u|0)<=0){i=0;break}i=w+4|0;k=0;while(1){g=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{Ha=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(C,16,g,0,g)|0;break}}else k=0;while(0);Ao(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=55600;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 rl(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 rl(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 rl(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 rl(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 rl(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=55600;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);yo(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{rl(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 rl(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]=56244}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 rl(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 rl(C,122,g,A,B)|0;rn(D);Ao(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 rl(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 rl(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{rl(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=ql(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ga=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ga=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;wo(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=rl(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 rl(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 rl(K,111,A,i,0)|0;x=xo(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 rl(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 rl(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 rl(K,36,i,r,0)|0;do if(H){i=f[D>>2]|0;yo(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 rl(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{rl(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=Bc(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;bv(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=Xk(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 rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{La=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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{rl(K,78,F,u,g)|0;g=k;break}}else g=0;while(0);zo(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=55600;f[g+8>>2]=i}while(0);if(!H)yo(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 rl(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 rl(K,5,A,w,0)|0;zo(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 rl(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 rl(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=55600;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 rl(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;mo(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 rl(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(Ak(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=Jc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);g=0;break}else{xa=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-xa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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]=138;f[n>>2]=139;f[o>>2]=69;f[p>>2]=0;f[q>>2]=Da;if(i){mi(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]=138;f[o>>2]=139;f[p>>2]=69;f[q>>2]=0;f[r>>2]=Da;if(i){mi(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]=138;f[Ha+8>>2]=139;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;mi(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]=140;f[Ha+24>>2]=c;g=f[u>>2]|0;if(g|0)mi(Ha,g)|0;G=f[va>>2]|0;f[Ha+4>>2]=138;f[Ha+8>>2]=139;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;mi(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=31979;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=31983;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=Gk(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]=138;f[s>>2]=139;f[u>>2]=69;f[v>>2]=0;f[w>>2]=Da;if(k){mi(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=Bc(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;bv(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=Xk(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);p=0;break}else{p=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ha=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Ha=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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 rl(Na,12,L,B,0)|0;y=qn(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=48105;else i=(f[Ga>>2]&1|0)==0?48096:48105;f[Fa>>2]=i;Im(a,0,48114,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=vl(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{rl(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)){ym(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 rl(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 rl(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);rn(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 rl(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 rl(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;og(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{rl(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{rl(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=vl(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{rl(m,78,i,o,0)|0;break Z}}else m=vl(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{rl(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](F);break}else{La=hb[f[28696>>2]&127](F)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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 rl(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 rl(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 rl(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 rl(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 rl(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=55600;f[i+8>>2]=k;Fo(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 rl(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{rl(Na,3,i,u,0)|0;break}}else{rn(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;og(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 rl(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 rl(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 rl(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 rl(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 rl(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 rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;xm(a,X,i,16);mo(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 rl(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];Go(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 rl(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{rl(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=aj(f[q>>2]|0,0,q,Ha,0,542)|0;if(k|0){li(m,42209,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[13886]|0)>>>0<=i>>>0)if((f[13887]|0)>>>0>i>>>0){f[14052]=(f[14052]|0)+-1;f[k>>2]=f[13889];f[13889]=k;Ha=(f[13890]|0)+1|0;f[13890]=Ha;f[13891]=(Ha|0)<(f[13885]|0)&1;break}else{i=hb[f[28696>>2]&127](k)|0;La=1901;break}else{i=hb[f[28696>>2]&127](k)|0;La=1901}while(0);do if((La|0)==1901){f[14053]=(f[14053]|0)-i;if(!(f[7160]|0)){nb[f[28688>>2]&127](k);break}else{Ha=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);Ha=gh(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);lm(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=mm(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=rl(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{sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{Ha=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-Ha;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(Na,117,v,0,0)|0;if((b[a+195>>0]|0)!=2)break;do if(o){i=f[w>>2]|0;l=56244;k=56244}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=56244;k=56244;break}}else i=f[w>>2]|0;l=48137;k=f[p>>2]|0}while(0);f[Ea>>2]=i;f[Ea+4>>2]=l;f[Ea+8>>2]=k;Im(a,0,48160,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{rl(Na,70,0,l,0)|0;break}}else l=0;while(0);Go(a,Pa);m=qn(a,wa,G,g,0,x,0)|0;if(!m)break T;Fo(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{rl(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{rl(Na,11,0,i,0)|0;break}}while(0);rn(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;xm(a,X,U,16);mo(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]=48096;Im(a,0,48114,Ja)}do if(f[Ma>>2]|0){q=Ma+4|0;f[Ka>>2]=(f[q>>2]|0)>0?48178:47936;Im(a,0,48114,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=Jc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{La=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-La;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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 rl(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=rl(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{rl(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=rl(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 rl(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=55600;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=rl(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{rl(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{rl(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 rl(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 rl(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 rl(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=rl(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);sl(G,l,n,D)}else{if((D|0)==-12)break;og(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=rl(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{rl(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{rl(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{rl(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{rl(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{rl(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}hg(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=ql(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 rl(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?56244:47987;Im(a,0,47989,ia);i=i&65535;if(!m){mo(a,g,-1,0,0,Ha,1,1);i=0;g=0;La=705;break}while(1){mo(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=oo(a,c,e)|0;break ja}if(!(f[r+52>>2]|0)){Im(a,1,48012,ga);Im(a,1,48027,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=Il(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=rl(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{rl(z,153,i,k,m)|0;u=g;break}}else u=0;while(0);Im(a,1,39940,ka);g=Il(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[22944+(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[22944+(l-n)>>0]|0)+l&65535;break}}while(0);d[s>>1]=i;i=f[ma>>2]|0;do if(i|0){Qa=(yk(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=Zu(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=Yu(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=Yu(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[7920+((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=Zu(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=Yu(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=Yu(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[7920+((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=55600;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=rl(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=Il(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[ja>>2]=g;Im(a,1,48046,ja);g=Il(a,c,Da)|0;i=f[Y>>2]|0;if(i|0)hg(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[22944+(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[22944+(l-n)>>0]|0)+l&65535;break}}while(0);d[o>>1]=i}i=f[p>>2]|0;if(i|0)gg(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(z,36,w,r,0)|0;l=f[n>>2]|0;mo(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 rl(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{rl(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=rl(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=Il(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=rl(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=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[la>>2]=g;Im(a,1,48046,la);g=Il(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)gg(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{Qa=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;po(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 rl(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=rl(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=rl(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);mo(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 rl(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 rl(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 rl(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=55600;i=f[i+8>>2]|0}f[l>>2]=i}else{no(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=Bc(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;bv(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=qo(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;sl(z,i+(l*20|0)|0,u,-9)}else{f[13902]=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;sl(z,l+(k*20|0)|0,u,-9)}else{f[13902]=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{sl(z,i+(l*20|0)|0,u,-9);break}}else{f[13902]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{Qa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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{sl(z,i+(l*20|0)|0,u,-9);break}}else{f[13902]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);break}else{Qa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Qa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);i=m;La=705;break}else{i=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);i=m;La=705;break}}else{i=m;La=705}}else La=342;while(0);if((La|0)==342){i=g?47930:47936;switch(b[c+4>>0]|0){case 124:{g=39940;break}case 126:{g=39930;break}case 125:{g=39923;break}default:g=39917}f[ea>>2]=i;f[ea+4>>2]=g;li(a,47945,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{kg(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=55600;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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=55600;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0} -function wh(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=ib[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=xh(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=kb[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=fh(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=Ou(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=Ru(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=Nu(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=Ou(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=Ru(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=ib[f[j+24>>2]&255](i,I)|0;k=((o|0)<0)<<31>>31;l=Tu(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=jb[f[(f[d>>2]|0)+16>>2]&127](d,l,m)|0;K=24}else{j=Nu(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;bv(j|0,0,o|0)|0;i=f[s>>2]|0;K=Ou(l|0,m|0,o|0,k|0)|0;d=ba()|0;d=lb[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)hh(a);h=eh(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=gh(a,B,-1)|0;d=a+12|0;b[a+18>>0]=b[d>>0]|0;if(!g){s=f[C>>2]|0;g=xh(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=jb[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=ib[f[(f[E>>2]|0)+20>>2]&255](E,F&255)|0,G|0):0){g=G;break}}g=qh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;if(!e){e=7;break}else q=e}else{e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){H=f[14051]|0;G=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){e=7;break}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0){f[14060]=e;q=g}else q=g}bv(q|0,0,k|0)|0;o=q+(f[j>>2]|0)|0;p=r+24|0;e=lb[f[p>>2]&127](r,s,q,16385,0)|0;e:do if(!e){e=ib[f[(f[q>>2]|0)+24>>2]&255](q,I)|0;if(!e){n=(f[r+8>>2]|0)+1|0;H=I;H=Nu(f[H>>2]|0,f[H+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;G=ba()|0;e=Nu(H|0,G|0,1,0)|0;ba()|0;if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){do if(!(f[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){e=7;break e}else g=e}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){H=f[14051]|0;G=Ou(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=hb[f[28684>>2]&127](i)|0;if(!g){e=7;break e}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=e}while(0);e=f[I>>2]|0;m=g+(e+1)|0;e=lb[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=kb[f[l>>2]&127](r,j,0,J)|0;if(e|0)break;do if(f[J>>2]|0){e=lb[f[p>>2]&127](r,j,o,2049,0)|0;if(e|0)break g;e=xh(o,m,n)|0;i=f[o>>2]|0;if(i|0){hb[f[i+4>>2]&127](o)|0;f[o>>2]=0}if(e|0)break g;if(!(b[m>>0]|0))break;if(!(wt(m,s)|0)){e=0;break g}}while(0);j=j+(((zt(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){hb[f[e+4>>2]&127](q)|0;f[q>>2]=0}e=jb[f[r+28>>2]&127](r,s,0)|0}if(!g)break}if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{J=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else e=7}}while(0);g=f[q>>2]|0;if(g|0){hb[f[g+4>>2]&127](q)|0;f[q>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](q);break}else{J=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-J;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;yc(539,33294,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((hb[f[(f[L>>2]|0)+48>>2]&127](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=hb[e&127](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 xh(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=ib[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=Nu(e|0,g|0,-16,-1)|0;e=ba()|0;e=lb[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=Nu(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=Nu(e|0,g|0,-12,-1)|0;e=ba()|0;e=lb[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=Nu(f[q>>2]|0,f[q+4>>2]|0,-8,-1)|0;g=ba()|0;g=lb[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(Kt(o,33286,8)|0){q=0;t=p;return q|0}q=n;g=f[q>>2]|0;q=f[q+4>>2]|0;o=Ou(-16,-1,m|0,0)|0;q=Nu(o|0,ba()|0,g|0,q|0)|0;g=ba()|0;g=lb[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 yh(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=ph(a,e,j,o)|0;if(!i){n=b[j>>0]|0;c:do switch(n<<24>>24){case 1:{f[k>>2]=33143;f[k+4>>2]=66624;f[k+8>>2]=31184;yc(11,31132,k);i=11;break b}case 2:{if(!g){i=Jh(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)){$g(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=kb[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=Jh(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)){$g(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=Jh(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)){$g(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)){$g(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=Kh(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)){$g(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 zh(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[7225]|0;if(g|0?hb[g&127](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=Tu(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=Ru(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=Tu(j|0,0,100,0)|0;j=ba()|0}if(g|0?(p=Ru(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=kb[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=Lg(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=Mg(j)|0;B=53;break}else{g=Ng(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)){$g(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=Nu(g|0,k|0,-1,-1)|0;k=ba()|0;g=f[a+148>>2]|0;k=Ru(o|0,k|0,g|0,0)|0;k=Nu(k|0,ba()|0,1,0)|0;g=Tu(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=lb[f[(f[q>>2]|0)+12>>2]&127](q,A,4,l,k)|0;do if(!g){g=f[s>>2]|0;k=Nu(l|0,k|0,4,0)|0;l=ba()|0;g=lb[f[(f[g>>2]|0)+12>>2]&127](g,c,j,k,l)|0;if(!g){g=f[s>>2]|0;k=Nu(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=lb[f[(f[g>>2]|0)+12>>2]&127](g,A,4,k,l)|0;if(!g){E=f[s>>2]|0;q=Nu(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=lb[f[(f[E>>2]|0)+12>>2]&127](E,A,4,q,g)|0;if(!g){q=f[s>>2]|0;E=Nu(k|0,l|0,8,0)|0;g=ba()|0;g=lb[f[(f[q>>2]|0)+12>>2]&127](q,33286,8,E,g)|0;if(!g){q=p;q=Nu(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=ib[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=jb[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=Bh(a,0)|0;if(g|0){E=g;t=D;return E|0}g=a+212|0;i=Ch(a,dh(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)pb[f[28784>>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=ib[f[v+24>>2]&255](u,A)|0;j=((x|0)<0)<<31>>31;k=Tu(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=jb[f[(f[w>>2]|0)+16>>2]&127](w,k,l)|0;B=107}else{E=Nu(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;bv(E|0,0,x|0)|0;A=f[z>>2]|0;B=Ou(k|0,l|0,x|0,j|0)|0;w=ba()|0;w=lb[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=jb[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=ib[f[(f[g>>2]|0)+20>>2]&255](g,i&255)|0}else{f[A>>2]=0;j=a+212|0;g=dh(f[j>>2]|0)|0;if(!g){g=kb[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=Ah(a,g,f[a+24>>2]|0,1)|0;i=f[A>>2]|0;if(i)if(!(d[i+28>>1]&32)){$g(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)pb[f[28784>>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 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,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(!(Kt(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{xd(4,ra);k=xa+43|0;b:do if(!(b[k>>0]|0)){c=f[xa+4>>2]|0;c=kb[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;nb[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;kb[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;kb[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=Dh(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)xd(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=lb[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=ib[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=Tu(l|0,0,W|0,X|0)|0;i=Nu(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;lh(xa,f[p+24>>2]|0,ra)|0;k=f[ra>>2]|0;if(k>>>0>>0){$=47;break}c=Tu(k+-1|0,0,W|0,X|0)|0;c=Nu(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=lb[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;Eh(xa,f[p+24>>2]|0,M,m,ra);if(!(o>>>0<4294967295|(o|0)==-1&n>>>0<4294967272)){l=0-n|0;c=lb[f[(f[r>>2]|0)+12>>2]&127](r,ra,l,n,o)|0;if(c|0){F=c;$=63;break}c=Nu(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=ib[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=lb[f[(f[r>>2]|0)+12>>2]&127](r,K,I,N,O)|0}if(G|0){F=G;$=63;break}c=Nu(n|0,o|0,24,0)|0;i=ba()|0;Nu(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=lb[f[(f[r>>2]|0)+12>>2]&127](r,m,l,c,i)|0;if(j|0){F=j;$=63;break}c=Nu(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=ib[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=lb[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=Nu(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=Dd(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=Tu(p+-2|0,0,m|0,n|0)|0;p=Nu(p|0,ba()|0,48,0)|0;c=ba()|0;q=f[Y>>2]|0;c=lb[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=Tu(j+-1|0,0,m|0,n|0)|0;i=Nu(i|0,ba()|0,32,0)|0;k=ba()|0;c=f[Y>>2]|0;c=lb[f[(f[c>>2]|0)+8>>2]&127](c,w,m,i,k)|0;if(c|0)break f;Eh(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=lb[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[7160]|0))nb[f[28688>>2]&127](w);else{T=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=hb[i&127](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=Nu(Z|0,_|0,-1,-1)|0;z=Nu(z|0,ba()|0,c|0,i|0)|0;w=ba()|0;v=Uu(z|0,w|0,c|0,i|0)|0;v=Ou(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;Eh(xa,f[u>>2]|0,e,p,ra);n=Nu(r|0,q|0,24,0)|0;o=ba()|0;if(!((w|0)>(o|0)|(w|0)==(o|0)&v>>>0>n>>>0)){m=Ou(v|0,w|0,r|0,q|0)|0;ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,ra,m,r,q)|0;if(c|0){ca=c;break}c=Nu(r|0,q|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=24-m|0;l=ib[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=lb[f[(f[x>>2]|0)+12>>2]&127](x,ia,ga,ja,ka)|0}if(da|0){ca=da;break}_=Nu(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=Ou(v|0,w|0,n|0,o|0)|0;ba()|0;c=lb[f[(f[x>>2]|0)+12>>2]&127](x,p,m,n,o)|0;if(c|0){ca=c;break}c=Nu(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-m|0;l=ib[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=lb[f[(f[x>>2]|0)+12>>2]&127](x,ha,fa,la,ma)|0}if(aa|0){ea=aa;$=127;break}r=Nu(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=ib[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=Tu(k+na|0,0,W|0,X|0)|0;l=Nu(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=ib[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=jb[f[(f[c>>2]|0)+16>>2]&127](c,l,j)|0}if(c|0){f[ta>>2]=f[xa+108>>2];yc(c,33321,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=Fh(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=Fh(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;nb[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)ih(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 Bh(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=ib[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(!(hb[f[i>>2]&127](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=hb[f[(f[i>>2]|0)+48>>2]&127](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=Nu(e|0,g|0,-1,-1)|0;h=ba()|0;g=f[a+148>>2]|0;h=Ru(e|0,h|0,g|0,0)|0;h=Nu(h|0,ba()|0,1,0)|0;g=Tu(h|0,ba()|0,g|0,0)|0;h=ba()|0}e=f[j>>2]|0;e=lb[f[(f[e>>2]|0)+8>>2]&127](e,l,8,g,h)|0;if(!e)if(!(Kt(l,33286,8)|0)){e=f[j>>2]|0;e=lb[f[(f[e>>2]|0)+12>>2]&127](e,56245,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=ib[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=lb[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=ib[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=Rg(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 Ch(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=lb[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=Tu(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){jb[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=Tu(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=lb[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)ih(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 Dh(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;ib[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=Gh(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=kb[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;kb[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=kb[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;nb[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(!(Kt(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;kb[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=kb[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=lb[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=ib[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=lb[f[(f[e>>2]|0)+8>>2]&127](e,k,32,0,0)|0;if(!e)if(!(Kt(a+84|0,k+16|0,8)|0)){e=a+66|0;n=(j[e>>1]|0)+24|0;o=vd(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=Tu((j[e>>1]|0)+24|0,0,f[a+68>>2]|0,0)|0;h=Nu(h|0,ba()|0,32,0)|0;i=ba()|0;e=Nu(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=lb[f[(f[i>>2]|0)+8>>2]&127](i,o,n,g,e)|0;if(e|0)break;if(!(Hh(a,w,x,m,o)|0)){e=0;break}if(f[x>>2]|0){e=-1;break d}e=Nu(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[7160]|0)){nb[f[28688>>2]&127](o);u=34;break}else{u=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{x=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;kb[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;kb[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=kb[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=kb[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=kb[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=kb[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;kb[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=kb[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;nb[f[(f[c>>2]|0)+60>>2]&127](c)}if((f[m+4+(k<<2)>>2]|0)==(i|0)?(Kt(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;kb[f[(f[a>>2]|0)+56>>2]&127](a,g,1,5)|0;a=-1;t=B;return a|0}function Eh(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+(_u(f[g>>2]|0)|0)|0;c=(_u(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+(_u(f[e>>2]|0)|0)|0;c=(_u(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 Fh(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=ch(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)bv(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(!(ch(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;bv(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]=33143;f[u+4>>2]=59157;f[u+8>>2]=31184;yc(11,31132,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 Gh(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=ch(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=Ih(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=kb[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;kb[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=kb[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=ch(a,0,j)|0;if(!e)M=18}if((M|0)==18){g=Ih(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=kb[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=kb[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;kb[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=ib[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=lb[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=_u(f[m>>2]|0)|0;k=f[m+4>>2]|0;y=(_u(k|0)|0)+x|0;i=y+x+(_u(f[i>>2]|0)|0)|0;e=(_u(f[e>>2]|0)|0)+y+i|0;i=i+(_u(j|0)|0)+e|0;e=e+(_u(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]=31620;f[p+4>>2]=59295;f[p+8>>2]=31184;yc(14,31132,p);e=14;break a}r=l+24|0;s=((r|0)<0)<<31>>31;x=vd(r,s)|0;if(!x){e=7;break c}u=x+24|0;e=Nu(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=lb[f[(f[e>>2]|0)+8>>2]&127](e,x,r,k,l)|0;if(e|0)break;if(!(Hh(a,D,E,u,x)|0)){e=0;break}e=Fh(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=Nu(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[7160]|0))nb[f[28688>>2]&127](x);else{P=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-P;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;nb[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;yc(283,33347,H);e=0}}while(0);if((b[J>>0]|0)==0?(K=a+4|0,P=f[K>>2]|0,kb[f[(f[P>>2]|0)+56>>2]&127](P,F,G,9)|0,(b[J>>0]|0)==0):0){P=f[K>>2]|0;kb[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;kb[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]=31620;f[L+4>>2]=60273;f[L+8>>2]=31184;yc(14,31132,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[7160]|0)){nb[f[28688>>2]&127](k);break}else{P=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-P;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[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 Hh(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(Kt(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+(_u(f[g>>2]|0)|0)|0;o=(_u(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+(_u(f[j>>2]|0)|0)|0;a=(_u(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 Ih(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;nb[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(Kt(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(!(Kt(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 Jh(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]=33143;f[j+4>>2]=68756;f[j+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(k)|0;Y=190;break}else{j=Ng(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=kb[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))$g(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]=33143;f[o+4>>2]=65131;f[o+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(j)|0;break}else{k=Ng(j)|0;break}}while(0);j=f[m>>2]|0;if(!(d[j+28>>1]&32))$g(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=kb[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)){$g(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]=33143;f[r+4>>2]=65131;f[r+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(m)|0;Y=241;break}else{j=Ng(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)){$g(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=ph(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=Lg(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=Mg(k)|0;Y=18;break}else{m=Ng(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=kb[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=Lg(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=Mg(j)|0;Y=60;break}else{I=Ng(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=Lg(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=Mg(j)|0;Y=72;break}else{J=Ng(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=kb[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=Lg(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=Mg(n)|0;Y=94;break}else{K=Ng(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;$u((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))$g(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=Lg(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=Mg(j)|0;Y=112;break}else{L=Ng(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=Lg(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=Mg(w)|0;Y=134;break}else{M=Ng(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=kb[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)){$g(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]=33143;f[T+4>>2]=65131;f[T+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(n)|0;Y=170;break}else{k=Ng(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)){$g(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=Lg(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=Mg(w)|0;Y=45;break}else{k=Ng(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)){$g(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]=33143;f[S+4>>2]=68812;f[S+8>>2]=31184;yc(11,31132,S);j=l;k=11;break}case 31:{j=f[B+72>>2]|0;if(!(d[j+28>>1]&32))$g(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]=33143;f[W+4>>2]=65131;f[W+8>>2]=31184;yc(11,31132,W);j=l;k=11;break}case 35:{j=l;break}case 49:{f[P>>2]=33143;f[P+4>>2]=68841;f[P+8>>2]=31184;yc(11,31132,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]=33143;f[Q+4>>2]=68875;f[Q+8>>2]=31184;yc(11,31132,Q);k=11;j=B;Y=257;break}case 81:{j=f[o+72>>2]|0;if(!(d[j+28>>1]&32))$g(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]=33143;f[V+4>>2]=65131;f[V+8>>2]=31184;yc(11,31132,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]=33143;f[R+4>>2]=68940;f[R+8>>2]=31184;yc(11,31132,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)){$g(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)){$g(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)){$g(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 Kh(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]=33143;f[l+4>>2]=66526;f[l+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(D)|0;break}else{l=Ng(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=Lg(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=jb[f[28780>>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=ah(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;pb[f[28784>>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;qb[f[28788>>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;qb[f[28788>>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;qb[f[28788>>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)){$g(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=kb[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))$g(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;$u(J|0,q|0,500)|0;bv(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=Lh(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?(Mh(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=kb[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=Lg(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=Mg(l)|0;O=146;break}else{m=Ng(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)){$g(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]=33143;f[L+4>>2]=66454;f[L+8>>2]=31184;yc(11,31132,L);l=11;O=175;break}}else{if((b[w>>0]|0)==0?(K=Nh(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;pb[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]=33143;f[N+4>>2]=66473;f[N+8>>2]=31184;yc(11,31132,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]=33143;f[P+4>>2]=66491;f[P+8>>2]=31184;yc(11,31132,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)){$g(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}Mh(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 Lh(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=Nh(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?(pb[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;Mh(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))Mh(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;Mh(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 Mh(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]=33143;f[j+4>>2]=63923;f[j+8>>2]=31184;yc(11,31132,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=kb[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]=33143;f[l+4>>2]=63934;f[l+8>>2]=31184;yc(11,31132,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=Lg(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=Mg(l)|0;o=21;break}else{n=Ng(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)){$g(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 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,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]=126;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]=127;e=173}else{b[e>>0]=1;e=171}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]=172;d[a+14>>1]=d[n+24>>1]|0;e=n+26|0;break}default:{f[e>>2]=33143;f[e+4>>2]=64757;f[e+8>>2]=31184;yc(11,31132,e);f[g>>2]=33143;f[g+4>>2]=64798;f[g+8>>2]=31184;yc(11,31132,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]=33143;f[m+4>>2]=64817;f[m+8>>2]=31184;yc(11,31132,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+((ib[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]=33143;f[r+4>>2]=64845;f[r+8>>2]=31184;yc(11,31132,r);D=11;t=C;return D|0}else if((e|0)==17){f[s>>2]=33143;f[s+4>>2]=64850;f[s+8>>2]=31184;yc(11,31132,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]=33143;f[w+4>>2]=64868;f[w+8>>2]=31184;yc(11,31132,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]=33143;f[z+4>>2]=64883;f[z+8>>2]=31184;yc(11,31132,z);D=11;t=C;return D|0}if(e>>>0<=u>>>0)break a;f[A>>2]=33143;f[A+4>>2]=64887;f[A+8>>2]=31184;yc(11,31132,A);D=11;t=C;return D|0}while(0);f[y>>2]=33143;f[y+4>>2]=64873;f[y+8>>2]=31184;yc(11,31132,y);D=11;t=C;return D|0}while(0);if((c|0)>(u|0)){f[B>>2]=33143;f[B+4>>2]=64899;f[B+8>>2]=31184;yc(11,31132,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 Oh(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 Ph(a,b,c){a=a|0;b=b|0;c=c|0;b=((Rh(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 Qh(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){Qg(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 Rh(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 Sh(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=Ig(d,0,0)|0,e|0):0){c=e;d=0;i=4}}else i=4;if((i|0)==4)Zh(a,c,d)|0;if((b[a+8>>0]|0)!=2){th(a);t=k;return}uh(f[j>>2]|0)|0;i=f[j>>2]|0;if(!(kb[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;$g(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))qh(d,0,0)|0;break}default:uh(d)|0}vh(d)}}b[j+20>>0]=1;j=j+60|0;Sg(f[j>>2]|0);f[j>>2]=0;th(a);t=k;return}function Th(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)){Uh(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;Vh(a);if(f[b>>2]|0)return;Wh(a);return}function Uh(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){ig(0,f[l+28>>2]|0);e=f[l>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[l+4>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{i=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[l+12>>2]|0;if(e|0)gg(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);j=f[j>>2]|0}while((j|0)!=0)}do if(m|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{p=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}while(0);if(!k)do{e=c;c=f[c>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](e);else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)fg(0,g);c=f[c>>2]|0}while((c|0)!=0)}do if(o|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](o);break}else{p=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](o);break}while(0);if(!e)do{c=b;b=f[b>>2]|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{p=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](c);else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Vh(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;Yh(e)}while((c|0)!=0);return}function Wh(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)){Xh(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];Xh(a,c);f[b>>2]=d;return}function Xh(a,b){a=a|0;b=b|0;var c=0;if(!b)return;if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](b);return}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);return}}function Yh(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)hb[f[(f[c>>2]|0)+16>>2]&127](c)|0;if(b|0){if(f[b+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);return}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function Zh(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[7160]|0)){nb[f[28688>>2]&127](h);m=94;break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);m=94;break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;mh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){k=7;break a}}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;h=55352;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){o=f[14051]|0;h=Ou(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=o>>>0)&1}e=hb[f[28684>>2]&127](i)|0;if(!e){k=7;break a}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}h=nh(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)){$g(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))$g(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;mh(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=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](e)|0;if(!e){k=7;break a}}else{i=hb[f[28700>>2]&127](e)|0;if((f[14058]|0)>>>0>>0)f[14058]=e;h=55352;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){p=f[14051]|0;o=Ou(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&o>>>0<=p>>>0)&1}e=hb[f[28684>>2]&127](i)|0;if(!e){k=7;break a}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h}h=nh(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)){$g(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))$g(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)){$g(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))$g(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[7160]|0)){nb[f[28688>>2]&127](e);k=h;break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);k=h;break}else if((m|0)==53)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);k=h;break}else{k=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](h);break}else{p=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)){$g(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))$g(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 _h(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[g+(j*56|0)+36>>2]|0;do if(e|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}while(0);e=f[g+(j*56|0)+48>>2]|0;do if(e|0){ei(f[e+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{p=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](l);break}else{p=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{g=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](g);else{q=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){hb[f[g+4>>2]&127](e)|0;f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](e);break}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);f[d>>2]=0;return}else{q=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);f[d>>2]=0;return}}function $h(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))ai(d)}while((c|0)!=0);Sh(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[13899]|0;if((c|0)==(i|0)){f[13899]=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){bi(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){nb[d&127](e);h=18}}else h=18;do if((h|0)==18?(g=f[c>>2]|0,g|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[13886]|0)>>>0<=c>>>0)if((f[13887]|0)>>>0>c>>>0){f[14052]=(f[14052]|0)+-1;f[d>>2]=f[13889];f[13889]=d;g=(f[13890]|0)+1|0;f[13890]=g;f[13891]=(g|0)<(f[13885]|0)&1;break}else{c=hb[f[28696>>2]&127](d)|0;h=28;break}else{c=hb[f[28696>>2]&127](d)|0;h=28}while(0);do if((h|0)==28){f[14053]=(f[14053]|0)-c;if(!(f[7160]|0)){nb[f[28688>>2]&127](d);break}else{h=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);break}}while(0);f[e>>2]=0}if(!(f[7160]|0)){nb[f[28688>>2]&127](i);break}else{h=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-h;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](a);return}else{i=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function ai(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)){$g(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))$g(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,$g(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))qh(l,0,0)|0;break}default:uh(l)|0}vh(l)}c=f[a+12>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);c=f[a+16>>2]|0;if(!c)return;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);return}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);return}}function bi(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[7160]|0))nb[f[28688>>2]&127](e);else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=jb[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;ci(f[k>>2]|0,c,h[a+11>>0]|0,f[a+152>>2]|0,d)|0;f[k>>2]=0;hh(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=ib[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=ib[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?73:74}while(0);switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l>>0]|0))qh(a,0,0)|0;break}default:uh(a)|0}vh(a)}else vh(a);d=f[a+64>>2]|0;e=f[d>>2]|0;if(e|0){hb[f[e+4>>2]&127](d)|0;f[d>>2]=0}d=f[a+60>>2]|0;e=f[d>>2]|0;if(e|0){hb[f[e+4>>2]&127](d)|0;f[d>>2]=0}b:do if(n|0){d=n;do if((f[13886]|0)>>>0<=d>>>0)if((f[13887]|0)>>>0>d>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;n=(f[13890]|0)+1|0;f[13890]=n;f[13891]=(n|0)<(f[13885]|0)&1;break b}else{d=hb[f[28696>>2]&127](n)|0;break}else d=hb[f[28696>>2]&127](n)|0;while(0);f[14053]=(f[14053]|0)-d;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{m=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);nb[f[28796>>2]&127](f[(f[a+212>>2]|0)+44>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);t=o;return}else{n=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);t=o;return}}function ci(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=ib[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=di(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?(jb[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=ib[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=jb[f[(f[h>>2]|0)+16>>2]&127](h,0,0)|0}if(h|0){f[l>>2]=f[a+108>>2];yc(h,33321,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[7160]|0)){nb[f[28688>>2]&127](e);break}else{l=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;ib[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){hb[f[d+4>>2]&127](c)|0;f[c>>2]=0}if(h|0){m=f[a>>2]|0;jb[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[7160]|0)){nb[f[28688>>2]&127](h);break}else{m=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](h);break}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);a=j;t=n;return a|0}else{m=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);a=j;t=n;return a|0}return 0}function di(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=kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;if((q|0)!=5){fa=12;break b}if(!(hb[g&127](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=Gh(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]=33143;f[r+4>>2]=61695;f[r+8>>2]=31184;yc(11,31132,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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;if((q|0)!=5)break f;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0;if((q|0)!=5)break h;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0;if((q|0)!=5)break j;if(!(hb[g&127](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;kb[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=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0;if((q|0)!=5)break l;if(!(hb[g&127](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;kb[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=vd(p,((p|0)<0)<<31>>31)|0;if(!W){q=7;break c}bv(W|0,0,p|0)|0;R=W+4|0;f[R>>2]=Q+1;N=vd((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=ch(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;$u(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;$u(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[7160]|0)){nb[f[28688>>2]&127](N);break}else{V=hb[f[28696>>2]&127](N)|0;f[14051]=(f[14051]|0)-V;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](N);break}while(0);if(q|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](W);p=0;l=0;fa=129;break}else{p=hb[f[28696>>2]&127](W)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=kb[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=kb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,10)|0;if((p|0)!=5){X=p;fa=95;break o}if(!(hb[g&127](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=ib[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=Tu($|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=ib[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;jb[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=Tu(s+-1|0,0,E|0,0)|0;Z=Nu(Z|0,ba()|0,56,0)|0;q=ba()|0;Y=f[F>>2]|0;q=lb[f[(f[Y>>2]|0)+8>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;Z=Tu(r+-1|0,0,aa|0,0)|0;q=ba()|0;Y=f[ca>>2]|0;q=lb[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=Tu(f[_>>2]|0,0,aa|0,0)|0;q=ba()|0;m=f[ca>>2]|0;q=jb[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=ib[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;kb[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){xd(4,ga);u=a+4|0;s:do if(!g)if(!(b[la>>0]|0)){q=f[u>>2]|0;q=kb[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=kb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;if((q|0)!=5){fa=141;break s}if(!(hb[g&127](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;nb[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=jb[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;kb[f[(f[ga>>2]|0)+56>>2]&127](ga,4,4,9)|0}}}else q=0;else q=5;if(p)if(!(f[7160]|0)){nb[f[28688>>2]&127](v);break}else{ga=hb[f[28696>>2]&127](v)|0;f[14051]=(f[14051]|0)-ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;kb[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;kb[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 ei(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{fi((f[c>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[a>>2]|0))}if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{c=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function fi(a){a=a|0;var b=0,c=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](b);break}else{c=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);break}while(0);gi(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 gi(a){a=a|0;var b=0;if(!a)return;ei(f[a+4>>2]|0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}}function hi(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($k(a,34444)|0){h=0;a=18;break}if(!(_k(c,f[(f[d>>2]|0)+16>>2]|0)|0))a=39516;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=Qj((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(($k(c,f[e+(d<<4)>>2]|0)|0)==0?(i=Qj((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($k(b,34444)|0){h=0;a=18;break}if(!(_k(c,f[g>>2]|0)|0))b=39516;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 ii(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=55580;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=55580;break}}}while(0);e=f[e+8>>2]|0;if(!e){f[n>>2]=m;li(a,35406,n);f[p>>2]=(f[p>>2]|0)+-1;x=1;t=w;return x|0}f[o>>2]=0;g=qi(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;li(a,31564,r);f[a+12>>2]=g}do if(e|0){if(v|0){if(f[v+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{x=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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];li(a,40938,s);x=1;t=w;return x|0}i=Fk(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;Rk(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=Sk(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{Tk(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)Uk(a,c,i);if(!e)e=0;else u=50}while(0);do if((u|0)==50){if(f[v+480>>2]|0){fg(v,e);e=0;break}u=e+32|0;x=(f[u>>2]|0)+-1|0;f[u>>2]=x;if(!x){fg(v,e);e=0}else e=0}while(0);kg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{x=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=f[e+4>>2]|0;if(g|0)gg(v,g);g=f[e+8>>2]|0;do if(g|0){if(f[j>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{x=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{x=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}}while(0);f[n>>2]=0;d[p>>1]=0;x=o;t=w;return x|0} -function Pm(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=Gc(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=Gc(c,1)|0;else c=0}else c=0;while(0);B=(i|0)==0?56244:i;y=(c|0)==0?56244: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=Gg(H,45699,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=Bc(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=Bc(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=Jc(H,l,i,0)|0;break}c=Jc(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(Qm(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=aj(f[v>>2]|0,g,H,i,0,c)|0;do if(g|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](g);break}else{v=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gg(H,45729,w)|0;f[G>>2]=e;e=1;break}case 0:{c=Rm(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=Gg(H,39609,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=(zt(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=Bc(H,i,0)|0;D=100}if((D|0)==100)if(!c)c=0;else $u(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=oi(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=oi(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){$h(i);C=f[z>>2]|0;f[C+(g<<4)+4>>2]=0;f[C+(g<<4)+12>>2]=0}Th(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=Gg(H,45758,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{E=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-E;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=Gg(H,35544,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;Ze(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=I;return}if(!(f[7160]|0)){nb[f[28688>>2]&127](c);t=I;return}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);t=I;return}}else{f[k>>2]=c;g=Gg(H,45662,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;Ze(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{H=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-H;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=35490;break}case 100:{c=35468;break}case 101:{c=35445;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7968+(c<<2)>>2]|0;else c=35431}}Ze(g,c,-1,1,0)|0;t=I;return}function Qm(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=(zt(c)|0)&1073741823;if(i>>>0>4&(f[7163]|j&64|0)!=0?(Kt(c,45786,5)|0)==0:0){j=j|64;k=0;l=i+2|0;m=0;do{l=Nu(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=vd(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(!(Kt(45792,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=ud(45802,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+(((zt(k)|0)&1073741823)+1)|0;if(b[i>>0]|0){r=a;a=i;h:while(1){i:do if(!a){i=1;l=(zt(1)|0)&1073741823;v=71}else{c=zt(a)|0;i=a+((c&1073741823)+1)|0;l=(zt(i)|0)&1073741823;switch(c&1073741823|0){case 3:if(!(Kt(45830,a,3)|0)){m=i;break i}else{v=71;break i}case 5:{if(!(Kt(45834,a,5)|0)){o=393216;p=-393217;q=45834;n=22672}else{v=71;break i}break}case 4:{if(!(Kt(45840,a,4)|0)){o=j&135;p=-136;q=31365;n=22704}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)==((zt(a)|0)&1073741823|0)?(Kt(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=ud(45845,s)|0;v=86;break}else if((v|0)==69){f[u>>2]=q;f[u+4>>2]=i;l=k;i=3;k=ud(45865,u)|0;v=86;break}}else v=77}else v=73}else{i=0;v=73}while(0);if((v|0)==73){k=vd(i+2|0,0)|0;if(!k){g=7;t=x;return g|0}if(i|0)$u(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(!(Kc()|0)){i=f[13866]|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(!(wt(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=ud(45889,w)|0;v=86}while(0);do if((v|0)==86){f[h>>2]=k;if(l)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);k=0;break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Rm(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[7160]|0)){c=hb[f[28684>>2]&127](84)|0;if(!c)g=26;else g=27}else{c=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){g=f[14051]|0;e=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&e>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0){f[14060]=d;g=27}else g=27}else g=26}if((g|0)==26){f[h>>2]=0;f[i+52>>2]=99;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]=99;g=33;break}}else g=33}else{if(!(f[7160]|0)){c=hb[f[28684>>2]&127](84)|0;if(!c)break}else{c=hb[f[28700>>2]&127](84)|0;if((f[14058]|0)>>>0<84)f[14058]=84;e=55352;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[14051]|0;h=Ou(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}d=hb[f[28684>>2]&127](c)|0;if(!d)break;c=hb[f[28696>>2]&127](d)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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 Sm(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 Tm(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=33138;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 Um(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=bn(a)|0;c=hf(a,c,i,1)|0;return c|0}switch(b[a+1>>0]|0){case 88:case 120:break;default:{i=bn(a)|0;c=hf(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=Zu(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 Vm(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;Lm(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;an(a,70,k,e+c|0)|0;break}default:{h=7;break a}}e=e+1|0}if((h|0)==7){t=i;return}an(a,81,c,e)|0;t=i;return}function Wm(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=Bc(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?33704: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;li(a,46761,A)}k=f[a>>2]|0;if(!x){D=1;t=C;return D|0}if(k|0){if(f[k+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](x);D=1;t=C;return D|0}else{D=hb[f[28696>>2]&127](x)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](x);D=1;t=C;return D|0}return 0}function Xm(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)?((zt(c)|0)&1073741568|0)==0:0){q=e&2048;switch(e&7){case 4:{o=2;break}case 5:{o=Xm(a,c,d,q|1,g,i,j,k,l,m,n)|0;if(o|0){m=o;t=s;return m|0}o=Xm(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=Pk(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){tg(a,5,46698,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=Pk(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){nb[f[p+4>>2]&127](f[p+8>>2]|0);if(a|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{u=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=31157;f[o+4>>2]=154438;f[o+8>>2]=31184;yc(21,31132,o);u=21;t=s;return u|0}function Ym(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=ql(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}tl(a,o,m,c,e)}else q=18;while(0);if((q|0)==18)lm(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 rl(y,e,n,p,m)|0;n=f[z>>2]|0;i=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{g=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-g;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)>(d|0))return 0;$m(b,c,0,0,0)|0;return 0}function _m(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;ib[f[c+60>>2]&255](c,1e6)|0;c=1;return c|0}function $m(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=33138;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;tg(a,1,46677,o);i=1}else p=23}else{i=10;p=23}do if((p|0)==23){f[a+404>>2]=0;i=Cj(a,i,d,e,g)|0;f[a+64>>2]=i;if(i|0){zg(a,i);break}if(!(f[a+256>>2]|0))i=0;else{zg(a,0);i=0}}while(0);if((i|0)==3082|(b[a+81>>0]|0)!=0){Bi(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 an(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=rl(a,c,e,g,0)|0;return i|0}return 0}function bn(a){a=a|0;if(!a){a=0;return a|0}a=(zt(a)|0)&1073741823;return a|0}function cn(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;rm(e)|0;return}function dn(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];li(a,47649,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];li(a,47678,j);k=1;t=l;return k|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,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?Ak(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=(Ak(0,f[c+36>>2]|0,f[a+36>>2]|0,-1)|0)==0&1;return u|0}function fn(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=Bc(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 gn(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 rl(p,55,g,h,m)|0;tl(a,0,f[k>>2]|0,f[(f[j+(l<<4)+12>>2]|0)+72>>2]|0,110);e=ul(p,5,23008)|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 hn(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[7160]|0)){g=hb[f[28684>>2]&127](g)|0;if(!g)break;else j=g}else{i=hb[f[28700>>2]&127](g)|0;if((f[14058]|0)>>>0>>0)f[14058]=g;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[14051]|0;h=Ou(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}h=hb[f[28684>>2]&127](i)|0;if(!h)break;g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=(zt(j)|0)&1073741823;if(!c)return;if(!e){g=f[a>>2]|0;if(!(b[g+81>>0]|0)){sl(a,(f[a+88>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0,j,c);return}else{og(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=rl(a,91,e,c,0)|0;h=f[a>>2]|0;if(b[h+81>>0]|0){og(h,c,j);return}if((g|0)<0)g=(f[i>>2]|0)+-1|0;sl(a,(f[a+88>>2]|0)+(g*20|0)|0,j,c);return}function jn(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[7160]|0)){i=hb[f[28684>>2]&127](24)|0;P=24;break}i=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){_=f[14051]|0;U=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;T=ba()|0;f[13840]=((T|0)<0|(T|0)==0&U>>>0<=_>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){aa=0;t=ca;return aa|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){i=hb[f[28684>>2]&127](28)|0;P=48;break}i=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[14051]|0;T=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[13840]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(k){i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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[7160]|0)){i=hb[f[28684>>2]&127](272)|0;P=73;break}i=hb[f[28700>>2]&127](272)|0;if((f[14058]|0)>>>0<272)f[14058]=272;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[14051]|0;T=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;O=ba()|0;f[13840]=((O|0)<0|(O|0)==0&T>>>0<=U>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k){aa=0;t=ca;return aa|0}i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;bv(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=ql(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{Z=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-Z;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)hg(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=Gg(aa,47635,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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{M=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}}while(0);i=f[c+12>>2]|0;do if(!i)i=0;else{r=zk(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]=123;f[W+8>>2]=124;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)){mi(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;li(U,33384,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=Jc(n,i,m,0)|0;if(!k){if(f[n+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);i=0;break}else{M=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-M;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;xm(U,r,i,16)}else i=0;if(q)break}gg(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=Gg(K,35425,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=rl(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){sl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}}while(0);switch(b[k>>0]|0){case 118:{p=f[U>>2]|0;q=ml(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;g:do if(!n)l=0;else{o=(zt(n)|0)+1|0;h:do if(!p){u=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=189;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){u=f[14051]|0;g=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;s=ba()|0;f[13840]=((s|0)<0|(s|0)==0&g>>>0<=u>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break g}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=189}while(0);if((P|0)==189){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}e=Gk(K,f[k+20>>2]|0,0)|0;l=f[k+16>>2]|0;if(!l)l=0;else l=zk(K,l,0,0)|0;Ml(U,q,e,l,h[M>>0]|0,0);break}case 116:{p=f[U>>2]|0;u=ml(p,0,0,0)|0;if(u|0){n=f[k+12>>2]|0;k:do if(!n)l=0;else{o=(zt(n)|0)+1|0;l:do if(!p){g=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=239;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){g=f[14051]|0;s=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;r=ba()|0;f[13840]=((r|0)<0|(r|0)==0&s>>>0<=g>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break k}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=239}while(0);if((P|0)==239){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(l|0,m|0,n|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+4>>2]=l}}r=Fk(K,f[k+8>>2]|0,0)|0;s=Jk(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=Gk(K,f[e>>2]|0,0)|0;l=f[e+4>>2]|0;if(!l)p=0;else p=zk(K,l,0,0)|0;o=Gk(K,f[e+8>>2]|0,0)|0;l=f[e+12>>2]|0;if(!l)n=0;else n=zk(K,l,0,0)|0;o:do if(A){if(!(f[7160]|0)){V=hb[f[28684>>2]&127](36)|0;P=286;break}l=hb[f[28700>>2]&127](36)|0;if((f[14058]|0)>>>0<36)f[14058]=36;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[14051]|0;m=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&m>>>0<=da>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l)break;e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0){P=295;break}f[14060]=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=Bc(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)hg(K,q);if(p|0)gg(K,p);if(o|0)hg(K,o);if(!n){l=0;break}gg(K,n);l=0}while(0);Ol(U,u,r,s,g,l);break}case 117:{p=f[U>>2]|0;q=ml(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;p:do if(!n)l=0;else{o=(zt(n)|0)+1|0;q:do if(!p){da=Nu(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[7160]|0)){l=hb[f[28684>>2]&127](o)|0;P=323;break}l=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[14051]|0;u=Ou(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&u>>>0<=da>>>0)&1}l=hb[f[28684>>2]&127](l)|0;if(!l){l=0;break p}e=hb[f[28696>>2]&127](l)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(p,o,0)|0;P=323}while(0);if((P|0)==323){P=0;if(!l){l=0;break}}$u(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=(zt(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=Bc(p,n,0)|0}if(!l){l=0;break}$u(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=zk(K,l,0,0)|0;Ll(U,q,l);break}default:{l=Fk(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;Il(U,l,W)|0;if(l|0)kg(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{rl(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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{da=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;eo(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;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](O);break}else{da=hb[f[28696>>2]&127](O)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{da=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)hg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](U);da=_;t=ca;return da|0}else{da=hb[f[28696>>2]&127](U)|0;f[14051]=(f[14051]|0)-da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](U);da=_;t=ca;return da|0}return 0}function kn(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=ql(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{rl(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=rl(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=vl(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{rl(x,78,u,y,0)|0;break}}else{L=vl(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{rl(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=55600;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=Gg(W,40899,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 rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);break}else{Aa=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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]=141;f[K>>2]=q;if(!B)v=0;else{mi(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=Jc(z,u,y,0)|0;if(!v){if(f[z+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](u);u=0;break}else{Aa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-Aa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Am(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{rl(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=ql(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=rl(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;sl(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=rl(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=Jc(y,s,x,0)|0;if(!u){if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);s=0;break}else{ya=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=(rl(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 rl(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 rl(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=55580;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=55580;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;ao(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;$n(a,c,s,g,i,k,1,0,5,1,-1);w=1;break}case 6:{ya=r+8|0;Ba=r+12|0;Ml(a,Ik(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=Gg(v,40899,T)|0}else{f[V>>2]=u;u=2579;z=Gg(v,46881,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=ql(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);break}else{ya=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-ya;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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{rl(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=rl(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=55600;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=rl(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=55600;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=Jc(C,y,B,0)|0;if(!x){if(f[C+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](y);x=0;break}else{x=hb[f[28696>>2]&127](y)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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){hn(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 rl(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=zk(x,u,0,0)|0;if(!(b[x+81>>0]|0))xm(a,u,q,16);if(u|0)gg(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=zk(D,u,0,0)|0;i:do if(!(b[D+81>>0]|0)){do if(C){if((b[C>>0]|0)!=-92){A=vl(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{rl(u,78,x,B,0)|0;Ba=336;break i}}else A=vl(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{rl(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;gg(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{rl(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 rl(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=55580;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=55580;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=rl(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 rl(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 rl(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 rl(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=Yk(z,x,u,L&255)|0;do if(!(L<<24>>24)){if(!z){z=Zk(a,x,0,u)|0;break}if(f[z+12>>2]|0)break;z=Zk(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=rl(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){sl(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:{wm(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 rl(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 rl(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 rl(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=rl(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=rl(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]=41825;b[z>>0]=-1;break}else{sl(K,x+(u*20|0)|0,41825,-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=55600;f[u+8>>2]=x}while(0);Ml(a,Ik(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=55580;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=55580;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}$n(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{rl(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 rl(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=55600;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 rl(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=55600;f[s+8>>2]=u;f[p>>2]=w;t=Ia;return}function ln(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=ni(a,0,m,P)|0;else w=hi(Z,m,P)|0;m=(w|0)==0;if(!m?(Wm(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=(Ok(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=(Ok(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}lm(a,k,f[w+28>>2]|0,0,f[o>>2]|0);f[D>>2]=(f[D>>2]|0)+1;if(!E)nn(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}nn(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{w=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-w;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=ql(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 rl(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{rl(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=55580;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=55580;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?(on(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(Wm(a,c,k,X,Y)|0){if(o){T=110;break e}if(!(b[s>>0]|0))break;else{T=131;break e}}l=ml(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)pn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,g,-1);if(!v?($=b[k+25+x>>0]|0,pn(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;lg(Z,l)}l=f[Y>>2]|0;if(l){if(!u){if(f[w>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);T=128;break}else{T=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 mn(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=ql(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{rl(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=rl(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 rl(C,102,q,o,r)|0;if(!(u<<24>>24))hn(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 rl(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 nn(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=ql(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=Jc(t,o,s,0)|0;if(!p){if(f[t+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);o=0;break}else{B=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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 rl(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 rl(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=rl(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 rl(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}tl(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 rl(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 rl(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[13902]=p;o=55600}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 rl(H,109,I,o,c)|0;o=f[C>>2]|0;q=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{c=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(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 rl(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{rl(H,11,0,B,0)|0;break}}while(0);s=zm(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=rl(H,102,y,A,w)|0;p=f[H>>2]|0;c:do if(b[p+81>>0]|0){if((A|0)!=-12)og(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);sl(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=rl(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=ql(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=rl(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)sl(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{rl(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{rl(H,117,I,0,0)|0;return}}function on(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 pn(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=ql(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=rl(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=Bk(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=(zt(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(J=Bk(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=(zt(p)|0)&1073741823;f[H>>2]=N;if((N|0)!=0?(K=Bk(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=(zt(p)|0)&1073741823;f[C>>2]=p;u=Bk(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=Bc(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}hl(q);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[q+24>>2]|0)){f[L>>2]=o;li(a,33384,L);o=q}else o=q}while(0);if((N|0)==46){N=0;if(o|0)gg(p,o);if(!u)o=0;else{gg(p,u);o=0}}r=il(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=Bk(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=Bk(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=Bc(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}hl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break b;f[M>>2]=o;li(a,33384,M);break b}while(0);if(u|0)gg(n,u);if(s)n=0;else{gg(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=Bk(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=(zt(p)|0)&1073741823;f[F>>2]=N;if((N|0)!=0?(O=Bk(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=(zt(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(P=Bk(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=Bk(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=Bc(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}hl(s);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[s+24>>2]|0)){f[Q>>2]=o;li(a,33384,Q);o=s}else o=s}while(0);if((N|0)==120){N=0;if(o|0)gg(p,o);if(w)o=0;else{gg(p,v);o=0}}q=il(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=Bc(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}hl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break;f[R>>2]=o;li(a,33384,R);break}if(!q)n=0;else{gg(f[a>>2]|0,q);n=0}}while(0);r=il(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]=123;f[T+8>>2]=124;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;li(a,33384,U);break}mi(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=qn(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 rl(W,151,n,m,0)|0;if(q|0)rn(q)}if(!s)gg(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=55600;f[n+8>>2]=o;t=Y;return} -function Ck(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=Ck(a,f[n+12>>2]|0,e,k,i)|0;c=f[i>>2]|0;if(!c){i=r;t=I;return i|0}Ti(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)){Ri(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=Dc(o)|0;k=ba()|0;i=Nu(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(gf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(hf(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=Dc(o)|0;m=ba()|0;i=Nu(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=33713;n=c;r=k&255;m=-1;q=-1;H=39;break}default:{u=56244;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[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=64;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[14051]|0;C=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&C>>>0<=D>>>0)&1}k=hb[f[28684>>2]&127](c)|0;if(k){c=hb[f[28696>>2]&127](k)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Gg(a,40183,v)|0;if(!k){l=D;k=D;break f}Ze(D,k,-1,1,108)|0}else{v=f[n+8>>2]|0;v=Tu(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=Dc(o)|0;l=ba()|0;a=Nu(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,gf(f[x>>2]|0,E,f[y>>2]|0,w)|0):0){if(hf(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=Dc(o)|0;n=ba()|0;a=Nu(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)){Ri(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=Dc(o)|0;l=ba()|0;a=Nu(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,gf(f[A>>2]|0,E,f[B>>2]|0,z)|0):0){if(hf(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=Dc(o)|0;n=ba()|0;a=Nu(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=Pi(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[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=154;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){H=f[14051]|0;e=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;f[13840]=((F|0)<0|(F|0)==0&e>>>0<=H>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){k=hb[f[28696>>2]&127](c)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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;tk(c);k=0;break e}break}case 142:{i:do if(!a){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=180;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[14051]|0;F=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}k=hb[f[28684>>2]&127](c)|0;if(k){c=hb[f[28696>>2]&127](k)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=(zt(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=Bc(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}}Ze(w,k,v,0,108)|0;k=0;break e}case 155:{k:do if(!a){if(!(f[7160]|0)){c=hb[f[28684>>2]&127](40)|0;H=223;break}c=hb[f[28700>>2]&127](40)|0;if((f[14058]|0)>>>0<40)f[14058]=40;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[14051]|0;F=Ou(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[13840]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(c){k=hb[f[28696>>2]&127](c)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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))df(l);c=f[l+32>>2]|0;if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);i=7;t=I;return i|0}else{i=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);i=7;t=I;return i|0}}while(0);do if((H|0)==107){a=(Ck(a,c,e,g,G)|0)==0;n=f[G>>2]|0;r=n;if(a&(n|0)!=0){tk(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=Ou(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)){Ri(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=Dc(o)|0;l=ba()|0;H=Nu(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(gf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(hf(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=Dc(o)|0;m=ba()|0;a=Nu(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 Dk(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(Ak(a,f[c+16>>2]|0,f[d+16>>2]|0,-1)|0){d=1;return d|0}if(Ak(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(Ak(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(Ak(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 Ek(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=((zt(e)|0)&1073741823)+(d|1)|0;d=d+7&-8;if(!(c&1)){c=d;return c|0}else{e=Ek(f[a+12>>2]|0,c)|0;return e+d+(Ek(f[a+16>>2]|0,c)|0)|0}return 0}function Fk(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=Bc(a,76,0)|0}if(!g)break;h=Gk(a,f[c>>2]|0,e)|0;f[g>>2]=h;h=Ik(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=zk(a,h,e,0)|0;f[g+36>>2]=h;h=Gk(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=zk(a,h,e,0)|0;f[g+44>>2]=h;p=Gk(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=zk(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=Bc(a,k,i)|0}if(h){bv(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=Fk(a,f[o+8+(m<<4)+8>>2]|0,0)|0;f[n+(m<<4)+8>>2]=k;k=Gk(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=(zt(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=Bc(a,l,0)|0}if(i)$u(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=Hk(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 Gk(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=hb[f[28696>>2]&127](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=Bc(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=zk(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=(zt(l)|0)+1|0;do if(A){k=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](m)|0;y=50;break}h=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[14051]|0;k=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h){h=0;break b}i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;y=50}while(0);if((y|0)==50){y=0;if(!h){h=0;break}}$u(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=(zt(l)|0)+1|0;do if(A){B=Nu(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[7160]|0)){h=hb[f[28684>>2]&127](m)|0;y=75;break}h=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[14051]|0;k=Ou(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=hb[f[28684>>2]&127](h)|0;if(!h){h=0;break c}i=hb[f[28696>>2]&127](h)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;y=75}while(0);if((y|0)==75){y=0;if(!h){h=0;break}}$u(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 Hk(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[7160]|0)){e=hb[f[28684>>2]&127](72)|0;m=25;break}e=hb[f[28700>>2]&127](72)|0;if((f[14058]|0)>>>0<72)f[14058]=72;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[14051]|0;k=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&k>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](e)|0;if(!g){c=0;return c|0}e=hb[f[28696>>2]&127](g)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=(zt(k)|0)+1|0;c:do if(i){i=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](l)|0;m=51;break}e=hb[f[28700>>2]&127](l)|0;if((f[14058]|0)>>>0>>0)f[14058]=l;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){n=f[14051]|0;i=Ou(h|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}h=hb[f[28696>>2]&127](e)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,l,0)|0;m=51}while(0);if((m|0)==51)if(!e){e=0;break}$u(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=zk(a,e,0,0)|0;f[g+28>>2]=e;e=Gk(a,f[d+4>>2]|0,0)|0;f[g+4>>2]=e;e=Gk(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=zk(a,e,0,0)|0;f[g+16>>2]=e;e=f[d+20>>2]|0;if(!e)e=0;else e=zk(a,e,0,0)|0;f[g+20>>2]=e;f[g+60>>2]=c;n=g;return n|0}function Ik(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=Bc(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=(zt(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=Bc(a,i,0)|0}if(g)$u(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=Gk(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=Fk(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=zk(a,g,d,0)|0;f[m+(l*72|0)+44>>2]=g;h=Jk(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 Jk(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=Bc(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=Bc(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=(zt(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=Bc(a,k,0)|0}if(h)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](d);v=0;return v|0}else{v=hb[f[28696>>2]&127](d)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](d);v=0;return v|0}return 0}function Kk(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]=123;f[e+8>>2]=124;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;li(c,33384,h);n=1;t=m;return n|0}mi(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 Lk(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=zk(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]=130;f[k+24>>2]=h;mi(k,c)|0}if((b[e>>0]|0)==102){d=f[e+8>>2]|0;f[k>>2]=d;if(d){h=(zt(d)|0)&1073741823;f[k+4>>2]=h;if((h|0)!=0?(i=Bk(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;gg(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=(zt(n)|0)+1|0;a:do if(!m){k=Nu(a|0,0,-1,-1)|0;h=ba()|0;if(!(h>>>0>0|(h|0)==0&k>>>0>2147483390)){if(!(f[7160]|0)){d=hb[f[28684>>2]&127](a)|0;l=38;break}g=hb[f[28700>>2]&127](a)|0;if((f[14058]|0)>>>0>>0)f[14058]=a;d=55352;h=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&h>>>0>0){k=f[14051]|0;h=Ou(h|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ba()|0;f[13840]=((d|0)<0|(d|0)==0&h>>>0<=k>>>0)&1}d=hb[f[28684>>2]&127](g)|0;if(d){g=hb[f[28696>>2]&127](d)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(m,a,0)|0;l=38}while(0);if((l|0)==38)if(!d)d=0;else l=39;if((l|0)==39)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}function Mk(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 Nk(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 Ok(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=mb[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=ud(40899,h)|0;if(e|0?1:(f[j+20>>2]|0)>2){f[l>>2]=k;f[l+4>>2]=c;c=ud(40905,l)|0}f[m>>2]=c;li(a,40911,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}li(a,40505,i);f[a+12>>2]=1;m=g;t=n;return m|0}return 0}function Pk(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=(zt(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=55580;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=55580;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[55372+((((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=Nu(n|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&v>>>0>2147483390)break d;if(!(f[7160]|0)){i=hb[f[28684>>2]&127](n)|0;o=71;break}i=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){v=f[14051]|0;m=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=v>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break d;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,n,0)|0;o=71}while(0);if((o|0)==71)if(!i)break;else m=i;bv(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;$u(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=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);break}else{v=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Qk(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 Rk(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){Rk(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 Sk(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;ag(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=Xu(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[7160]|0)){c=hb[f[28684>>2]&127](80)|0;h=27;break}c=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){l=f[14051]|0;g=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[13840]=((e|0)<0|(e|0)==0&g>>>0<=l>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){l=0;return l|0}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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;Tk(f[a>>2]|0,f[i>>2]|0,c+42|0,c+4|0);Uk(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){fg(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}fg(k,c);l=0;return l|0}function Tk(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=Nu(m|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](m)|0;s=27;break}i=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){K=f[14051]|0;J=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;I=ba()|0;f[13840]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(i){k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,m,0)|0;s=27}while(0);if((s|0)==27)if(!i)K=0;else s=28;if((s|0)==28){bv(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=38544;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=Gg(a,41007,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=(zt(i)|0)+1|0;do if(G){s=Nu(p|0,0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[7160]|0)){k=hb[f[28684>>2]&127](p)|0;s=74;break}k=hb[f[28700>>2]&127](p)|0;if((f[14058]|0)>>>0

>>0)f[14058]=p;o=55352;m=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&m>>>0>0){s=f[14051]|0;r=Ou(m|0,o|0,k|0,((k|0)<0)<<31>>31|0)|0;q=ba()|0;f[13840]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}k=hb[f[28684>>2]&127](k)|0;if(k){m=hb[f[28696>>2]&127](k)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,p,0)|0;s=74}while(0);if((s|0)==74)if(!k)s=76;else s=75;if((s|0)==75){$u(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=55580;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=55580;break}}}while(0);if(!(f[k+8>>2]|0))break;Q=zt(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=Gg(a,41016,N)|0;if((f[L>>2]|0)>>>0>3)xd(4,L);if(!i){s=106;break d}}f[u>>2]=i;if(((ng(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](k);else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](k);break}else{Q=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{Q=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{Q=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-Q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[g>>2]=0;d[e>>1]=0;t=P;return}function Uk(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=Vk(G,m)|0;e=Wk(m)|0;n=q+13|0;b[n>>0]=e;if(l){k=(zt(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=Bc(H,g,0)|0}f[q>>2]=e;if(e|0){e=e+1|0;o=32}}else{h=(zt(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=Jc(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{l=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(H,g);while(0);f[q>>2]=0}while(0);if((o|0)==32){o=0;i=q+15|0;$u(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=Xk(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=(zt(i)|0)+1|0;do if(B){n=Nu(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[7160]|0)){e=hb[f[28684>>2]&127](k)|0;o=61;break}e=hb[f[28700>>2]&127](k)|0;if((f[14058]|0)>>>0>>0)f[14058]=k;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){n=f[14051]|0;m=Ou(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){e=0;break b}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(H,k,0)|0;o=61}while(0);if((o|0)==61){o=0;if(!e){e=0;break}}$u(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 Vk(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=40999;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+(zt(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=Vk(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=Vk(m,n)|0;t=o;return n|0}default:{n=0;t=o;return n|0}}return 0}function Wk(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 Xk(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=Yk(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=Zk(a,b[k+78>>0]|0,0,f[c+8>>2]|0)|0;if(c){if((f[c+12>>2]|0)==0?(Zk(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 Yk(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=55580;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=55580;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=(zt(d)|0)&1073741823;m=l+61|0;b:do if(!a){if(!(f[7160]|0)){g=hb[f[28684>>2]&127](m)|0;o=39;break}g=hb[f[28700>>2]&127](m)|0;if((f[14058]|0)>>>0>>0)f[14058]=m;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){q=f[14051]|0;e=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[13840]=((n|0)<0|(n|0)==0&e>>>0<=q>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g)return 0;i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(a,m,0)|0;o=39}while(0);if((o|0)==39)if(!g)return 0;bv(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;$u(i|0,d|0,l+1|0)|0;i=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);return 0}else{q=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-q;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);return 0}return 0}function Zk(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=Yk(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=(zt(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=Bc(q,m,0)|0;if(e|0){$u(e|0,g|0,m|0)|0;qb[f[l>>2]&127](f[q+252>>2]|0,q,k,e);if(f[q+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);n=26;break}else{n=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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;Ze(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=Gc(i,2)|0;n=44}if((n|0)==44?o|0:0)qb[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))df(i);e=f[k>>2]|0;if(e|0){if(f[e+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}}while(0);c=Yk(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=55580;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=55580;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=55580;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=55580;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=55580;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=55580;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;li(a,40968,r);f[a+12>>2]=257;u=0;t=s;return u|0}function _k(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 $k(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 al(a,b){a=a|0;b=b|0;return 0}function bl(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[7160]|0)){e=hb[f[28684>>2]&127](76)|0;l=33;break}d=hb[f[28700>>2]&127](76)|0;if((f[14058]|0)>>>0<76)f[14058]=76;h=55352;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[14051]|0;h=Ou(g|0,h|0,d|0,((d|0)<0)<<31>>31|0)|0;g=ba()|0;f[13840]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=hb[f[28684>>2]&127](d)|0;if(!g){o=2;t=p;return o|0}d=hb[f[28696>>2]&127](g)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=ll(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=Bk(k,168,n,0)|0;n=kl(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 cl(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}Rk(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[7160]|0)){g=hb[f[28684>>2]&127](80)|0;fa=50;break}g=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;k=55352;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[14051]|0;da=Ou(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){fa=51;break b}i=hb[f[28696>>2]&127](g)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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=(zt(n)|0)+1|0;h:do if(l){ea=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;fa=77;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ea=f[14051]|0;da=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;ca=ba()|0;f[13840]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break g}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(s,o,0)|0;fa=77}while(0);if((fa|0)==77){fa=0;if(!i){i=0;break}}$u(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=Fk(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]=41090;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];wk(a,da)|0;f[ea>>2]=0}else wk(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);Tk(f[v>>2]|0,e,g+42|0,g+4|0);if(p){f[u>>2]=(f[q+8>>2]&8192|0)==0?41151:41189;wk(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(wk(a,f[A+20>>2]|0)|0){e=2;fa=512;break b}if(gl(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=ni(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(ii(ra,e)|0){e=2;fa=512;break b}ca=Fk(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;wk(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;li(v,g,F);ua=2;t=va;return ua|0}else if((fa|0)==26){f[G>>2]=E;li(v,41024,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];li(v,41047,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;li(v,41113,L);f[w>>2]=l;ua=2;t=va;return ua|0}else if((fa|0)==115){f[H>>2]=f[e>>2];li(ra,41223,H);f[l>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==118){f[I>>2]=f[A+8>>2];li(ra,41024,I);ua=2;t=va;return ua|0}else if((fa|0)==132){f[J>>2]=m;f[J+4>>2]=0;li(ra,41262,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=Bc(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=Zu(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=Bc(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=Zu(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=Bc(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}hl(e);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)<(f[e+24>>2]|0)){f[Q>>2]=k;li(ra,33384,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)gg(e,n);if(m){e=0;break}gg(e,i);e=0}while(0);e=il(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){jl(e,f[D+40>>2]|0);e=f[A>>2]|0}ea=il(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=Bc(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=Zu(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=Bc(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=Zu(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=Bc(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}hl(e);g=f[(f[ra>>2]|0)+120>>2]|0;if((g|0)<(f[e+24>>2]|0)){f[S>>2]=g;li(ra,33384,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)gg(e,m);if(k){e=0;break}gg(e,l);e=0}while(0);ea=il(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;li(ra,41280,P);ua=2;t=va;return ua|0}else if((fa|0)==213){li(ra,41330,R);ua=2;t=va;return ua|0}else if((fa|0)==292){f[T>>2]=o;li(ra,41385,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=kl(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=41449;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=(zt(u)|0)&1073741823;f[P>>2]=i;o=Bk(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=(zt(F)|0)&1073741823;f[Q>>2]=i;n=Bk(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=Bc(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}hl(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;li(ra,33384,la);o=0}while(0);do if((fa|0)==381){fa=0;if(n|0)gg(i,n);if(!o){k=0;o=1;break}gg(i,o);k=0;o=1}while(0);A:do if(B)i=k;else{f[ja>>2]=E;p=(zt(E)|0)&1073741823;f[R>>2]=p;p=Bk(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=Bc(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}hl(i);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)>=(f[i+24>>2]|0))break A;f[ma>>2]=k;li(ra,33384,ma);break A}while(0);if(p|0)gg(i,p);if(o){i=0;break}gg(i,k);i=0}while(0);if(!O){s=0;r=u;break}f[na>>2]=F;f[na+4>>2]=u;r=Gg(sa,40899,na)|0;s=r}while(0);g=kl(f[ra>>2]|0,g,i)|0;q=r;i=(r|0)==0;if(i)p=0;else p=(zt(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=Bc(n,m,0)|0}if(!i){n=0;break}$u(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[7160]|0)){i=hb[f[28684>>2]&127](16)|0;fa=457;break}i=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[14051]|0;M=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i)break E;k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(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=(zt(n)|0)+1|0;H:do if(S){N=Nu(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[7160]|0)){i=hb[f[28684>>2]&127](o)|0;fa=484;break}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[14051]|0;M=Ou(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[13840]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break G}k=hb[f[28696>>2]&127](i)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0<=(f[14060]|0)>>>0)break;f[14060]=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=Bc(sa,o,0)|0;fa=484}while(0);if((fa|0)==484){fa=0;if(!i){i=0;break}}$u(i|0,n|0,o|0)|0}else{f[oa>>2]=E;f[oa+4>>2]=F;f[oa+8>>2]=r;i=Gg(sa,41451,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);i=1;break}else{i=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-i;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){li(ra,41478,qa);break}else{f[pa>>2]=K;li(ra,41460,pa);break}}while(0);L=L+1|0}while((L|0)<(f[ia>>2]|0));hg(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)){li(ra,41498,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 dl(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 el(a,b){a=a|0;b=b|0;return 0}function fl(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}Uk(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 gl(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[7160]|0)){g=hb[f[28684>>2]&127](80)|0;n=24;break}g=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){m=f[14051]|0;k=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[13840]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}h=hb[f[28684>>2]&127](g)|0;if(h){g=hb[f[28696>>2]&127](h)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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=Gg(i,41531,l)|0}else{c=(zt(k)|0)+1|0;c:do if(!i){l=Nu(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[7160]|0)){g=hb[f[28684>>2]&127](c)|0;n=51;break}g=hb[f[28700>>2]&127](c)|0;if((f[14058]|0)>>>0>>0)f[14058]=c;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[14051]|0;i=Ou(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}g=hb[f[28684>>2]&127](g)|0;if(!g){g=0;break b}h=hb[f[28696>>2]&127](g)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(i,c,0)|0;n=51}while(0);if((n|0)==51)if(!g){g=0;break}$u(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}Tk(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 hl(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 il(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?(yk(c,g)|0)!=0:0)if(!(f[g>>2]|0)){gg(a,c);gg(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?(yk(e,g)|0)!=0:0){if(!(f[g>>2]|0)){gg(a,c);gg(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=Bc(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;hl(h);l=h;t=m;return l|0}gg(a,c);gg(a,e);l=0;t=m;return l|0}while(0);l=Bk(a,143,1e4,0)|0;t=m;return l|0}function jl(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{jl(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))}jl(f[a+12>>2]|0,c);a=f[a+16>>2]|0}while((a|0)!=0);return}function kl(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=Bc(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=Jc(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)gg(a,d);if(!c){h=0;return h|0}hg(a,c);h=0;return h|0}function ll(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?41543:41546;li(a,41552,m);break}else{q=ml(r,0,d,e)|0;n=6;break}}else{q=ml(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[7160]|0)){c=hb[f[28684>>2]&127](16)|0;n=35;break}c=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;d=55352;m=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&m>>>0>0){u=f[14051]|0;d=Ou(m|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&d>>>0<=u>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c)break a;m=hb[f[28696>>2]&127](c)|0;m=(f[14051]|0)+m|0;f[14051]=m;if(m>>>0>(f[14055]|0)>>>0)f[14055]=m;m=(f[14054]|0)+1|0;f[14054]=m;if(m>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=nl(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)gg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(r,c);c=m;n=75;break d}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](c);n=73;break}else{n=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-n;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{u=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);if(!i){u=0;t=s;return u|0}kg(r,i,1);u=0;t=s;return u|0}function ml(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=Bc(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=Jc(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=hb[f[28696>>2]&127](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){lg(a,c);e=0;return e|0}g=(f[c>>2]|0)+-1|0;if(e|0?f[e>>2]|0:0){e=nl(a,e)|0;f[c+8+(g*72|0)+8>>2]=e;e=nl(a,d)|0;f[c+8+(g*72|0)+4>>2]=e;e=c;return e|0}e=nl(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 nl(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=Nu(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=Bc(a,e,g)|0;if(!a){k=0;return k|0}$u(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} -function ji(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=(zt(u)|0)&1073741823;r=Pk(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=(zt(i)|0)&1073741823;gf(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;li(na,40419,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=mb[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{li(na,40505,A);g=1;ma=255;break}else{li(na,40490,z);g=23;ma=255}while(0);if((ma|0)==255){f[na+12>>2]=g;f[C>>2]=f[o>>2];li(na,40528,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]=40609;f[D+4>>2]=(B&32|0)==0?((B&4|0)==0?40563:40591):40256;li(na,40219,D);g=f[q>>2]|0}if(!(g&262144)){x=r;o=0;q=0}else{o=(b[na+18>>0]|0)==0&(f[7227]|0)==0;x=o?0:r;q=0}}else{x=Pk(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;li(na,40637,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]=40710;f[G+4>>2]=s;f[G+8>>2]=u;li(na,40681,G)}else{f[H>>2]=40720;f[H+4>>2]=s;f[H+8>>2]=u;li(na,40681,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;li(na,40727,I);ma=283;break}if(q|0){f[J>>2]=s;f[J+4>>2]=u;li(na,40750,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?mi(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]=128;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?mi(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?mi(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?mi(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{mi(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=Gk(f[na>>2]|0,f[n+4>>2]|0,0)|0;f[o+4>>2]=g;g=Gk(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=zk(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=zk(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;li(na,40795,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){li(na,40814,P);break}g=f[x+32>>2]|0;if((g|0)==32935|(g|0)==32985){k=o+16|0;g=f[k>>2]|0;if(g|0)gg(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)gg(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)==32975|((g|0)==32962|((g|0)==32946|(g|0)==32957))){k=o+16|0;g=f[k>>2]|0;if(g|0)gg(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)gg(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(!(Dk(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]=40877;f[q+4>>2]=(g&32|0)==0?((g&4|0)==0?40563:40591):40256;li(na,40219,q)}wk(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]=40888;f[n+4>>2]=(e&32|0)==0?((e&4|0)==0?40563:40591):40256;li(na,40219,n)}break}case -100:case 45:{e=f[c+16>>2]|0;if((b[e>>0]|0)==59){if((ji(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]=40239;f[o+4>>2]=40256;li(na,40219,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(Nk(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=40274;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=40278;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=40282;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=40291;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=40299;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=40305;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=40291;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=40299;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=40305;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;li(na,40309,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){li(na,40340,ga);qa=2;t=oa;return qa|0}Lk(na,C,A,c,56244,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=40358;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=40363;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=40391;ma=198;break}}b[c>>0]=-101;qa=1;t=oa;return qa|0}else{l=0;n=0;i=40391;ma=198}else if((ma|0)==197)if((n|0)==1){o=1;n=E;ma=204}else{l=q;i=40369;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;li(na,33467,ha);break}else{f[ia>>2]=i;f[ia+4>>2]=u;li(na,33477,ia);break}else{f[ja>>2]=i;f[ja+4>>2]=w;f[ja+8>>2]=v;f[ja+12>>2]=u;li(na,40406,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=Zu(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)gg(s,l);f[i>>2]=0;i=c+16|0;l=f[i>>2]|0;if(l|0)gg(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=40299}else ma=225;if((ma|0)==225)g=f[(f[k+4>>2]|0)+(g<<4)>>2]|0;if((Ok(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))li(na,40340,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 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,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)){ag(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]=123;f[S>>2]=124;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}mi(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]=123;f[_>>2]=124;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=0;wk(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]=123;f[_>>2]=124;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=ca;wk(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]=123;f[v>>2]=124;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}mi(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]=123;f[A>>2]=124;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}mi(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]=123;f[E>>2]=124;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}mi(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]=123;f[I>>2]=124;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}mi(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?xk(ga,p,f[p+48>>2]|0,39800)|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(xk(ga,p,m,39806)|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;li(Pa,33384,ra);H=13;break}case 46:{f[sa>>2]=ia;li(ha,33384,sa);H=50;break}case 57:{li(Pa,39756,wa);Sa=2;t=Ra;return Sa|0}case 61:{f[xa>>2]=ka;li(ja,33384,xa);H=65;break}case 70:{f[ya>>2]=ma;li(la,33384,ya);H=74;break}case 86:{f[ta>>2]=oa;li(na,33384,ta);H=90;break}case 104:{li(Pa,39812,ua);Sa=2;t=Ra;return Sa|0}case 108:{if(f[pa+8>>2]&512|0){li(Pa,39871,va);Sa=2;t=Ra;return Sa|0}switch(b[pa+4>>0]|0){case 124:{c=39940;break}case 126:{c=39930;break}case 125:{c=39923;break}default:c=39917}f[za>>2]=c;li(Pa,39950,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)){li(Pa,40032,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(!(yk(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=zk(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]=123;f[B>>2]=124;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)){mi(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;li(Pa,33384,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((Ak(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)gg(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=Bk(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)gg(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]=39800;f[Ma+8>>2]=Fa;li(Pa,40066,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;li(Pa,40122,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 li(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;zc(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=Ac(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{o=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);t=n;return}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=n;return}}function mi(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=ib[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?mi(a,c)|0:0){h=2;c=54;break}d=f[p+16>>2]|0;if(!d){c=9;break}c=ib[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?mi(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=ib[i&255](a,d)|0;c:do if(!c){d:while(1){if(vk(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?wk(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?mi(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)ob[c&127](a,d);d=f[d+52>>2]|0;if(!d)break b;c=ib[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?mi(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?mi(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?mi(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 ni(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=oi(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=oi(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=hi(s,e,g)|0;if(i|0){a=i;t=E;return a|0}y=(c&1|0)==0?33432:33446;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=55580;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=55580;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=33459;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=33460;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=33461;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=33462;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=33463;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=33464;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=33465;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[6064+(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[6064+(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[6064+(i<<4)+5>>0]&48){z=pi(s,e,29380,6064+(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[7160]|0)){i=hb[f[28684>>2]&127](80)|0;w=75;break}i=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;l=55352;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[14051]|0;p=Ou(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[13840]=((o|0)<0|(o|0)==0&p>>>0<=r>>>0)&1}k=hb[f[28684>>2]&127](i)|0;if(!k)break h;i=hb[f[28696>>2]&127](k)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=(zt(n)|0)+1|0;k:do if(q){r=Nu(o|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&r>>>0>2147483390)){if(!(f[7160]|0)){i=hb[f[28684>>2]&127](o)|0;w=102;break k}i=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[14051]|0;p=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&p>>>0<=r>>>0)&1}l=hb[f[28684>>2]&127](i)|0;if(!l)break;i=hb[f[28696>>2]&127](l)|0;i=(f[14051]|0)+i|0;f[14051]=i;if(i>>>0>(f[14055]|0)>>>0)f[14055]=i;i=(f[14054]|0)+1|0;f[14054]=i;if(i>>>0<=(f[14060]|0)>>>0){p=l;break k}f[14060]=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=Bc(u,o,0)|0;w=102}while(0);if((w|0)==102)if(!i){w=104;break}else p=i;$u(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=(zt(p)|0)+1|0;l:do if(q){r=Nu(n|0,0,-1,-1)|0;q=ba()|0;if(q>>>0>0|(q|0)==0&r>>>0>2147483390)i=0;else{if(!(f[7160]|0)){i=hb[f[28684>>2]&127](n)|0;w=137;break}i=hb[f[28700>>2]&127](n)|0;if((f[14058]|0)>>>0>>0)f[14058]=n;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[14051]|0;q=Ou(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[13840]=((o|0)<0|(o|0)==0&q>>>0<=r>>>0)&1}i=hb[f[28684>>2]&127](i)|0;if(!i){i=0;break}l=hb[f[28696>>2]&127](i)|0;l=(f[14051]|0)+l|0;f[14051]=l;if(l>>>0>(f[14055]|0)>>>0)f[14055]=l;l=(f[14054]|0)+1|0;f[14054]=l;if(l>>>0<=(f[14060]|0)>>>0){w=138;break}f[14060]=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=Bc(u,n,0)|0;w=137}while(0);if((w|0)==137)if(!i)i=0;else w=138;if((w|0)==138)$u(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=Bc(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=Jc(u,l,o,p)|0;w=156;break m}while(0);l=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{p=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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=Jc(u,l,n,o)|0;w=185;break p}while(0);x=Jc(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=(zt(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=Bc(u,n,0)|0;if(!i){p=0;break}$u(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=Bc(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=Jc(u,i,n,o)|0;w=219;break s}while(0);i=Jc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);break}else{x=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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(!(qi(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;li(a,31564,B);u:do if(k|0){if(f[u+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{B=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;fg(u,i)}else fg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{B=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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;li(a,33477,D)}else{f[C>>2]=y;f[C+4>>2]=g;f[C+8>>2]=e;li(a,33467,C)}b[a+17>>0]=1;a=0;t=E;return a|0}function oi(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?39516:34444;f[D>>2]=x;f[D+4>>2]=39535;f[D+8>>2]=39537;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;tj(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=Ji(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=35490;break}case 100:{l=35468;break}case 101:{l=35445;break}default:{i=m&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)l=f[7968+(i<<2)>>2]|0;else l=35431}}i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{F=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-F;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}while(0);c:do if(l){k=(zt(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=Bc(a,k,0)|0;if(i)$u(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(a,68,0)|0;E=62}if((E|0)==62)if(!i)i=0;else{g=i;k=39609;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[7193]|0;m=f[k+44>>2]|0;if((g|0)<=-1){s=Tu(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=Ru(s|0,u|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}ob[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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{B=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(a,24,0)|0;E=93}if((E|0)==93)if(!i)i=0;else{g=i;k=39677;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=Gg(a,39701,y)|0;e=a+312|0;y=f[e>>2]|0;f[e>>2]=0;k=sj(a,g,75,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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{e=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-e;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);g=(k|0)==0;if(g)uj(a,c)|0;if(!(b[a+81>>0]|0)){if(!g){i=k;E=112}}else{Th(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],(Eg(F,0)|0)==0):0)Fg(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){Uh(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 pi(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=(zt(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[7160]|0)){i=hb[f[28684>>2]&127](h)|0;if(!i)break;else{j=i;h=i}}else{j=hb[f[28700>>2]&127](h)|0;if((f[14058]|0)>>>0>>0)f[14058]=h;i=55352;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[14051]|0;i=Ou(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;h=ba()|0;f[13840]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}i=hb[f[28684>>2]&127](j)|0;if(!i){i=0;break}h=hb[f[28696>>2]&127](i)|0;h=(f[14051]|0)+h|0;f[14051]=h;if(h>>>0>(f[14055]|0)>>>0)f[14055]=h;h=(f[14054]|0)+1|0;f[14054]=h;if(h>>>0>(f[14060]|0)>>>0)f[14060]=h;j=i;h=i}i=j+20|0;$u(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=ng(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](i);l=0;return l|0}else{l=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-l;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 qi(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=Gg(a,33484,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=(zt(n)|0)+1|0;A=(a|0)==0;b:do if(A){z=Nu(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[7160]|0)){k=hb[f[28684>>2]&127](o)|0;B=31;break}k=hb[f[28700>>2]&127](o)|0;if((f[14058]|0)>>>0>>0)f[14058]=o;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[14051]|0;m=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=z>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(!l){a=7;t=E;return a|0}k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(a,o,0)|0;B=31}while(0);if((B|0)==31)if(!k){a=7;t=E;return a|0}else z=k;$u(z|0,n|0,o|0)|0;if(!(f[7160]|0)){k=hb[f[28684>>2]&127](28)|0;if(!k)B=43;else n=k}else{k=hb[f[28700>>2]&127](28)|0;if((f[14058]|0)>>>0<28)f[14058]=28;m=55352;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=f[14051]|0;n=Ou(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}l=hb[f[28684>>2]&127](k)|0;if(l){k=hb[f[28696>>2]&127](l)|0;k=(f[14051]|0)+k|0;f[14051]=k;if(k>>>0>(f[14055]|0)>>>0)f[14055]=k;k=(f[14054]|0)+1|0;f[14054]=k;if(k>>>0>(f[14060]|0)>>>0){f[14060]=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){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);a=7;t=E;return a|0}else{a=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=mb[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=Gg(a,33556,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)hb[f[(f[k>>2]|0)+16>>2]&127](k)|0;if(l|0){if(f[l+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);k=1;B=115;break c}else{k=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=56244;else{g=f[l+(s<<4)>>2]|0;g=g+(zt(g)|0)+1|0}q=(zt(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=Gg(a,31564,x)|0;f[i>>2]=l;l=f[v>>2]|0;if(l|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{D=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}else{f[w>>2]=z;D=Gg(a,33526,w)|0;f[i>>2]=D}while(0);if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);B=115;break}else{B=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-B;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);B=115;break}}while(0);if((B|0)==115){if(f[a+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](z);a=k;t=E;return a|0}else{a=hb[f[28696>>2]&127](z)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](z);a=k;t=E;return a|0}return 0}function ri(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=38337;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[9808+(e<<2)>>2]|0;f[g>>2]=40;f[g+4>>2]=y;of(v,38352,g);if((h[k>>0]|0)>1){g=1;do{e=e+1|0;y=f[9808+(e<<2)>>2]|0;f[o>>2]=44;f[o+4>>2]=y;of(v,38352,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];of(v,38359,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=38365;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 Cc(v,38365,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=38377;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 Cc(v,38377,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 Cc(v,33721,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)Ac(v)|0;e=uk(a,w)|0;if(e|0){c=Kj(a)|0;f[x>>2]=c;c=ud(31564,x)|0;f[j>>2]=c;c=e;a=0;f[i>>2]=a;t=z;return c|0}if(Kc()|0){c=7;a=0;f[i>>2]=a;t=z;return c|0}if(!(f[7160]|0)){e=hb[f[28684>>2]&127](24)|0;if(!e){c=7;a=e;f[i>>2]=a;t=z;return c|0}else g=e}else{e=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;k=55352;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){j=f[14051]|0;x=Ou(g|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;w=ba()|0;f[13840]=((w|0)<0|(w|0)==0&x>>>0<=j>>>0)&1}k=hb[f[28684>>2]&127](e)|0;if(!k){c=7;a=0;f[i>>2]=a;t=z;return c|0}e=hb[f[28696>>2]&127](k)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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 si(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 ti(a){a=a|0;var b=0;if(!a)return 0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{b=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-b;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Kc()|0){b=7;return b|0}if(!(f[7160]|0)){c=hb[f[28684>>2]&127](24)|0;if(!c){b=7;return b|0}}else{e=hb[f[28700>>2]&127](24)|0;if((f[14058]|0)>>>0<24)f[14058]=24;d=55352;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[14051]|0;d=Ou(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[13840]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=hb[f[28684>>2]&127](e)|0;if(!c){g=7;return g|0}d=hb[f[28696>>2]&127](c)|0;d=(f[14051]|0)+d|0;f[14051]=d;if(d>>>0>(f[14055]|0)>>>0)f[14055]=d;d=(f[14054]|0)+1|0;f[14054]=d;if(d>>>0>(f[14060]|0)>>>0)f[14060]=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 vi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Di(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return 0}else{d=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return 0}return 0}function wi(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;Di(f[w>>2]|0)|0;f[w>>2]=0;y=a+16|0;c=f[y>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{x=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-x;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Gc(c,1)|0}if(c|0?(f[l>>2]=c,p=ud(31564,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;Cc(s,38321,7);c=f[x>>2]|0;if(c|0){f[q>>2]=c;of(s,38329,q)}e=f[f[o>>2]>>2]|0;if(!e)c=0;else c=(zt(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;$u((f[g>>2]|0)+j|0,e|0,c|0)|0}}else Cc(s,e,c);c=f[y>>2]|0;if(c|0){f[r>>2]=c;of(s,38333,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=Ac(s)|0;else c=f[g>>2]|0;if(!c){y=7;t=z;return y|0}e=Ii(f[p>>2]|0,c,-1,128,0,w,0)|0;if(!(f[7160]|0))nb[f[28688>>2]&127](c);else{s=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c)}if(e|0){y=Kj(f[p>>2]|0)|0;f[v>>2]=y;y=ud(31564,v)|0;f[u+8>>2]=y;y=e;t=z;return y|0}a=a+8|0;u=a;u=Nu(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((Ci(f[w>>2]|0)|0)==100){y=0;t=z;return y|0}e=Di(f[w>>2]|0)|0;f[w>>2]=0;Di(0)|0;f[w>>2]=0;c=f[y>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[y>>2]=0;c=f[x>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{y=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-y;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}while(0);f[x>>2]=0;y=e;t=z;return y|0}function xi(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;d=b;d=Nu(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((Ci(f[b>>2]|0)|0)==100){d=0;return d|0}d=Di(f[b>>2]|0)|0;f[b>>2]=0;Ei(a);return d|0}function yi(a){a=a|0;return (f[a+4>>2]|0)==0|0}function zi(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((Ze(f[c>>2]|0,f[a+16+(e-g<<2)>>2]|0,-1,1,-1)|0)!=18)return 0;f[c+20>>2]=18;Ze(f[c>>2]|0,32336,-1,1,0)|0;return 0}k=f[a+4>>2]|0;i=(k|0)==0;do if(i)l=28920;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;zg(l,25);l=28920}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){Bi(g);a=7}else a=f[g+68>>2]&a;f[e>>2]=a}kf(c,l);return 0}function Ai(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 Bi(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;zg(a,7);return}function Ci(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)yc(21,33647,Ha+216|0);else{Ga=f[a>>2]|0;if(!Ga){yc(21,33602,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)Fi(c,a);z=dg(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)Bi(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){ib[oa&255](c,ea)|0;break}ib[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=Hi(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](ia);break}else{v=hb[f[28696>>2]&127](ia)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](ha);break}else{v=hb[f[28696>>2]&127](ha)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ha);break}while(0);do if(f[x+104>>2]|0?(ka=f[x+100>>2]|0,ka|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](ka);break}else{v=hb[f[28696>>2]&127](ka)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ka);break}while(0);do if(f[x+144>>2]|0?(la=f[x+140>>2]|0,la|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](la);break}else{v=hb[f[28696>>2]&127](la)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](la);break}while(0);do if(f[x+184>>2]|0?(ma=f[x+180>>2]|0,ma|0):0)if(!(f[7160]|0)){nb[f[28688>>2]&127](ma);break}else{v=hb[f[28696>>2]&127](ma)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](ma);break}while(0);do if(f[x+224>>2]|0){c=f[x+220>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(f[x+264>>2]|0){c=f[x+260>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);do if(f[x+304>>2]|0){c=f[x+300>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[x+344>>2]|0))break;c=f[x+340>>2]|0;if(!c)break;if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{v=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}while(0);f[g>>2]=0}}else df(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{v=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-v;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(l,i);while(0);f[g>>2]=0}}else df(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=bf(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;Dg(a,33687,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[7024+(h[o>>0]<<2)>>2]|0;f[x+96>>2]=q;q=(zt(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(bf(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];of(ga,33699,Da);if(d[k>>1]|0){l=i+16|0;g=0;do{e=f[i+20+(g<<2)>>2]|0;if(!e)e=56244;else e=f[e>>2]|0;y=(wt(e,33704)|0)==0;f[pa>>2]=(b[(f[l>>2]|0)+g>>0]|0)==0?56244:33713;f[pa+4>>2]=y?33711:e;of(ga,33715,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{Cc(ga,33721,1);break i}}case -2:{f[qa>>2]=f[f[o+16>>2]>>2];of(ga,33723,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;of(ga,33731,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;of(ga,32662,sa);break}case -3:{f[ta>>2]=f[o+16>>2];of(ga,33738,ta);break}case -13:{p[ua>>3]=+p[f[o+16>>2]>>3];of(ga,32656,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;of(ga,32662,va);break i}if(!(g&8)){c=(g&1|0)==0?33741:31267;break i}else{p[wa>>3]=+p[e>>3];of(ga,32656,wa);break i}}case -12:{f[xa>>2]=f[(f[o+16>>2]|0)+8>>2];of(ga,33748,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];of(ga,33756,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{Cc(ga,33760,1);break i}}case -4:{of(ga,33762,za);break}case -5:case -17:{b[c>>0]=0;break}case -6:{f[Aa>>2]=f[f[o+16>>2]>>2];of(ga,31564,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;Ac(ga)|0}while(0);if((c|0)==(f[m>>2]|0)){if(!c)c=0;else c=(zt(c)|0)&1073741823;f[q+132>>2]=c;b[q+130>>0]=1}else{f[q+132>>2]=0;Ze(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(bf(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];td(3,e,33770,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)Fi(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=kb[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{Bi(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=sg(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=Ii(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;$u(ga|0,q|0,216)|0;$u(q|0,a|0,216)|0;$u(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))df(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;dg(q)|0}g=f[q>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);break}else{A=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-A;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)Fi(c,a);A=dg(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)Bi(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=Gc(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{a=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=(zt(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=Bc(Ga,g,0)|0;if(c)$u(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){Bi(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]=31157;f[e+4>>2]=81396;f[e+8>>2]=31184;yc(21,31132,e);Ga=21;t=Ha;return Ga|0}function Di(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){yc(21,33602,l);f[c>>2]=31157;f[c+4>>2]=80816;f[c+8>>2]=31184;yc(21,31132,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)Fi(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=dg(a)|0;g=f[a>>2]|0;eg(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](a);break}else{j=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-j;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);break}while(0);if((e|0)==3082|(b[k+81>>0]|0)!=0){Bi(k);c=7}else c=f[k+68>>2]&e;Gi(k);k=c;t=l;return k|0}function Ei(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Di(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[7160]|0)){nb[f[28688>>2]&127](c);break}else{d=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](b);f[a>>2]=0;return}else{d=hb[f[28696>>2]&127](b)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](b);f[a>>2]=0;return}}function Fi(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){ib[h&255](g,e)|0;d=f[e>>2]|0;e=f[e+4>>2]|0}else{ib[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=Ou(d|0,e|0,f[g>>2]|0,f[g+4>>2]|0)|0;d=Tu(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)qb[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}kb[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 Gi(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);Cg(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{r=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}else Ic(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?($h(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)Uh(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)hb[f[(f[i>>2]|0)+16>>2]&127](i)|0;if(g|0){if(f[g+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{m=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-m;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);break}else{u=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){nb[f[e+4>>2]&127](f[e+8>>2]|0);if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);break}}while(0);e=g;g=f[g+12>>2]|0;do if(e|0){if(f[i>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[e&127](f[g+8>>2]|0);e=f[g+36>>2]|0;if(e|0)nb[e&127](f[g+28>>2]|0);e=f[g+56>>2]|0;if(e|0)nb[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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}else Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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)nb[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;fg(a,g)}else fg(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[7160]|0)){nb[f[28688>>2]&127](i);break}else{u=hb[f[28696>>2]&127](i)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](i);break}}else Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{u=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0))nb[f[28688>>2]&127](e);else{u=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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?(zg(a,0),s=f[c>>2]|0,s|0):0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))df(s);c=f[s+32>>2]|0;do if(c|0){if(f[c+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{u=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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[7160]|0)){nb[f[28688>>2]&127](c);break}else{u=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);break}}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](a);return}else{u=hb[f[28696>>2]&127](a)|0;f[14051]=(f[14051]|0)-u;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](a);return}} -function ht(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[13909]|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[13910]|0)==(h|0)){a=j+4|0;b=f[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}f[13907]=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[13905]=f[13905]&~(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=55924+(b<<2)|0;if((f[c>>2]|0)==(h|0)){f[c>>2]=a;if(!a){f[13906]=f[13906]&~(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[13911]|0)==(j|0)){j=(f[13908]|0)+b|0;f[13908]=j;f[13911]=i;f[i+4>>2]=j|1;if((i|0)!=(f[13910]|0))return;f[13910]=0;f[13907]=0;return}if((f[13910]|0)==(j|0)){j=(f[13907]|0)+b|0;f[13907]=j;f[13910]=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[13905]=f[13905]&~(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=55924+(a<<2)|0;if((f[b>>2]|0)==(j|0)){f[b>>2]=c;if(!c){f[13906]=f[13906]&~(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[13910]|0)){f[13907]=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=55660+(a<<1<<2)|0;b=f[13905]|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=55924+(d<<2)|0;f[i+28>>2]=d;f[i+20>>2]=0;f[i+16>>2]=0;b=f[13906]|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[13913]|0)+-1|0;f[13913]=j;if(j|0)return;a=56076;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[13913]=-1;return}function it(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=gt(c)|0;if(!a)return a|0;if(!(f[a+-4>>2]&3))return a|0;bv(a|0,0,c|0)|0;return a|0}function jt(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=gt(b)|0;return b|0}if(b>>>0>4294967231){b=pt()|0;f[b>>2]=12;b=0;return b|0}c=kt(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=gt(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;$u(c|0,a|0,(d>>>0>>0?d:b)|0)|0;ht(a);b=c;return b|0}function kt(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[14025]<<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;lt(k,c);return a|0}if((f[13911]|0)==(i|0)){k=(f[13908]|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[13911]=d;f[13908]=c;return a|0}if((f[13910]|0)==(i|0)){d=(f[13907]|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[13907]=c;f[13910]=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[13905]=f[13905]&~(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=55924+(c<<2)|0;if((f[d>>2]|0)==(i|0)){f[d>>2]=e;if(!e){f[13906]=f[13906]&~(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;lt(i,k);return a|0}return 0}function lt(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[13910]|0)==(h|0)){a=i+4|0;c=f[a>>2]|0;if((c&3|0)!=3)break;f[13907]=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[13905]=f[13905]&~(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=55924+(c<<2)|0;if((f[d>>2]|0)==(h|0)){f[d>>2]=a;if(!a){f[13906]=f[13906]&~(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[13911]|0)==(i|0)){i=(f[13908]|0)+b|0;f[13908]=i;f[13911]=h;f[h+4>>2]=i|1;if((h|0)!=(f[13910]|0))return;f[13910]=0;f[13907]=0;return}if((f[13910]|0)==(i|0)){i=(f[13907]|0)+b|0;f[13907]=i;f[13910]=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[13905]=f[13905]&~(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=55924+(b<<2)|0;if((f[a>>2]|0)==(i|0)){f[a>>2]=c;if(!c){f[13906]=f[13906]&~(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[13910]|0)){f[13907]=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=55660+(b<<1<<2)|0;a=f[13905]|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=55924+(d<<2)|0;f[h+28>>2]=d;f[h+20>>2]=0;f[h+16>>2]=0;a=f[13906]|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 mt(a,b){a=a|0;b=b|0;if(a>>>0<9){b=gt(b)|0;return b|0}else{b=nt(a,b)|0;return b|0}return 0}function nt(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=pt()|0;f[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;c=gt(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;lt(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;lt(e,i)}i=b+8|0;return i|0}function ot(a){a=a|0;var b=0;if(a>>>0>4294963200){b=pt()|0;f[b>>2]=0-a;a=-1}return a|0}function pt(){return 56180}function qt(a){a=a|0;return a|0}function rt(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function st(){return 30108}function tt(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function ut(a){a=a|0;var b=0;b=(vt(a)|0)==0;return (b?a:a&95)|0}function vt(a){a=a|0;return (a+-97|0)>>>0<26|0}function wt(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 xt(a){a=a|0;return (a+-65|0)>>>0<26|0}function yt(a){a=a|0;var b=0;b=(xt(a)|0)==0;return (b?a:a|32)|0}function zt(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 At(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Bt(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Bt(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=Ct(f[a+8>>2]|0,o)|0;e=Ct(f[a+12>>2]|0,o)|0;g=Ct(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=Ct(f[a+(g<<2)>>2]|0,o)|0;g=Ct(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=wt(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=Ct(f[a+(e<<2)>>2]|0,o)|0;e=Ct(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 Ct(a,b){a=a|0;b=b|0;var c=0;c=_u(a|0)|0;return ((b|0)==0?a:c)|0}function Dt(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=ot(Ha(221,d|0)|0)|0;break}case 9:{f[g>>2]=a;f[g+4>>2]=16;f[g+8>>2]=j;c=Ha(221,g|0)|0;switch(c|0){case -22:{f[m>>2]=a;f[m+4>>2]=9;f[m+8>>2]=n;c=Ha(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=ot(c)|0}break}case 1030:{f[e>>2]=a;f[e+4>>2]=1030;f[e+8>>2]=n;c=Ha(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;Ha(221,k|0)|0}c=ot(c)|0;break a}f[l>>2]=a;f[l+4>>2]=1030;f[l+8>>2]=0;c=Ha(221,l|0)|0;if((c|0)==-22){f[p>>2]=a;f[p+4>>2]=0;f[p+8>>2]=n;c=Ha(221,p|0)|0;if((c|0)>-1){f[q>>2]=c;f[q+4>>2]=2;f[q+8>>2]=1;Ha(221,q|0)|0}c=ot(c)|0;break a}else{if((c|0)>-1){f[o>>2]=c;Oa(6,o|0)|0}c=ot(-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=ot(Ha(221,h|0)|0)|0;break}default:{f[i>>2]=a;f[i+4>>2]=b;f[i+8>>2]=n;c=ot(Ha(221,i|0)|0)|0}}while(0);t=r;return c|0}function Et(){var a=0,b=0;b=t;t=t+16|0;a=Ca(20,b|0)|0;t=b;return a|0}function Ft(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c&255;a:do if(!e)a=a+(zt(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 Gt(a){a=a|0;var b=0;b=(Ht()|0)+188|0;return It(a,f[b>>2]|0)|0}function Ht(){return st()|0}function It(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[26736+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=26832;else{a=d;e=5}if((e|0)==5){d=26832;do{do{e=d;d=d+1|0}while((b[e>>0]|0)!=0);a=a+-1|0}while((a|0)!=0)}return Jt(d,f[c+20>>2]|0)|0}function Jt(a,b){a=a|0;b=b|0;return At(a,b)|0}function Kt(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 Lt(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=Na(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;Ha(221,g|0)|0}i=ot(d)|0;t=h;return i|0}function Mt(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;a=qt(a)|0;f[c>>2]=a;a=Oa(6,c|0)|0;a=ot((a|0)==-4?0:a)|0;t=b;return a|0}function Nt(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=ot(Aa(196,d|0)|0)|0;t=c;return b|0}function Ot(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=ot(za(195,d|0)|0)|0;t=c;return b|0}function Pt(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=ot(Ja(33,d|0)|0)|0;t=c;return b|0}function Qt(a,b){a=a|0;b=b|0;return Tt(a,b,(zt(a)|0)+1|0)|0}function Rt(a,b){a=a|0;b=b|0;St(a,b)|0;return a|0}function St(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 Tt(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 Ut(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=a;e=55271;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 Vt(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=ot(Pa(85,e|0)|0)|0;t=d;return c|0}function Wt(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=Ba(197,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ha(221,d|0)|0)>=0):0){Ut(d,a);f[e>>2]=d;f[e+4>>2]=b;b=ot(za(195,e|0)|0)|0}else b=ot(c)|0;t=g;return b|0}function Xt(a){a=a|0;var b=0,c=0;b=(zt(a)|0)+1|0;c=gt(b)|0;if(!c)a=0;else a=$u(c|0,a|0,b|0)|0;return a|0}function Yt(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=pt()|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((ot(wa(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=Xt(c)|0}else a=0}t=g;return a|0}function Zt(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=ot(La(4,e|0)|0)|0;t=d;return c|0}function _t(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=ot(Ia(3,e|0)|0)|0;t=d;return c|0}function $t(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 au(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=ot(Ka(39,d|0)|0)|0;t=c;return b|0}function bu(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=ot(Qa(91,d|0)|0)|0;t=c;return b|0}function cu(){return}function du(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=+fu(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=+gu(a);break}while(0);return +a}function eu(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=+fu(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*+gu(b);while(0);return +a}function fu(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=Yu(f[s>>2]|0,c|0,63)|0;ba()|0;do if(b>>>0>1078159481){h=hu(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=Zu(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=Zu(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 gu(a){a=+a;return +(+R(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function hu(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 iu(a,b,c){a=a|0;b=b|0;c=c|0;ju(a,b,c)|0;return a|0}function ju(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);bv(a|0,0,d|0)|0;return a|0}function ku(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)lu(a,c,d,e,j);else nu(a,c,d,k,e,0,j);if((e|0)==1){ou(k,1);e=0;break}else{ou(k,b);e=1;break}}else{lu(a,c,d,e,j);mu(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}nu(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{ou(k,2);n=e+-2|0;f[k>>2]=f[k>>2]^7;mu(k,1);nu(a+(0-(f[j+(n<<2)>>2]|0))+i|0,c,d,k,e+-1|0,1,j);ou(k,1);b=f[k>>2]|1;f[k>>2]=b;a=a+i|0;nu(a,c,d,k,n,1,j);e=n}if((l|0)==19){l=0;b=pu(k)|0;mu(k,b);a=a+i|0;e=b+e|0;b=f[k>>2]|0}}}while(0);t=m;return}function lu(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((ib[c&255](h,a)|0)>-1?(ib[c&255](h,i)|0)>-1:0)break a;h=l+(d<<2)|0;if((ib[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);ru(b,l,d);t=m;return}function mu(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 nu(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,(ib[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((ib[c&255](g,j)|0)>-1){i=10;break a}if((ib[c&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=d+1|0;f[n+(d<<2)>>2]=j;p=pu(m)|0;mu(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((ib[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){ru(b,n,d);lu(a,b,c,e,h)}t=o;return}function ou(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=qu(f[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function qu(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 ru(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;$u(d|0,f[b>>2]|0,e|0)|0;d=0;do{i=b+(d<<2)|0;d=d+1|0;$u(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 su(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=(ot(ua(140,g|0)|0)|0)==0;t=e;return (c?f[d>>2]|0:-1)|0}function tu(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=ot(ya(194,d|0)|0)|0;t=c;return b|0}function uu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(ta(118,c|0)|0)|0;t=b;return a|0}function vu(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 wu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(sa(10,c|0)|0)|0;t=b;return a|0}function xu(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=Fa(207,d|0)|0;if((d|0)==-9?(f[e>>2]=a,f[e+4>>2]=1,(Ha(221,e|0)|0)>=0):0){Ut(e,a);f[g>>2]=e;f[g+4>>2]=b;f[g+8>>2]=c;a=ot(Ga(212,g|0)|0)|0}else a=ot(d)|0;t=h;return a|0}function yu(){var a=0,b=0;b=t;t=t+16|0;a=Da(201,b|0)|0;t=b;return a|0}function zu(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=ot(Ma(40,c|0)|0)|0;t=b;return a|0}function Au(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=Yu(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=+Bu(a)*.5;return +((c|0)<0?-a:a)}function Bu(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=Zu(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 Cu(a){a=+a;var b=0;p[s>>3]=a;b=Yu(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=+Bu(a+ +I(+(a*a+a*2.0)))}while(0);return +a}function Du(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/(+fu(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+fu(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+fu(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function Eu(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=Yu(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=+Bu(e/(+I(+(e+1.0))+1.0)+a)}}else a=+S(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function Fu(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=Ra(94,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ha(221,d|0)|0)>=0):0){Ut(d,a);f[e>>2]=d;f[e+4>>2]=b;a=ot(va(15,e|0)|0)|0}else a=ot(c)|0;t=g;return a|0}function Gu(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=pt()|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=ot(xa(192,h|0)|0)|0}else{a=pt()|0;f[a>>2]=22;a=-1}while(0);t=i;return a|0}function Hu(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){bv(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=Ft(a,d<<24>>24)|0;t=h;return d-a|0}function Iu(){qa(56200);return}function Ju(){return 56184}function Ku(){return 56192}function Lu(){return 56196}function Mu(){return 56200}function Nu(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 Ou(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 Pu(a){a=a|0;return (a?31-(X(a^a-1)|0)|0:32)|0}function Qu(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=Pu(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>>>((Pu(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=Nu(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;Ou(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=Ou(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 Ru(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=Ou(j^a|0,i^b|0,j|0,i|0)|0;g=ba()|0;a=f^j;b=e^i;return Ou((Qu(h,g,Ou(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 Su(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 Tu(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=Su(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 Uu(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=Ou(h^a|0,g^b|0,h|0,g|0)|0;b=ba()|0;Qu(a,b,Ou(k^c|0,j^d|0,k|0,j|0)|0,ba()|0,i)|0;d=Ou(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 Vu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qu(a,b,c,d,0)|0}function Wu(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;Qu(a,b,c,d,e)|0;t=g;return (aa(f[e+4>>2]|0),f[e>>2]|0)|0}function Xu(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 Yu(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 Zu(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 $u(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Sa(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 av(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 $u(a,c,d)|0;return a|0}function bv(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 cv(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;ra(12);return -1}f[r>>2]=b;if((b|0)>($()|0)?(_()|0)==0:0){f[r>>2]=c;ra(12);return -1}return c|0}function dv(a){a=a|0;return gb[a&127]()|0}function ev(){return da(0)|0}function fv(){return da(1)|0}function gv(){return da(2)|0}function hv(){return da(3)|0}function iv(){return da(4)|0}function jv(){return da(5)|0}function kv(){return da(6)|0}function lv(){return da(7)|0}function mv(){return da(8)|0}function nv(){return da(9)|0}function ov(){return da(10)|0}function pv(){return da(11)|0}function qv(){return da(12)|0}function rv(){return da(13)|0}function sv(){return da(14)|0}function tv(){return da(15)|0}function uv(){return da(16)|0}function vv(){return da(17)|0}function wv(){return da(18)|0}function xv(){return da(19)|0}function yv(){return da(20)|0}function zv(){return da(21)|0}function Av(){return da(22)|0}function Bv(){return da(23)|0}function Cv(){return da(24)|0}function Dv(){return da(25)|0}function Ev(){return da(26)|0}function Fv(){return da(27)|0}function Gv(){return da(28)|0}function Hv(){return da(29)|0}function Iv(){return da(30)|0}function Jv(){return da(31)|0}function Kv(){return da(32)|0}function Lv(){return da(33)|0}function Mv(){return da(34)|0}function Nv(){return da(35)|0}function Ov(){return da(36)|0}function Pv(){return da(37)|0}function Qv(){return da(38)|0}function Rv(){return da(39)|0}function Sv(){return da(40)|0}function Tv(){return da(41)|0}function Uv(){return da(42)|0}function Vv(){return da(43)|0}function Wv(){return da(44)|0}function Xv(){return da(45)|0}function Yv(){return da(46)|0}function Zv(){return da(47)|0}function _v(){return da(48)|0}function $v(){return da(49)|0}function aw(){return da(50)|0}function bw(){return da(51)|0}function cw(){return da(52)|0}function dw(){return da(53)|0}function ew(){return da(54)|0}function fw(){return da(55)|0}function gw(){return da(56)|0}function hw(){return da(57)|0}function iw(){return da(58)|0}function jw(){return da(59)|0}function kw(){return da(60)|0}function lw(){return da(61)|0}function mw(){return da(62)|0}function nw(){return da(63)|0}function ow(a,b){a=a|0;b=b|0;return hb[a&127](b|0)|0}function pw(a){a=a|0;return ea(0,a|0)|0}function qw(a){a=a|0;return ea(1,a|0)|0}function rw(a){a=a|0;return ea(2,a|0)|0}function sw(a){a=a|0;return ea(3,a|0)|0}function tw(a){a=a|0;return ea(4,a|0)|0}function uw(a){a=a|0;return ea(5,a|0)|0}function vw(a){a=a|0;return ea(6,a|0)|0}function ww(a){a=a|0;return ea(7,a|0)|0}function xw(a){a=a|0;return ea(8,a|0)|0}function yw(a){a=a|0;return ea(9,a|0)|0}function zw(a){a=a|0;return ea(10,a|0)|0}function Aw(a){a=a|0;return ea(11,a|0)|0}function Bw(a){a=a|0;return ea(12,a|0)|0}function Cw(a){a=a|0;return ea(13,a|0)|0}function Dw(a){a=a|0;return ea(14,a|0)|0}function Ew(a){a=a|0;return ea(15,a|0)|0}function Fw(a){a=a|0;return ea(16,a|0)|0}function Gw(a){a=a|0;return ea(17,a|0)|0}function Hw(a){a=a|0;return ea(18,a|0)|0}function Iw(a){a=a|0;return ea(19,a|0)|0}function Jw(a){a=a|0;return ea(20,a|0)|0}function Kw(a){a=a|0;return ea(21,a|0)|0}function Lw(a){a=a|0;return ea(22,a|0)|0}function Mw(a){a=a|0;return ea(23,a|0)|0}function Nw(a){a=a|0;return ea(24,a|0)|0}function Ow(a){a=a|0;return ea(25,a|0)|0}function Pw(a){a=a|0;return ea(26,a|0)|0}function Qw(a){a=a|0;return ea(27,a|0)|0}function Rw(a){a=a|0;return ea(28,a|0)|0}function Sw(a){a=a|0;return ea(29,a|0)|0}function Tw(a){a=a|0;return ea(30,a|0)|0}function Uw(a){a=a|0;return ea(31,a|0)|0}function Vw(a){a=a|0;return ea(32,a|0)|0}function Ww(a){a=a|0;return ea(33,a|0)|0}function Xw(a){a=a|0;return ea(34,a|0)|0}function Yw(a){a=a|0;return ea(35,a|0)|0}function Zw(a){a=a|0;return ea(36,a|0)|0}function _w(a){a=a|0;return ea(37,a|0)|0}function $w(a){a=a|0;return ea(38,a|0)|0}function ax(a){a=a|0;return ea(39,a|0)|0}function bx(a){a=a|0;return ea(40,a|0)|0}function cx(a){a=a|0;return ea(41,a|0)|0}function dx(a){a=a|0;return ea(42,a|0)|0}function ex(a){a=a|0;return ea(43,a|0)|0}function fx(a){a=a|0;return ea(44,a|0)|0}function gx(a){a=a|0;return ea(45,a|0)|0}function hx(a){a=a|0;return ea(46,a|0)|0}function ix(a){a=a|0;return ea(47,a|0)|0}function jx(a){a=a|0;return ea(48,a|0)|0}function kx(a){a=a|0;return ea(49,a|0)|0}function lx(a){a=a|0;return ea(50,a|0)|0}function mx(a){a=a|0;return ea(51,a|0)|0}function nx(a){a=a|0;return ea(52,a|0)|0}function ox(a){a=a|0;return ea(53,a|0)|0}function px(a){a=a|0;return ea(54,a|0)|0}function qx(a){a=a|0;return ea(55,a|0)|0}function rx(a){a=a|0;return ea(56,a|0)|0}function sx(a){a=a|0;return ea(57,a|0)|0}function tx(a){a=a|0;return ea(58,a|0)|0}function ux(a){a=a|0;return ea(59,a|0)|0}function vx(a){a=a|0;return ea(60,a|0)|0}function wx(a){a=a|0;return ea(61,a|0)|0}function xx(a){a=a|0;return ea(62,a|0)|0}function yx(a){a=a|0;return ea(63,a|0)|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;return ib[a&255](b|0,c|0)|0}function Ax(a,b){a=a|0;b=b|0;return fa(0,a|0,b|0)|0}function Bx(a,b){a=a|0;b=b|0;return fa(1,a|0,b|0)|0}function Cx(a,b){a=a|0;b=b|0;return fa(2,a|0,b|0)|0}function Dx(a,b){a=a|0;b=b|0;return fa(3,a|0,b|0)|0}function Ex(a,b){a=a|0;b=b|0;return fa(4,a|0,b|0)|0}function Fx(a,b){a=a|0;b=b|0;return fa(5,a|0,b|0)|0}function Gx(a,b){a=a|0;b=b|0;return fa(6,a|0,b|0)|0}function Hx(a,b){a=a|0;b=b|0;return fa(7,a|0,b|0)|0}function Ix(a,b){a=a|0;b=b|0;return fa(8,a|0,b|0)|0}function Jx(a,b){a=a|0;b=b|0;return fa(9,a|0,b|0)|0}function Kx(a,b){a=a|0;b=b|0;return fa(10,a|0,b|0)|0}function Lx(a,b){a=a|0;b=b|0;return fa(11,a|0,b|0)|0}function Mx(a,b){a=a|0;b=b|0;return fa(12,a|0,b|0)|0}function Nx(a,b){a=a|0;b=b|0;return fa(13,a|0,b|0)|0}function Ox(a,b){a=a|0;b=b|0;return fa(14,a|0,b|0)|0}function Px(a,b){a=a|0;b=b|0;return fa(15,a|0,b|0)|0}function Qx(a,b){a=a|0;b=b|0;return fa(16,a|0,b|0)|0}function Rx(a,b){a=a|0;b=b|0;return fa(17,a|0,b|0)|0}function Sx(a,b){a=a|0;b=b|0;return fa(18,a|0,b|0)|0}function Tx(a,b){a=a|0;b=b|0;return fa(19,a|0,b|0)|0}function Ux(a,b){a=a|0;b=b|0;return fa(20,a|0,b|0)|0}function Vx(a,b){a=a|0;b=b|0;return fa(21,a|0,b|0)|0}function Wx(a,b){a=a|0;b=b|0;return fa(22,a|0,b|0)|0}function Xx(a,b){a=a|0;b=b|0;return fa(23,a|0,b|0)|0}function Yx(a,b){a=a|0;b=b|0;return fa(24,a|0,b|0)|0}function Zx(a,b){a=a|0;b=b|0;return fa(25,a|0,b|0)|0}function _x(a,b){a=a|0;b=b|0;return fa(26,a|0,b|0)|0}function $x(a,b){a=a|0;b=b|0;return fa(27,a|0,b|0)|0}function ay(a,b){a=a|0;b=b|0;return fa(28,a|0,b|0)|0}function by(a,b){a=a|0;b=b|0;return fa(29,a|0,b|0)|0}function cy(a,b){a=a|0;b=b|0;return fa(30,a|0,b|0)|0}function dy(a,b){a=a|0;b=b|0;return fa(31,a|0,b|0)|0}function ey(a,b){a=a|0;b=b|0;return fa(32,a|0,b|0)|0}function fy(a,b){a=a|0;b=b|0;return fa(33,a|0,b|0)|0}function gy(a,b){a=a|0;b=b|0;return fa(34,a|0,b|0)|0}function hy(a,b){a=a|0;b=b|0;return fa(35,a|0,b|0)|0}function iy(a,b){a=a|0;b=b|0;return fa(36,a|0,b|0)|0}function jy(a,b){a=a|0;b=b|0;return fa(37,a|0,b|0)|0}function ky(a,b){a=a|0;b=b|0;return fa(38,a|0,b|0)|0}function ly(a,b){a=a|0;b=b|0;return fa(39,a|0,b|0)|0}function my(a,b){a=a|0;b=b|0;return fa(40,a|0,b|0)|0}function ny(a,b){a=a|0;b=b|0;return fa(41,a|0,b|0)|0}function oy(a,b){a=a|0;b=b|0;return fa(42,a|0,b|0)|0}function py(a,b){a=a|0;b=b|0;return fa(43,a|0,b|0)|0}function qy(a,b){a=a|0;b=b|0;return fa(44,a|0,b|0)|0}function ry(a,b){a=a|0;b=b|0;return fa(45,a|0,b|0)|0}function sy(a,b){a=a|0;b=b|0;return fa(46,a|0,b|0)|0}function ty(a,b){a=a|0;b=b|0;return fa(47,a|0,b|0)|0}function uy(a,b){a=a|0;b=b|0;return fa(48,a|0,b|0)|0}function vy(a,b){a=a|0;b=b|0;return fa(49,a|0,b|0)|0}function wy(a,b){a=a|0;b=b|0;return fa(50,a|0,b|0)|0}function xy(a,b){a=a|0;b=b|0;return fa(51,a|0,b|0)|0}function yy(a,b){a=a|0;b=b|0;return fa(52,a|0,b|0)|0}function zy(a,b){a=a|0;b=b|0;return fa(53,a|0,b|0)|0}function Ay(a,b){a=a|0;b=b|0;return fa(54,a|0,b|0)|0}function By(a,b){a=a|0;b=b|0;return fa(55,a|0,b|0)|0}function Cy(a,b){a=a|0;b=b|0;return fa(56,a|0,b|0)|0}function Dy(a,b){a=a|0;b=b|0;return fa(57,a|0,b|0)|0}function Ey(a,b){a=a|0;b=b|0;return fa(58,a|0,b|0)|0}function Fy(a,b){a=a|0;b=b|0;return fa(59,a|0,b|0)|0}function Gy(a,b){a=a|0;b=b|0;return fa(60,a|0,b|0)|0}function Hy(a,b){a=a|0;b=b|0;return fa(61,a|0,b|0)|0}function Iy(a,b){a=a|0;b=b|0;return fa(62,a|0,b|0)|0}function Jy(a,b){a=a|0;b=b|0;return fa(63,a|0,b|0)|0}function Ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jb[a&127](b|0,c|0,d|0)|0}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function My(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function Py(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|0}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(10,a|0,b|0,c|0)|0}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(11,a|0,b|0,c|0)|0}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(12,a|0,b|0,c|0)|0}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(13,a|0,b|0,c|0)|0}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;return ga(14,a|0,b|0,c|0)|0}function _y(a,b,c){a=a|0;b=b|0;c=c|0;return ga(15,a|0,b|0,c|0)|0}function $y(a,b,c){a=a|0;b=b|0;c=c|0;return ga(16,a|0,b|0,c|0)|0}function az(a,b,c){a=a|0;b=b|0;c=c|0;return ga(17,a|0,b|0,c|0)|0}function bz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(18,a|0,b|0,c|0)|0}function cz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(19,a|0,b|0,c|0)|0}function dz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(20,a|0,b|0,c|0)|0}function ez(a,b,c){a=a|0;b=b|0;c=c|0;return ga(21,a|0,b|0,c|0)|0}function fz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(22,a|0,b|0,c|0)|0}function gz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(23,a|0,b|0,c|0)|0}function hz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(24,a|0,b|0,c|0)|0}function iz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(25,a|0,b|0,c|0)|0}function jz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(26,a|0,b|0,c|0)|0}function kz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(27,a|0,b|0,c|0)|0}function lz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(28,a|0,b|0,c|0)|0}function mz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(29,a|0,b|0,c|0)|0}function nz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(30,a|0,b|0,c|0)|0}function oz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(31,a|0,b|0,c|0)|0}function pz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(32,a|0,b|0,c|0)|0}function qz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(33,a|0,b|0,c|0)|0}function rz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(34,a|0,b|0,c|0)|0}function sz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(35,a|0,b|0,c|0)|0}function tz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(36,a|0,b|0,c|0)|0}function uz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(37,a|0,b|0,c|0)|0}function vz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(38,a|0,b|0,c|0)|0}function wz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(39,a|0,b|0,c|0)|0}function xz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(40,a|0,b|0,c|0)|0}function yz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(41,a|0,b|0,c|0)|0}function zz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(42,a|0,b|0,c|0)|0}function Az(a,b,c){a=a|0;b=b|0;c=c|0;return ga(43,a|0,b|0,c|0)|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(44,a|0,b|0,c|0)|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(45,a|0,b|0,c|0)|0}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(46,a|0,b|0,c|0)|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return ga(47,a|0,b|0,c|0)|0}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(48,a|0,b|0,c|0)|0}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(49,a|0,b|0,c|0)|0}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(50,a|0,b|0,c|0)|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(51,a|0,b|0,c|0)|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(52,a|0,b|0,c|0)|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(53,a|0,b|0,c|0)|0}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(54,a|0,b|0,c|0)|0}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(55,a|0,b|0,c|0)|0}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(56,a|0,b|0,c|0)|0}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(57,a|0,b|0,c|0)|0}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(58,a|0,b|0,c|0)|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(59,a|0,b|0,c|0)|0}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(60,a|0,b|0,c|0)|0}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(61,a|0,b|0,c|0)|0}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(62,a|0,b|0,c|0)|0}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;return ga(63,a|0,b|0,c|0)|0}function Vz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kb[a&127](b|0,c|0,d|0,e|0)|0}function Wz(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 Xz(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 Yz(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 Zz(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 _z(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 $z(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 aA(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 bA(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 cA(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 dA(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 eA(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 fA(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 gA(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 hA(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 iA(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 jA(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 kA(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 lA(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 mA(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 nA(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 oA(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 pA(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 qA(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 rA(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 sA(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 tA(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 uA(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 vA(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 wA(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 xA(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 yA(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 zA(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 AA(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 BA(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 CA(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 DA(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 EA(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 FA(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 GA(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 HA(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 IA(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 JA(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 KA(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 LA(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 MA(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 NA(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 OA(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 PA(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 QA(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 RA(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 SA(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 TA(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 UA(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 VA(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 WA(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 XA(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 YA(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 ZA(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 _A(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 $A(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 aB(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 bB(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 cB(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 dB(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 eB(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 lb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function fB(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 gB(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 hB(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 iB(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 jB(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 kB(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 lB(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 mB(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 nB(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 oB(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 pB(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 qB(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 rB(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 sB(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 tB(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 uB(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 vB(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 wB(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 xB(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 yB(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 zB(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 AB(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 BB(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 CB(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 DB(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 EB(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 FB(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 GB(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 HB(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 IB(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 JB(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 KB(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 LB(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 MB(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 NB(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 OB(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 PB(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 QB(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 RB(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 SB(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 TB(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 UB(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 VB(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 WB(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 XB(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 YB(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 ZB(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 _B(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 $B(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 aC(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 bC(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 cC(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 dC(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 eC(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 fC(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 gC(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 hC(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 iC(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 jC(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 kC(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 lC(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 mC(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 nC(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 oC(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 pC(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 mb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function qC(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 rC(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 sC(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 tC(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 uC(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 vC(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 wC(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 xC(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 yC(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 zC(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 AC(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 BC(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 CC(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 DC(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 EC(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 FC(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 GC(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 HC(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 IC(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 JC(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 KC(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 LC(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 MC(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 NC(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 OC(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 PC(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 QC(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 RC(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 SC(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 TC(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 UC(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 VC(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 WC(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 XC(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 YC(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 ZC(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 _C(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 $C(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 aD(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 bD(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 cD(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 dD(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 eD(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 fD(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 gD(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 hD(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 iD(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 jD(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 kD(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 lD(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 mD(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 nD(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 oD(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 pD(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 qD(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 rD(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 sD(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 tD(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 uD(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 vD(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 wD(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 xD(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 yD(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 zD(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 AD(a,b){a=a|0;b=b|0;nb[a&127](b|0)}function BD(a){a=a|0;ka(0,a|0)}function CD(a){a=a|0;ka(1,a|0)}function DD(a){a=a|0;ka(2,a|0)}function ED(a){a=a|0;ka(3,a|0)}function FD(a){a=a|0;ka(4,a|0)}function GD(a){a=a|0;ka(5,a|0)}function HD(a){a=a|0;ka(6,a|0)}function ID(a){a=a|0;ka(7,a|0)}function JD(a){a=a|0;ka(8,a|0)}function KD(a){a=a|0;ka(9,a|0)}function LD(a){a=a|0;ka(10,a|0)}function MD(a){a=a|0;ka(11,a|0)}function ND(a){a=a|0;ka(12,a|0)}function OD(a){a=a|0;ka(13,a|0)}function PD(a){a=a|0;ka(14,a|0)}function QD(a){a=a|0;ka(15,a|0)}function RD(a){a=a|0;ka(16,a|0)}function SD(a){a=a|0;ka(17,a|0)}function TD(a){a=a|0;ka(18,a|0)}function UD(a){a=a|0;ka(19,a|0)}function VD(a){a=a|0;ka(20,a|0)}function WD(a){a=a|0;ka(21,a|0)}function XD(a){a=a|0;ka(22,a|0)}function YD(a){a=a|0;ka(23,a|0)}function ZD(a){a=a|0;ka(24,a|0)}function _D(a){a=a|0;ka(25,a|0)}function $D(a){a=a|0;ka(26,a|0)}function aE(a){a=a|0;ka(27,a|0)}function bE(a){a=a|0;ka(28,a|0)}function cE(a){a=a|0;ka(29,a|0)}function dE(a){a=a|0;ka(30,a|0)}function eE(a){a=a|0;ka(31,a|0)}function fE(a){a=a|0;ka(32,a|0)}function gE(a){a=a|0;ka(33,a|0)}function hE(a){a=a|0;ka(34,a|0)}function iE(a){a=a|0;ka(35,a|0)}function jE(a){a=a|0;ka(36,a|0)}function kE(a){a=a|0;ka(37,a|0)}function lE(a){a=a|0;ka(38,a|0)}function mE(a){a=a|0;ka(39,a|0)}function nE(a){a=a|0;ka(40,a|0)}function oE(a){a=a|0;ka(41,a|0)}function pE(a){a=a|0;ka(42,a|0)}function qE(a){a=a|0;ka(43,a|0)}function rE(a){a=a|0;ka(44,a|0)}function sE(a){a=a|0;ka(45,a|0)}function tE(a){a=a|0;ka(46,a|0)}function uE(a){a=a|0;ka(47,a|0)}function vE(a){a=a|0;ka(48,a|0)}function wE(a){a=a|0;ka(49,a|0)}function xE(a){a=a|0;ka(50,a|0)}function yE(a){a=a|0;ka(51,a|0)}function zE(a){a=a|0;ka(52,a|0)}function AE(a){a=a|0;ka(53,a|0)}function BE(a){a=a|0;ka(54,a|0)}function CE(a){a=a|0;ka(55,a|0)}function DE(a){a=a|0;ka(56,a|0)}function EE(a){a=a|0;ka(57,a|0)}function FE(a){a=a|0;ka(58,a|0)}function GE(a){a=a|0;ka(59,a|0)}function HE(a){a=a|0;ka(60,a|0)}function IE(a){a=a|0;ka(61,a|0)}function JE(a){a=a|0;ka(62,a|0)}function KE(a){a=a|0;ka(63,a|0)}function LE(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&127](b|0,c|0)}function ME(a,b){a=a|0;b=b|0;la(0,a|0,b|0)}function NE(a,b){a=a|0;b=b|0;la(1,a|0,b|0)}function OE(a,b){a=a|0;b=b|0;la(2,a|0,b|0)}function PE(a,b){a=a|0;b=b|0;la(3,a|0,b|0)}function QE(a,b){a=a|0;b=b|0;la(4,a|0,b|0)}function RE(a,b){a=a|0;b=b|0;la(5,a|0,b|0)}function SE(a,b){a=a|0;b=b|0;la(6,a|0,b|0)}function TE(a,b){a=a|0;b=b|0;la(7,a|0,b|0)}function UE(a,b){a=a|0;b=b|0;la(8,a|0,b|0)}function VE(a,b){a=a|0;b=b|0;la(9,a|0,b|0)}function WE(a,b){a=a|0;b=b|0;la(10,a|0,b|0)}function XE(a,b){a=a|0;b=b|0;la(11,a|0,b|0)}function YE(a,b){a=a|0;b=b|0;la(12,a|0,b|0)}function ZE(a,b){a=a|0;b=b|0;la(13,a|0,b|0)}function _E(a,b){a=a|0;b=b|0;la(14,a|0,b|0)}function $E(a,b){a=a|0;b=b|0;la(15,a|0,b|0)}function aF(a,b){a=a|0;b=b|0;la(16,a|0,b|0)}function bF(a,b){a=a|0;b=b|0;la(17,a|0,b|0)}function cF(a,b){a=a|0;b=b|0;la(18,a|0,b|0)}function dF(a,b){a=a|0;b=b|0;la(19,a|0,b|0)}function eF(a,b){a=a|0;b=b|0;la(20,a|0,b|0)}function fF(a,b){a=a|0;b=b|0;la(21,a|0,b|0)}function gF(a,b){a=a|0;b=b|0;la(22,a|0,b|0)}function hF(a,b){a=a|0;b=b|0;la(23,a|0,b|0)}function iF(a,b){a=a|0;b=b|0;la(24,a|0,b|0)}function jF(a,b){a=a|0;b=b|0;la(25,a|0,b|0)}function kF(a,b){a=a|0;b=b|0;la(26,a|0,b|0)}function lF(a,b){a=a|0;b=b|0;la(27,a|0,b|0)}function mF(a,b){a=a|0;b=b|0;la(28,a|0,b|0)}function nF(a,b){a=a|0;b=b|0;la(29,a|0,b|0)}function oF(a,b){a=a|0;b=b|0;la(30,a|0,b|0)}function pF(a,b){a=a|0;b=b|0;la(31,a|0,b|0)}function qF(a,b){a=a|0;b=b|0;la(32,a|0,b|0)}function rF(a,b){a=a|0;b=b|0;la(33,a|0,b|0)}function sF(a,b){a=a|0;b=b|0;la(34,a|0,b|0)}function tF(a,b){a=a|0;b=b|0;la(35,a|0,b|0)}function uF(a,b){a=a|0;b=b|0;la(36,a|0,b|0)}function vF(a,b){a=a|0;b=b|0;la(37,a|0,b|0)}function wF(a,b){a=a|0;b=b|0;la(38,a|0,b|0)}function xF(a,b){a=a|0;b=b|0;la(39,a|0,b|0)}function yF(a,b){a=a|0;b=b|0;la(40,a|0,b|0)}function zF(a,b){a=a|0;b=b|0;la(41,a|0,b|0)}function AF(a,b){a=a|0;b=b|0;la(42,a|0,b|0)}function BF(a,b){a=a|0;b=b|0;la(43,a|0,b|0)}function CF(a,b){a=a|0;b=b|0;la(44,a|0,b|0)}function DF(a,b){a=a|0;b=b|0;la(45,a|0,b|0)}function EF(a,b){a=a|0;b=b|0;la(46,a|0,b|0)}function FF(a,b){a=a|0;b=b|0;la(47,a|0,b|0)}function GF(a,b){a=a|0;b=b|0;la(48,a|0,b|0)}function HF(a,b){a=a|0;b=b|0;la(49,a|0,b|0)}function IF(a,b){a=a|0;b=b|0;la(50,a|0,b|0)}function JF(a,b){a=a|0;b=b|0;la(51,a|0,b|0)}function KF(a,b){a=a|0;b=b|0;la(52,a|0,b|0)}function LF(a,b){a=a|0;b=b|0;la(53,a|0,b|0)}function MF(a,b){a=a|0;b=b|0;la(54,a|0,b|0)}function NF(a,b){a=a|0;b=b|0;la(55,a|0,b|0)}function OF(a,b){a=a|0;b=b|0;la(56,a|0,b|0)}function PF(a,b){a=a|0;b=b|0;la(57,a|0,b|0)}function QF(a,b){a=a|0;b=b|0;la(58,a|0,b|0)}function RF(a,b){a=a|0;b=b|0;la(59,a|0,b|0)}function SF(a,b){a=a|0;b=b|0;la(60,a|0,b|0)}function TF(a,b){a=a|0;b=b|0;la(61,a|0,b|0)}function UF(a,b){a=a|0;b=b|0;la(62,a|0,b|0)}function VF(a,b){a=a|0;b=b|0;la(63,a|0,b|0)}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&255](b|0,c|0,d|0)}function XF(a,b,c){a=a|0;b=b|0;c=c|0;ma(0,a|0,b|0,c|0)}function YF(a,b,c){a=a|0;b=b|0;c=c|0;ma(1,a|0,b|0,c|0)}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;ma(2,a|0,b|0,c|0)}function _F(a,b,c){a=a|0;b=b|0;c=c|0;ma(3,a|0,b|0,c|0)}function $F(a,b,c){a=a|0;b=b|0;c=c|0;ma(4,a|0,b|0,c|0)}function aG(a,b,c){a=a|0;b=b|0;c=c|0;ma(5,a|0,b|0,c|0)}function bG(a,b,c){a=a|0;b=b|0;c=c|0;ma(6,a|0,b|0,c|0)}function cG(a,b,c){a=a|0;b=b|0;c=c|0;ma(7,a|0,b|0,c|0)}function dG(a,b,c){a=a|0;b=b|0;c=c|0;ma(8,a|0,b|0,c|0)}function eG(a,b,c){a=a|0;b=b|0;c=c|0;ma(9,a|0,b|0,c|0)}function fG(a,b,c){a=a|0;b=b|0;c=c|0;ma(10,a|0,b|0,c|0)}function gG(a,b,c){a=a|0;b=b|0;c=c|0;ma(11,a|0,b|0,c|0)}function hG(a,b,c){a=a|0;b=b|0;c=c|0;ma(12,a|0,b|0,c|0)}function iG(a,b,c){a=a|0;b=b|0;c=c|0;ma(13,a|0,b|0,c|0)}function jG(a,b,c){a=a|0;b=b|0;c=c|0;ma(14,a|0,b|0,c|0)}function kG(a,b,c){a=a|0;b=b|0;c=c|0;ma(15,a|0,b|0,c|0)}function lG(a,b,c){a=a|0;b=b|0;c=c|0;ma(16,a|0,b|0,c|0)}function mG(a,b,c){a=a|0;b=b|0;c=c|0;ma(17,a|0,b|0,c|0)}function nG(a,b,c){a=a|0;b=b|0;c=c|0;ma(18,a|0,b|0,c|0)}function oG(a,b,c){a=a|0;b=b|0;c=c|0;ma(19,a|0,b|0,c|0)}function pG(a,b,c){a=a|0;b=b|0;c=c|0;ma(20,a|0,b|0,c|0)}function qG(a,b,c){a=a|0;b=b|0;c=c|0;ma(21,a|0,b|0,c|0)}function rG(a,b,c){a=a|0;b=b|0;c=c|0;ma(22,a|0,b|0,c|0)}function sG(a,b,c){a=a|0;b=b|0;c=c|0;ma(23,a|0,b|0,c|0)}function tG(a,b,c){a=a|0;b=b|0;c=c|0;ma(24,a|0,b|0,c|0)}function uG(a,b,c){a=a|0;b=b|0;c=c|0;ma(25,a|0,b|0,c|0)}function vG(a,b,c){a=a|0;b=b|0;c=c|0;ma(26,a|0,b|0,c|0)}function wG(a,b,c){a=a|0;b=b|0;c=c|0;ma(27,a|0,b|0,c|0)}function xG(a,b,c){a=a|0;b=b|0;c=c|0;ma(28,a|0,b|0,c|0)}function yG(a,b,c){a=a|0;b=b|0;c=c|0;ma(29,a|0,b|0,c|0)}function zG(a,b,c){a=a|0;b=b|0;c=c|0;ma(30,a|0,b|0,c|0)}function AG(a,b,c){a=a|0;b=b|0;c=c|0;ma(31,a|0,b|0,c|0)}function BG(a,b,c){a=a|0;b=b|0;c=c|0;ma(32,a|0,b|0,c|0)}function CG(a,b,c){a=a|0;b=b|0;c=c|0;ma(33,a|0,b|0,c|0)}function DG(a,b,c){a=a|0;b=b|0;c=c|0;ma(34,a|0,b|0,c|0)}function EG(a,b,c){a=a|0;b=b|0;c=c|0;ma(35,a|0,b|0,c|0)}function FG(a,b,c){a=a|0;b=b|0;c=c|0;ma(36,a|0,b|0,c|0)}function GG(a,b,c){a=a|0;b=b|0;c=c|0;ma(37,a|0,b|0,c|0)}function HG(a,b,c){a=a|0;b=b|0;c=c|0;ma(38,a|0,b|0,c|0)}function IG(a,b,c){a=a|0;b=b|0;c=c|0;ma(39,a|0,b|0,c|0)}function JG(a,b,c){a=a|0;b=b|0;c=c|0;ma(40,a|0,b|0,c|0)}function KG(a,b,c){a=a|0;b=b|0;c=c|0;ma(41,a|0,b|0,c|0)}function LG(a,b,c){a=a|0;b=b|0;c=c|0;ma(42,a|0,b|0,c|0)}function MG(a,b,c){a=a|0;b=b|0;c=c|0;ma(43,a|0,b|0,c|0)}function NG(a,b,c){a=a|0;b=b|0;c=c|0;ma(44,a|0,b|0,c|0)}function OG(a,b,c){a=a|0;b=b|0;c=c|0;ma(45,a|0,b|0,c|0)}function PG(a,b,c){a=a|0;b=b|0;c=c|0;ma(46,a|0,b|0,c|0)}function QG(a,b,c){a=a|0;b=b|0;c=c|0;ma(47,a|0,b|0,c|0)}function RG(a,b,c){a=a|0;b=b|0;c=c|0;ma(48,a|0,b|0,c|0)}function SG(a,b,c){a=a|0;b=b|0;c=c|0;ma(49,a|0,b|0,c|0)}function TG(a,b,c){a=a|0;b=b|0;c=c|0;ma(50,a|0,b|0,c|0)}function UG(a,b,c){a=a|0;b=b|0;c=c|0;ma(51,a|0,b|0,c|0)}function VG(a,b,c){a=a|0;b=b|0;c=c|0;ma(52,a|0,b|0,c|0)}function WG(a,b,c){a=a|0;b=b|0;c=c|0;ma(53,a|0,b|0,c|0)}function XG(a,b,c){a=a|0;b=b|0;c=c|0;ma(54,a|0,b|0,c|0)}function YG(a,b,c){a=a|0;b=b|0;c=c|0;ma(55,a|0,b|0,c|0)}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;ma(56,a|0,b|0,c|0)}function _G(a,b,c){a=a|0;b=b|0;c=c|0;ma(57,a|0,b|0,c|0)}function $G(a,b,c){a=a|0;b=b|0;c=c|0;ma(58,a|0,b|0,c|0)}function aH(a,b,c){a=a|0;b=b|0;c=c|0;ma(59,a|0,b|0,c|0)}function bH(a,b,c){a=a|0;b=b|0;c=c|0;ma(60,a|0,b|0,c|0)}function cH(a,b,c){a=a|0;b=b|0;c=c|0;ma(61,a|0,b|0,c|0)}function dH(a,b,c){a=a|0;b=b|0;c=c|0;ma(62,a|0,b|0,c|0)}function eH(a,b,c){a=a|0;b=b|0;c=c|0;ma(63,a|0,b|0,c|0)}function fH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qb[a&127](b|0,c|0,d|0,e|0)}function gH(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 hH(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 iH(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 jH(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 kH(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 lH(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 mH(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 nH(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 oH(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 pH(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 qH(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 rH(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 sH(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 tH(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 uH(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 vH(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 wH(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 xH(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 yH(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 zH(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 AH(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 BH(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 CH(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 DH(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 EH(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 FH(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 GH(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 HH(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 IH(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 JH(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 KH(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 LH(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 MH(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 NH(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 OH(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 PH(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 QH(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 RH(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 SH(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 TH(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 UH(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 VH(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 WH(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 XH(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 YH(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 ZH(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 _H(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 $H(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 aI(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 bI(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 cI(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 dI(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 eI(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 fI(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 gI(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 hI(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 iI(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 jI(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 kI(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 lI(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 mI(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 nI(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 oI(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 pI(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 qI(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;rb[a&127](b|0,c|0,d|0,e|0,f|0,g|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;oa(0,a|0,b|0,c|0,d|0,e|0,f|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;oa(1,a|0,b|0,c|0,d|0,e|0,f|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;oa(2,a|0,b|0,c|0,d|0,e|0,f|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;oa(3,a|0,b|0,c|0,d|0,e|0,f|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;oa(4,a|0,b|0,c|0,d|0,e|0,f|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;oa(5,a|0,b|0,c|0,d|0,e|0,f|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;oa(6,a|0,b|0,c|0,d|0,e|0,f|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;oa(7,a|0,b|0,c|0,d|0,e|0,f|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;oa(8,a|0,b|0,c|0,d|0,e|0,f|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;oa(9,a|0,b|0,c|0,d|0,e|0,f|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;oa(10,a|0,b|0,c|0,d|0,e|0,f|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;oa(11,a|0,b|0,c|0,d|0,e|0,f|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;oa(12,a|0,b|0,c|0,d|0,e|0,f|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;oa(13,a|0,b|0,c|0,d|0,e|0,f|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;oa(14,a|0,b|0,c|0,d|0,e|0,f|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;oa(15,a|0,b|0,c|0,d|0,e|0,f|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;oa(16,a|0,b|0,c|0,d|0,e|0,f|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;oa(17,a|0,b|0,c|0,d|0,e|0,f|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;oa(18,a|0,b|0,c|0,d|0,e|0,f|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;oa(19,a|0,b|0,c|0,d|0,e|0,f|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;oa(20,a|0,b|0,c|0,d|0,e|0,f|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;oa(21,a|0,b|0,c|0,d|0,e|0,f|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;oa(22,a|0,b|0,c|0,d|0,e|0,f|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;oa(23,a|0,b|0,c|0,d|0,e|0,f|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;oa(24,a|0,b|0,c|0,d|0,e|0,f|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;oa(25,a|0,b|0,c|0,d|0,e|0,f|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;oa(26,a|0,b|0,c|0,d|0,e|0,f|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;oa(27,a|0,b|0,c|0,d|0,e|0,f|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;oa(28,a|0,b|0,c|0,d|0,e|0,f|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;oa(29,a|0,b|0,c|0,d|0,e|0,f|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;oa(30,a|0,b|0,c|0,d|0,e|0,f|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;oa(31,a|0,b|0,c|0,d|0,e|0,f|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;oa(32,a|0,b|0,c|0,d|0,e|0,f|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;oa(33,a|0,b|0,c|0,d|0,e|0,f|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;oa(34,a|0,b|0,c|0,d|0,e|0,f|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;oa(35,a|0,b|0,c|0,d|0,e|0,f|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;oa(36,a|0,b|0,c|0,d|0,e|0,f|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;oa(37,a|0,b|0,c|0,d|0,e|0,f|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;oa(38,a|0,b|0,c|0,d|0,e|0,f|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;oa(39,a|0,b|0,c|0,d|0,e|0,f|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;oa(40,a|0,b|0,c|0,d|0,e|0,f|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;oa(41,a|0,b|0,c|0,d|0,e|0,f|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;oa(42,a|0,b|0,c|0,d|0,e|0,f|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;oa(43,a|0,b|0,c|0,d|0,e|0,f|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;oa(44,a|0,b|0,c|0,d|0,e|0,f|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;oa(45,a|0,b|0,c|0,d|0,e|0,f|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;oa(46,a|0,b|0,c|0,d|0,e|0,f|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;oa(47,a|0,b|0,c|0,d|0,e|0,f|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;oa(48,a|0,b|0,c|0,d|0,e|0,f|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;oa(49,a|0,b|0,c|0,d|0,e|0,f|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;oa(50,a|0,b|0,c|0,d|0,e|0,f|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;oa(51,a|0,b|0,c|0,d|0,e|0,f|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;oa(52,a|0,b|0,c|0,d|0,e|0,f|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;oa(53,a|0,b|0,c|0,d|0,e|0,f|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;oa(54,a|0,b|0,c|0,d|0,e|0,f|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;oa(55,a|0,b|0,c|0,d|0,e|0,f|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;oa(56,a|0,b|0,c|0,d|0,e|0,f|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;oa(57,a|0,b|0,c|0,d|0,e|0,f|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;oa(58,a|0,b|0,c|0,d|0,e|0,f|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;oa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function xJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function yJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function zJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(62,a|0,b|0,c|0,d|0,e|0,f|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;oa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function BJ(){Y(0);return 0}function CJ(a){a=a|0;Y(1);return 0}function DJ(a,b){a=a|0;b=b|0;Y(2);return 0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;Y(3);return 0}function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(4);return 0}function GJ(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 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;Y(6);return 0}function IJ(a){a=a|0;Y(7)}function JJ(a,b){a=a|0;b=b|0;Y(8)}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;Y(9)}function LJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(10)}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;Y(11)} -function Jl(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=Bc(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=Bk(c,168,q,0)|0;c=kl(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[7160]|0)){e=hb[f[28684>>2]&127](80)|0;r=38;break}e=hb[f[28700>>2]&127](80)|0;if((f[14058]|0)>>>0<80)f[14058]=80;n=55352;c=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&c>>>0>0){l=f[14051]|0;q=Ou(c|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[13840]=((p|0)<0|(p|0)==0&q>>>0<=l>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(e){c=hb[f[28696>>2]&127](e)|0;c=(f[14051]|0)+c|0;f[14051]=c;if(c>>>0>(f[14055]|0)>>>0)f[14055]=c;c=(f[14054]|0)+1|0;f[14054]=c;if(c>>>0>(f[14060]|0)>>>0){f[14060]=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=Bc(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}kg(e,o,(o|0)!=(s|0)&1);s=0;t=u;return s|0}function Kl(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=23040;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=23041;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=23042;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=23043;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=23044;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=23045;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=23046;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=23046;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=23047;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=23048;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=23049;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=23050;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=23051;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=23052;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=23053;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=23054;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=23054;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=23055;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=23056;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=23057;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=23058;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=23059;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=23060;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=23061;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=23062;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=23063;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=23064;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=23065;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=23066;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=23067;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=23068;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=23069;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=23070;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=23071;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=23072;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[23088+(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}li(a,47835,s);u=1;t=v;return u|0}if(!e){f[u>>2]=c;f[u+4>>2]=d;f[u+8>>2]=32446;f[u+12>>2]=0;li(a,47791,u);u=1;t=v;return u|0}else{f[r>>2]=c;f[r+4>>2]=d;f[r+8>>2]=32445;f[r+12>>2]=e;li(a,47791,r);u=1;t=v;return u|0}return 0}function Ll(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=ni(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){fg(g,k);break}N=k+32|0;O=(f[N>>2]|0)+-1|0;f[N>>2]=O;if(!O)fg(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;li(a,41262,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=55580;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=55580;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((ii(a,R)|0)==0?(dn(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=mb[u&127](f[k+316>>2]|0,9,m,0,g,f[a+236>>2]|0)|0;if((g|0)==1){li(a,40490,w);f[a+12>>2]=23;g=0;break}if((g|2|0)!=2){li(a,40505,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=ql(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=aj(f[r>>2]|0,0,r,E,0,542)|0;if(l|0){li(u,42209,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[13886]|0)>>>0<=k>>>0)if((f[13887]|0)>>>0>k>>>0){f[14052]=(f[14052]|0)+-1;f[l>>2]=f[13889];f[13889]=l;D=(f[13890]|0)+1|0;f[13890]=D;f[13891]=(D|0)<(f[13885]|0)&1;break}else{k=hb[f[28696>>2]&127](l)|0;S=105;break}else{k=hb[f[28696>>2]&127](l)|0;S=105}while(0);do if((S|0)==105){f[14053]=(f[14053]|0)-k;if(!(f[7160]|0)){nb[f[28688>>2]&127](l);break}else{D=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-D;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);D=gh(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){go(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]=123;f[E+8>>2]=124;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)){mi(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;li(a,33384,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{rl(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;lm(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=rl(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){sl(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 rl(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{rl(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=rl(M,113,o,m,0)|0;k=f[w>>2]|0;n=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](n);s=l;l=0;E=o;v=q;break}else{s=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);s=l;l=0;E=o;v=q;break}}while(0);D=qn(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{rl(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{rl(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{ym(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=Bc(T,m,0)|0;S=204}do if((S|0)==204){if(!g)break;I=C+1|0;bv(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;og(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=Jc(r,k,q,0)|0;if(m|0){k=m;break}if(f[r+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);k=0;break}else{I=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-I;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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);rn(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{rl(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=zm(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=rl(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);sl(M,n,q,u)}else{if(p<<16>>16==-12)break;og(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=rl(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);rn(D);r=0;p=g;g=0;w=k}while(0);do if(!i){if(y<<24>>24!=2){Ym(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=rl(M,17,0,0,0)|0;Ym(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=55600;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=rl(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=rl(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{rl(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{rl(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=rl(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))$n(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(!(Kc()|0)){S=(m<<2)+4|0;i=Lc(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 rl(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=rl(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){sl(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];rn(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 rl(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=55600;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 rl(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=55600;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;gn(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 rl(M,81,F,1,0)|0;Ki(M,1);if(b[(f[M>>2]|0)+81>>0]|0)break;Ze(f[M+100>>2]|0,47778,-1,1,0)|0}while(0);if(O)f[O+236>>2]=N}else g=0}else g=0}else g=0;while(0);lg(T,c);if(e|0)gg(T,e);if(!g){t=V;return}if(T|0){if(f[T+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);t=V;return}else{T=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-T;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);t=V;return}}function Ml(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=ni(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){fg(l,n);break}xa=n+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)fg(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;li(a,41262,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((ii(a,Ba)|0)==0?(dn(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=Bc(Ca,u,0)|0;if(r|0){va=r+(d[xa>>1]<<2)|0;ha=va+(p<<2)|0;X=p+1|0;bv(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)bv(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]=123;f[I>>2]=124;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}mi(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=40291;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=40299;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=40305;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=40299}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=mb[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;li(q,33384,T)}else if((Aa|0)==130){f[V>>2]=z;li(a,47746,V);b[a+17>>0]=1;Aa=946;break}else if((Aa|0)==136){li(a,40490,W);f[a+12>>2]=23;Aa=947;break}else if((Aa|0)==138){li(a,40505,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=55580;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=55580;break}}}while(0);q=f[q+8>>2]|0;if(!q){la=z;break}u=q;q=z;while(1){if(on(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]=141;f[E>>2]=r;mi(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]=141;f[I>>2]=r;if(!u)u=0;else{mi(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]=141;f[I>>2]=r;if(!u)u=0;else{mi(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;bv(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=ql(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=aj(f[A>>2]|0,0,A,ea,0,542)|0;if(u|0){li(D,42209,$);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[13886]|0)>>>0<=q>>>0)if((f[13887]|0)>>>0>q>>>0){f[14052]=(f[14052]|0)+-1;f[u>>2]=f[13889];f[13889]=u;sa=(f[13890]|0)+1|0;f[13890]=sa;f[13891]=(sa|0)<(f[13885]|0)&1;break}else{q=hb[f[28696>>2]&127](u)|0;Aa=260;break}else{q=hb[f[28696>>2]&127](u)|0;Aa=260}while(0);do if((Aa|0)==260){f[14053]=(f[14053]|0)-q;if(!(f[7160]|0)){nb[f[28688>>2]&127](u);break}else{sa=hb[f[28696>>2]&127](u)|0;f[14051]=(f[14051]|0)-sa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](u);break}}while(0);f[v>>2]=0}while(0);sa=gh(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];go(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]=123;f[ea+8>>2]=124;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)){mi(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;li(q,33384,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=rl(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=qn(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=vl(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{rl(o,78,l,p,0)|0;break x}}else o=vl(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{rl(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 rl(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 rl(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{rl(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{rl(o,78,l,p,0)|0;break}}o=vl(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{rl(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 rl(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{rl(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;og(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{rl(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 rl(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 rl(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 rl(I,122,H,x,y)|0;rn(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=rl(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 rl(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(!(Kc()|0)){Aa=(o<<2)+4|0;l=Lc(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=rl(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){sl(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){rn(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 rl(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=55600;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{rl(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=Jc(z,q,y,0)|0;if(u|0){q=u;break}if(f[z+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](q);q=0;break}else{ga=hb[f[28696>>2]&127](q)|0;f[14051]=(f[14051]|0)-ga;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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 rl(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=rl(oa,113,C,w,0)|0;u=f[qa>>2]|0;w=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](w);G=y;E=z;F=B;Y=C;break}else{G=hb[f[28696>>2]&127](w)|0;f[14051]=(f[14051]|0)-G;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](w);G=y;E=z;F=B;Y=C;break}}while(0);do if(da){xm(a,g,I,16);X=0;W=1;y=0;z=0}else{u=qn(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 rl(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{rl(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{ym(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;og(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=zm(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=rl(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);sl(oa,v,B,D)}else{if(E<<16>>16==-12)break;og(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=rl(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)rn(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=rl(oa,17,0,0,0)|0;Ym(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=55600;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);Ym(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=rl(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{rl(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=Jc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);p=0;break}else{k=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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 rl(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=rl(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=rl(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=rl(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=Jc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](p);p=0;break}else{k=hb[f[28696>>2]&127](p)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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=vl(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{rl(v,78,p,A,0)|0;break}}else{v=vl(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{rl(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{rl(oa,15,A,0,0)|0;break}}while(0);H:do if(L|(S<<24>>24!=0|ka)){if(ka)G=bo(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=jn(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=jn(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){ym(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{rl(oa,73,0,y,0)|0;break}}while(0);if((Aa|0)==679){Aa=0;ym(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{rl(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=jn(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=jn(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{rl(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{rl(oa,73,0,q,0)|0;break S}}while(0);ym(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=vl(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{rl(w,78,q,y,0)|0;break S}}else w=vl(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{rl(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){hn(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=ql(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=jn(a,D,Ba,i)|0;if(!p)break}if(!(f[D>>2]|0))y=0;else{y=(f[a>>2]|0)+32|0;y=Yu(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=rl(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){sl(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{rl(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=rl(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;ym(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){kn(a,Ba,va,o,s,A,ma,pa,i&255,P,za,r,0);if(ka)ln(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=rl(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=rl(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);ao(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{rl(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=55600;f[m+8>>2]=p}if(!ka){mn(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);break}ln(a,Ba,0,A,r,ta);mn(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=55580;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=55580;break}}}while(0);m=f[m+8>>2]|0;if(!m)break;x=a+23|0;y=a+44|0;do{do if(on(Ba,m,r,ta)|0){q=co(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=ql(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=jn(a,q,Ba,2)|0;if(!p)break}if(!(f[q>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=Yu(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=rl(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){sl(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{rl(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=ql(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=jn(a,l,Ba,i)|0;if(!o)break}if(!(f[l>>2]|0))v=0;else{v=(f[a>>2]|0)+32|0;v=Yu(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=rl(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){sl(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];rn(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{rl(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{rl(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;gn(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 rl(oa,81,Z,1,0)|0;Ki(oa,1);if(b[(f[oa>>2]|0)+81>>0]|0)break;Ze(f[oa+100>>2]|0,47765,-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){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);break}else{a=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-a;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);break}}}}}while(0);lg(Ca,c);if(e|0)hg(Ca,e);if(!g){t=Da;return}gg(Ca,g);t=Da;return}function Nl(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;li(a,47716,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=Bc(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;hl(h);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[h+24>>2]|0)){f[o>>2]=k;li(a,33384,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=zk(f[a>>2]|0,h,0,0)|0}c=kl(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)gg(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](h);break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(s,h);h=i;r=74;break e}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](h);r=72;break}else{r=hb[f[28696>>2]&127](h)|0;f[14051]=(f[14051]|0)-r;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);t=u;return c|0}else{s=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-s;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](e);t=u;return c|0}return 0} -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,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;kg(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=ni(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){fg(l,e);break}xa=e+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)fg(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;li(a,41262,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=mb[r&127](f[l+316>>2]|0,18,n,0,e,f[a+236>>2]|0)|0;if((l|0)==1){li(a,40490,s);f[a+12>>2]=23;l=0;za=1020;break}if((l|2|0)!=2){li(a,40505,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((ii(a,Aa)|0)==0?(dn(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=ql(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=aj(f[z>>2]|0,0,z,ra,0,542)|0;if(l|0){li(w,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[m>>2]=f[13889];f[13889]=m;oa=(f[13890]|0)+1|0;f[13890]=oa;f[13891]=(oa|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](m)|0;za=87;break}else{l=hb[f[28696>>2]&127](m)|0;za=87}while(0);do if((za|0)==87){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](m);break}else{oa=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-oa;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);oa=gh(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=ni(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(wt(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(en(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(Ak(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=ql(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=aj(f[v>>2]|0,0,v,ra,0,542)|0;if(n|0){li(p,42209,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[13886]|0)>>>0<=l>>>0)if((f[13887]|0)>>>0>l>>>0){f[14052]=(f[14052]|0)+-1;f[n>>2]=f[13889];f[13889]=n;ia=(f[13890]|0)+1|0;f[13890]=ia;f[13891]=(ia|0)<(f[13885]|0)&1;break}else{l=hb[f[28696>>2]&127](n)|0;za=202;break}else{l=hb[f[28696>>2]&127](n)|0;za=202}while(0);do if((za|0)==202){f[14053]=(f[14053]|0)-l;if(!(f[7160]|0)){nb[f[28688>>2]&127](n);break}else{ia=hb[f[28696>>2]&127](n)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);ia=gh(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=fn(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}tl(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=rl(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=rl(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=55600;f[l+8>>2]=m;C=o}else C=0;while(0);do if(!(f[M>>2]&32)){tl(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=rl(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=rl(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=rl(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=Gg(o,40899,N)|0}else{f[O>>2]=m;m=2579;s=Gg(o,46881,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=ql(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=rl(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](s);break}else{ia=hb[f[28696>>2]&127](s)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){sl(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=55600;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{rl(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=rl(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=rl(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 rl(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{rl(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=rl(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{sl(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 rl(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 rl(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{rl(L,117,J,0,0)|0;break}}else{lm(a,R,f[Aa+28>>2]|0,1,f[Aa>>2]|0);lm(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(!(en(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 rl(L,109,G,l,K)|0;l=f[ta>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ia=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 rl(L,110,J,l,R)|0;l=f[ta>>2]|0;o=mm(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){Ic(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[7160]|0)){nb[f[28688>>2]&127](o);break}else{ia=hb[f[28696>>2]&127](o)|0;f[14051]=(f[14051]|0)-ia;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=rl(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 rl(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=33704;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{rl(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 rl(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 rl(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=55600;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 rl(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 rl(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=55600;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)gn(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 rl(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=55600;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{rl(L,117,J,0,0)|0;za=416;break}}else za=416;while(0);do if((za|0)==416){G=fn(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=40291;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=40299;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=40305;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;li(a,46890,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 rl(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=Il(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 rl(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=55600;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=ql(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[13903]|0)==(R|0);l=(f[13904]|0)==(m|0);p=f[13902]|0;switch(b[55600]|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 rl(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=rl(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 rl(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 rl(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 rl(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 rl(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=55600;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]=123;f[w>>2]=124;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}mi(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;li(m,33384,V);za=547}lg(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;li(a,46922,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;li(a,46974,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{rl(ya,70,0,n,0)|0;break}}else n=0;while(0);do if(ma){Q=0;l=0}else{q=Ym(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=Bc(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]=123;f[y>>2]=124;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}mi(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;li(m,33384,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]=123;f[ra+8>>2]=124;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)){mi(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;li(m,33384,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(Ak(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((Ak(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);li(a,46999,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=rl(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=rl(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=Jc(s,m,r,0)|0;if(o|0){m=o;break}if(f[s+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](m);m=0;break}else{la=hb[f[28696>>2]&127](m)|0;f[14051]=(f[14051]|0)-la;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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=Bc(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{rl(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{rl(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=vl(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{rl(p,78,e,E,0)|0;break A}}else p=vl(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{rl(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=rl(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 rl(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=55600;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{rl(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{rl(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=vl(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{rl(s,78,e,r,0)|0;break}}else{p=vl(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{rl(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 rl(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=vl(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{rl(p,78,e,q,0)|0;break C}}else p=vl(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{rl(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){hn(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=ql(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=jn(a,v,Aa,i)|0;if(!m)break}if(!(f[v>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=Yu(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=rl(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){sl(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{rl(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{rl(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{rl(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=vl(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{rl(p,78,e,ha,0)|0;break}}else{p=vl(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{rl(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=55600;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=rl(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 rl(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=55600;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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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{rl(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=vl(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{rl(q,78,m,r,0)|0;break F}}else q=vl(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{rl(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=vl(a,0,r)|0}else{b[y>>0]=2;f[z>>2]=132;f[A>>2]=133;f[B>>2]=0;if(m){mi(ra,m)|0;if(!(b[y>>0]|0)){za=874;break}}Nm(a,m,r)|0;break F}while(0);do if((za|0)==874){za=0;if((b[m>>0]|0)!=-92){q=vl(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{rl(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{rl(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)){kn(a,Aa,Q,f[wa>>2]|0,f[va>>2]|0,ea,0,R>>>31&255^1,i&255,I,ra,0,k);ln(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=55580;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=55580;break}}}while(0);e=(f[e+8>>2]|0)==0&1}while(0);mn(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(!(Kc()|0)){wa=(q<<2)+4|0;m=Lc(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=rl(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){sl(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{rl(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=ql(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=jn(a,u,Aa,i)|0;if(!m)break}if(!(f[u>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=Yu(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=rl(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){sl(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 rl(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=55600;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 rl(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=55600;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{rl(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;gn(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 rl(ya,81,n,1,0)|0;Ki(ya,1);if(b[(f[ya>>2]|0)+81>>0]|0){za=1020;break}Ze(f[ya+100>>2]|0,47070,-1,1,0)|0;za=1020}}else{l=0;za=1020}}else{l=0;za=1020}while(0);if((za|0)==1020){lg(Da,c);if(!Ca){e=Ba;r=l;break}}hg(Da,Ca);e=Ba;r=l}else za=1019;while(0);if((za|0)==1019){lg(Da,c);r=0}do if(k|0){l=f[k>>2]|0;if(l|0)hg(Da,l);l=f[k+4>>2]|0;if(l|0)gg(Da,l);l=f[k+8>>2]|0;if(l|0)hg(Da,l);l=f[k+12>>2]|0;if(l|0)gg(Da,l);if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](k);break}else{c=hb[f[28696>>2]&127](k)|0;f[14051]=(f[14051]|0)-c;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](k);break}}while(0);if(e|0)kg(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](l);break}else{k=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(Da,l);l=e;za=1075;break N}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](l);za=1073;break}else{za=hb[f[28696>>2]&127](l)|0;f[14051]=(f[14051]|0)-za;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](g);break}else{k=hb[f[28696>>2]&127](g)|0;f[14051]=(f[14051]|0)-k;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](g);break}}while(0);if(!r){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Ic(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[7160]|0)){nb[f[28688>>2]&127](r);t=Ea;return}else{Da=hb[f[28696>>2]&127](r)|0;f[14051]=(f[14051]|0)-Da;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](r);t=Ea;return}}function Pl(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[7160]|0)){c=hb[f[28684>>2]&127](8)|0;o=25;break}c=hb[f[28700>>2]&127](8)|0;if((f[14058]|0)>>>0<8)f[14058]=8;g=55352;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[14051]|0;m=Ou(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[13840]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=hb[f[28684>>2]&127](c)|0;if(!c){p=0;return p|0}e=hb[f[28696>>2]&127](c)|0;e=(f[14051]|0)+e|0;f[14051]=e;if(e>>>0>(f[14055]|0)>>>0)f[14055]=e;e=(f[14054]|0)+1|0;f[14054]=e;if(e>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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=Bc(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=Jc(p,m,k,l)|0;o=45;break}e=Jc(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=nl(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[7160]|0)){e=hb[f[28684>>2]&127](16)|0;o=114;break}e=hb[f[28700>>2]&127](16)|0;if((f[14058]|0)>>>0<16)f[14058]=16;i=55352;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[14051]|0;n=Ou(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[13840]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}e=hb[f[28684>>2]&127](e)|0;if(!e){p=c;return p|0}g=hb[f[28696>>2]&127](e)|0;g=(f[14051]|0)+g|0;f[14051]=g;if(g>>>0>(f[14055]|0)>>>0)f[14055]=g;g=(f[14054]|0)+1|0;f[14054]=g;if(g>>>0>(f[14060]|0)>>>0)f[14060]=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=Bc(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](e);break}else{d=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-d;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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 Ic(p,e);e=g;o=81;break f}while(0);if(!(f[7160]|0)){nb[f[28688>>2]&127](e);o=79;break}else{o=hb[f[28696>>2]&127](e)|0;f[14051]=(f[14051]|0)-o;f[14054]=(f[14054]|0)+-1;nb[f[28688>>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){Ic(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[7160]|0)){nb[f[28688>>2]&127](c);p=0;return p|0}else{p=hb[f[28696>>2]&127](c)|0;f[14051]=(f[14051]|0)-p;f[14054]=(f[14054]|0)+-1;nb[f[28688>>2]&127](c);p=0;return p|0}return 0}function Ql(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){cn(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){cn(a,j);d=f[l>>2]|0}}j=j+1|0}while((j|0)<(d|0));return}function Rl(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=xg(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));$f(a,d,j)|0;Xh(l,f[j>>2]|0);Xh(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 Sl(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=ql(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)li(a,46810,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 rl(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]=34444;f[l+8>>2]=c;f[l+12>>2]=j;f[l+16>>2]=j;Rl(a,46825,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 Gl(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(Ul(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+32>>2]|0)|0){b=1;c=28;break}if(Ul(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(Ul(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(Ul(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(Ul(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(Ul(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(Gl(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 Hl(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 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 gb=[BJ,ev,fv,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,Iv,Jv,Kv,Lv,Mv,Nv,Ov,Pv,Qv,Rv,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,mw,nw,yu,sd,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ,BJ];var hb=[CJ,pw,qw,rw,sw,tw,uw,vw,ww,xw,yw,zw,Aw,Bw,Cw,Dw,Ew,Fw,Gw,Hw,Iw,Jw,Kw,Lw,Mw,Nw,Ow,Pw,Qw,Rw,Sw,Tw,Uw,Vw,Ww,Xw,Yw,Zw,_w,$w,ax,bx,cx,dx,ex,fx,gx,hx,ix,jx,kx,lx,mx,nx,ox,px,qx,rx,sx,tx,ux,vx,wx,xx,yx,ap,dp,ep,fp,Qd,Ud,_c,id,jd,Mt,wu,zu,zd,Hd,Vg,ti,vi,xi,yi,_s,at,ct,dt,Us,Ws,Ls,Ns,Fs,Hs,Mq,Nq,Pq,Rq,Sq,Wq,Xq,Yq,Zq,dr,wq,yq,Aq,Bq,cf,rk,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ,CJ];var ib=[DJ,Ax,Bx,Cx,Dx,Ex,Fx,Gx,Hx,Ix,Jx,Kx,Lx,Mx,Nx,Ox,Px,Qx,Rx,Sx,Tx,Ux,Vx,Wx,Xx,Yx,Zx,_x,$x,ay,by,cy,dy,ey,fy,gy,hy,iy,jy,ky,ly,my,ny,oy,py,qy,ry,sy,ty,uy,vy,wy,xy,yy,zy,Ay,By,Cy,Dy,Ey,Fy,Gy,Hy,Iy,Jy,cp,Sc,Tc,Vc,Xc,Yc,Pd,yd,Zc,cd,dd,ed,fd,gd,md,Pt,Yt,Ot,Wt,tu,Fu,rd,au,bu,Nt,Ad,Bd,Cd,Id,Jd,Kd,Zg,_g,si,ui,Ai,Zs,$s,ft,Lq,Oq,Uq,$q,ar,br,cr,vq,xq,Dq,sc,tc,Yo,Zo,Uo,Vo,al,bl,cl,ji,ki,el,Og,Oh,Qk,pk,Mk,Hl,hm,im,ho,io,jo,so,Bo,Co,Eo,_n,xn,Ln,Kn,dj,fo,Jo,Eq,Fq,xr,rr,sr,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ,DJ];var jb=[EJ,Ly,My,Ny,Oy,Py,Qy,Ry,Sy,Ty,Uy,Vy,Wy,Xy,Yy,Zy,_y,$y,az,bz,cz,dz,ez,fz,gz,hz,iz,jz,kz,lz,mz,nz,oz,pz,qz,rz,sz,tz,uz,vz,wz,xz,yz,zz,Az,Bz,Cz,Dz,Ez,Fz,Gz,Hz,Iz,Jz,Kz,Lz,Mz,Nz,Oz,Pz,Qz,Rz,Sz,Tz,Uz,Sd,Vd,Oc,Rc,Uc,Wc,bd,hd,qd,Dt,_t,Zt,xu,Vt,Yg,zi,et,Ts,Ks,Es,Tq,Cq,ok,nk,mk,_m,Hr,es,ds,Dr,Ir,Lr,Nr,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ];var kb=[FJ,Wz,Xz,Yz,Zz,_z,$z,aA,bA,cA,dA,eA,fA,gA,hA,iA,jA,kA,lA,mA,nA,oA,pA,qA,rA,sA,tA,uA,vA,wA,xA,yA,zA,AA,BA,CA,DA,EA,FA,GA,HA,IA,JA,KA,LA,MA,NA,OA,PA,QA,RA,SA,TA,UA,VA,WA,XA,YA,ZA,_A,$A,aB,bB,cB,dB,Pc,Qc,kd,od,Vs,Ms,Gs,Vq,rh,sh,tj,Nj,Zm,Gq,Hq,Tp,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ,FJ];var lb=[GJ,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,lC,mC,nC,oC,Nc,$c,ad,nd,Ld,Wg,Xg,wi,bt,Qq,_q,zq,Yn,qq,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ,GJ];var mb=[HJ,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,wD,xD,yD,zD,Gu,ri,Ys,Xs,Os,Is,Jq,Kq,uq,Zj,_j,$j,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ,HJ];var nb=[IJ,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,HE,IE,JE,KE,bp,gp,Ff,If,Kf,Mf,Of,Qf,Sf,Tf,Vf,me,ne,Me,Oe,Pe,Re,Ue,Ve,Rd,Zd,_d,ld,jc,kc,mc,nc,oc,pc,fe,Bj,qk,Lj,qm,Uh,tq,vp,Fr,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ,IJ];var ob=[JJ,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,SF,TF,UF,VF,Td,Yd,dl,fl,Do,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ,JJ];var pb=[KJ,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,bH,cH,dH,eH,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,Yf,Zf,_f,Ef,Gf,Hf,Jf,Lf,Nf,Pf,Rf,Uf,qf,rf,sf,tf,uf,vf,wf,xf,ge,he,ie,je,ke,le,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Ne,Qe,Se,Te,We,Xe,Wd,Pm,Om,pm,om,nm,zr,Ar,Br,Cr,ic,lc,Pg,Qh,Ph,mq,sq,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ,KJ];var qb=[LJ,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,mI,nI,oI,pI,Xd,vc,xc,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ,LJ];var rb=[MJ,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,xJ,yJ,zJ,AJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ,MJ];return{_RegisterExtensionFunctions:xb,___divdi3:Ru,___emscripten_environ_constructor:Iu,___errno_location:pt,___muldi3:Tu,___remdi3:Uu,___udivdi3:Vu,___uremdi3:Wu,__get_daylight:Ku,__get_environ:Mu,__get_timezone:Lu,__get_tzname:Ju,_bitshift64Ashr:Xu,_bitshift64Lshr:Yu,_bitshift64Shl:Zu,_emscripten_replace_memory:fb,_free:ht,_i64Add:Nu,_i64Subtract:Ou,_llvm_bswap_i32:_u,_malloc:gt,_memalign:mt,_memcpy:$u,_memmove:av,_memset:bv,_sbrk:cv,_sqlite3_bind_blob:Ip,_sqlite3_bind_double:Kp,_sqlite3_bind_int:Lp,_sqlite3_bind_parameter_index:Pp,_sqlite3_bind_text:Mp,_sqlite3_changes:bq,_sqlite3_clear_bindings:jp,_sqlite3_close_v2:gq,_sqlite3_column_blob:Ap,_sqlite3_column_bytes:Bp,_sqlite3_column_double:Cp,_sqlite3_column_name:Hp,_sqlite3_column_text:Fp,_sqlite3_column_type:Gp,_sqlite3_create_function_v2:iq,_sqlite3_data_count:zp,_sqlite3_errmsg:Kj,_sqlite3_exec:sj,_sqlite3_finalize:Di,_sqlite3_free:fe,_sqlite3_open:nq,_sqlite3_prepare_v2:Xp,_sqlite3_reset:ip,_sqlite3_result_double:qp,_sqlite3_result_null:up,_sqlite3_result_text:wp,_sqlite3_step:Ci,_sqlite3_value_blob:jf,_sqlite3_value_bytes:lp,_sqlite3_value_double:mp,_sqlite3_value_int:np,_sqlite3_value_text:kp,_sqlite3_value_type:pp,dynCall_i:dv,dynCall_ii:ow,dynCall_iii:zx,dynCall_iiii:Ky,dynCall_iiiii:Vz,dynCall_iiiiii:eB,dynCall_iiiiiii:pC,dynCall_vi:AD,dynCall_vii:LE,dynCall_viii:WF,dynCall_viiii:fH,dynCall_viiiiii:qI,establishStackSpace:vb,setThrew:wb,stackAlloc:sb,stackRestore:ub,stackSave:tb}}) +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_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 +(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 diff --git a/src/deps/common/sqlite3.c b/src/deps/common/sqlite3.c index 73c69ef..d015df2 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.22.0. By combining all the individual C code files into this +** version 3.26.0. 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 @@ -55,6 +55,12 @@ #define CTIMEOPT_VAL_(opt) #opt #define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt) +/* Like CTIMEOPT_VAL, but especially for SQLITE_DEFAULT_LOOKASIDE. This +** option requires a separate macro because legal values contain a single +** comma. e.g. (-DSQLITE_DEFAULT_LOOKASIDE="100,100") */ +#define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2 +#define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt) + /* ** An array of names of all compile-time options. This array should ** be sorted A-Z. @@ -138,7 +144,7 @@ static const char * const sqlite3azCompileOpt[] = { "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE), #endif #ifdef SQLITE_DEFAULT_LOOKASIDE - "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOOKASIDE), + "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL2(SQLITE_DEFAULT_LOOKASIDE), #endif #if SQLITE_DEFAULT_MEMSTATUS "DEFAULT_MEMSTATUS", @@ -213,7 +219,7 @@ static const char * const sqlite3azCompileOpt[] = { "ENABLE_BATCH_ATOMIC_WRITE", #endif #if SQLITE_ENABLE_CEROD - "ENABLE_CEROD", + "ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD), #endif #if SQLITE_ENABLE_COLUMN_METADATA "ENABLE_COLUMN_METADATA", @@ -254,6 +260,9 @@ static const char * const sqlite3azCompileOpt[] = { #if SQLITE_ENABLE_FTS5 "ENABLE_FTS5", #endif +#if SQLITE_ENABLE_GEOPOLY + "ENABLE_GEOPOLY", +#endif #if SQLITE_ENABLE_HIDDEN_COLUMNS "ENABLE_HIDDEN_COLUMNS", #endif @@ -284,6 +293,9 @@ static const char * const sqlite3azCompileOpt[] = { #if SQLITE_ENABLE_MULTIPLEX "ENABLE_MULTIPLEX", #endif +#if SQLITE_ENABLE_NORMALIZE + "ENABLE_NORMALIZE", +#endif #if SQLITE_ENABLE_NULL_TRIM "ENABLE_NULL_TRIM", #endif @@ -311,6 +323,9 @@ static const char * const sqlite3azCompileOpt[] = { #if SQLITE_ENABLE_SNAPSHOT "ENABLE_SNAPSHOT", #endif +#if SQLITE_ENABLE_SORTER_REFERENCES + "ENABLE_SORTER_REFERENCES", +#endif #if SQLITE_ENABLE_SQLLOG "ENABLE_SQLLOG", #endif @@ -1147,9 +1162,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.22.0" -#define SQLITE_VERSION_NUMBER 3022000 -#define SQLITE_SOURCE_ID "2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2171d" +#define SQLITE_VERSION "3.26.0" +#define SQLITE_VERSION_NUMBER 3026000 +#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -1496,6 +1511,7 @@ SQLITE_API int sqlite3_exec( */ #define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8)) #define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8)) +#define SQLITE_ERROR_SNAPSHOT (SQLITE_ERROR | (3<<8)) #define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) #define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) #define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) @@ -1528,13 +1544,16 @@ SQLITE_API int sqlite3_exec( #define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) #define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8)) #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) +#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8)) #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) #define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) #define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) #define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) +#define SQLITE_CANTOPEN_DIRTYWAL (SQLITE_CANTOPEN | (5<<8)) /* Not Used */ #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) +#define SQLITE_CORRUPT_SEQUENCE (SQLITE_CORRUPT | (2<<8)) #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) #define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) @@ -1908,7 +1927,8 @@ struct sqlite3_io_methods { **

  • [[SQLITE_FCNTL_PERSIST_WAL]] ** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the ** persistent [WAL | Write Ahead Log] setting. By default, the auxiliary -** write ahead log and shared memory files used for transaction control +** write ahead log ([WAL file]) and shared memory +** files used for transaction control ** are automatically deleted when the latest connection to the database ** closes. Setting persistent WAL mode causes those files to persist after ** close. Persisting the files is useful when other processes that do not @@ -2088,6 +2108,32 @@ struct sqlite3_io_methods { ** so that all subsequent write operations are independent. ** ^SQLite will never invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE without ** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_LOCK_TIMEOUT]] +** The [SQLITE_FCNTL_LOCK_TIMEOUT] opcode causes attempts to obtain +** a file lock using the xLock or xShmLock methods of the VFS to wait +** for up to M milliseconds before failing, where M is the single +** unsigned integer parameter. +** +**
  • [[SQLITE_FCNTL_DATA_VERSION]] +** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to +** a database file. The argument is a pointer to a 32-bit unsigned integer. +** The "data version" for the pager is written into the pointer. The +** "data version" changes whenever any change occurs to the corresponding +** database file, either through SQL statements on the same database +** connection or through transactions committed by separate database +** connections possibly in other processes. The [sqlite3_total_changes()] +** interface can be used to find if any database on the connection has changed, +** but that interface responds to changes on TEMP as well as MAIN and does +** not provide a mechanism to detect changes to MAIN only. Also, the +** [sqlite3_total_changes()] interface responds to internal changes only and +** omits changes made by other database connections. The +** [PRAGMA data_version] command provide a mechanism to detect changes to +** a single attached database that occur due to other database connections, +** but omits changes implemented by the database connection on which it is +** called. This file control is the only mechanism to detect changes that +** happen either internally or externally and that are associated with +** a particular attached database. ** */ #define SQLITE_FCNTL_LOCKSTATE 1 @@ -2122,6 +2168,8 @@ struct sqlite3_io_methods { #define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 31 #define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 32 #define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 +#define SQLITE_FCNTL_LOCK_TIMEOUT 34 +#define SQLITE_FCNTL_DATA_VERSION 35 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -2947,6 +2995,22 @@ struct sqlite3_mem_methods { ** I/O required to support statement rollback. ** The default value for this setting is controlled by the ** [SQLITE_STMTJRNL_SPILL] compile-time option. +** +** [[SQLITE_CONFIG_SORTERREF_SIZE]] +**
    SQLITE_CONFIG_SORTERREF_SIZE +**
    The SQLITE_CONFIG_SORTERREF_SIZE option accepts a single parameter +** of type (int) - the new value of the sorter-reference size threshold. +** Usually, when SQLite uses an external sort to order records according +** to an ORDER BY clause, all fields required by the caller are present in the +** sorted records. However, if SQLite determines based on the declared type +** of a table column that its values are likely to be very large - larger +** than the configured sorter-reference size threshold - then a reference +** is stored in each sorted record and the required column values loaded +** from the database as records are returned in sorted order. The default +** value for this option is to never use this optimization. Specifying a +** 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. ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -2976,6 +3040,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ #define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ #define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ +#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */ /* ** CAPI3REF: Database Connection Configuration Options @@ -2991,6 +3056,7 @@ struct sqlite3_mem_methods { ** is invoked. ** **
    +** [[SQLITE_DBCONFIG_LOOKASIDE]] **
    SQLITE_DBCONFIG_LOOKASIDE
    **
    ^This option takes three additional arguments that determine the ** [lookaside memory allocator] configuration for the [database connection]. @@ -3013,6 +3079,7 @@ struct sqlite3_mem_methods { ** memory is in use leaves the configuration unchanged and returns ** [SQLITE_BUSY].)^
    ** +** [[SQLITE_DBCONFIG_ENABLE_FKEY]] **
    SQLITE_DBCONFIG_ENABLE_FKEY
    **
    ^This option is used to enable or disable the enforcement of ** [foreign key constraints]. There should be two additional arguments. @@ -3023,6 +3090,7 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the FK enforcement setting is not reported back.
    ** +** [[SQLITE_DBCONFIG_ENABLE_TRIGGER]] **
    SQLITE_DBCONFIG_ENABLE_TRIGGER
    **
    ^This option is used to enable or disable [CREATE TRIGGER | triggers]. ** There should be two additional arguments. @@ -3033,6 +3101,7 @@ 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_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 @@ -3046,6 +3115,7 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the new setting is not reported back.
    ** +** [[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]] **
    SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
    **
    ^This option is used to enable or disable the [sqlite3_load_extension()] ** interface independently of the [load_extension()] SQL function. @@ -3063,7 +3133,7 @@ struct sqlite3_mem_methods { ** be a NULL pointer, in which case the new setting is not reported back. **
    ** -**
    SQLITE_DBCONFIG_MAINDBNAME
    +** [[SQLITE_DBCONFIG_MAINDBNAME]]
    SQLITE_DBCONFIG_MAINDBNAME
    **
    ^This option is used to change the name of the "main" database ** schema. ^The sole argument is a pointer to a constant UTF8 string ** which will become the new schema name in place of "main". ^SQLite @@ -3072,18 +3142,21 @@ struct sqlite3_mem_methods { ** until after the database connection closes. **
    ** +** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]] **
    SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
    **
    Usually, when a database in wal mode is closed or detached from a ** database handle, SQLite checks if this will mean that there are now no ** connections at all to the database. If so, it performs a checkpoint ** operation before closing the connection. This option may be used to ** override this behaviour. The first parameter passed to this operation -** is an integer - non-zero to disable checkpoints-on-close, or zero (the -** default) to enable them. The second parameter is a pointer to an integer +** is an integer - positive to disable checkpoints-on-close, or zero (the +** default) to enable them, and 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 checkpoints-on-close ** have been disabled - 0 if they are not disabled, 1 if they are. **
    -**
    SQLITE_DBCONFIG_ENABLE_QPSG
    +** +** [[SQLITE_DBCONFIG_ENABLE_QPSG]]
    SQLITE_DBCONFIG_ENABLE_QPSG
    **
    ^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates ** the [query planner stability guarantee] (QPSG). When the QPSG is active, ** a single SQL query statement will always use the same algorithm regardless @@ -3092,17 +3165,57 @@ struct sqlite3_mem_methods { ** slower. But the QPSG has the advantage of more predictable behavior. With ** the QPSG active, SQLite will always use the same query plan in the field as ** was used during testing in the lab. +** The first argument to this setting is an integer which is 0 to disable +** the QPSG, positive to enable QPSG, 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 QPSG is disabled or enabled +** following this call. **
    -**
    SQLITE_DBCONFIG_TRIGGER_EQP
    +** +** [[SQLITE_DBCONFIG_TRIGGER_EQP]]
    SQLITE_DBCONFIG_TRIGGER_EQP
    **
    By default, the output of EXPLAIN QUERY PLAN commands does not ** include output for any operations performed by trigger programs. This ** option is used to set or clear (the default) a flag that governs this ** behavior. The first parameter passed to this operation is an integer - -** non-zero to enable output for trigger programs, or zero to disable it. +** positive to enable output for trigger programs, or zero to disable it, +** 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 output-for-triggers has been disabled - 0 if ** it is not disabled, 1 if it is. **
    +** +** [[SQLITE_DBCONFIG_RESET_DATABASE]]
    SQLITE_DBCONFIG_RESET_DATABASE
    +**
    Set the SQLITE_DBCONFIG_RESET_DATABASE flag and then run +** [VACUUM] in order to reset a database back to an empty database +** with no schema and no content. The following process works even for +** a badly corrupted database file: +**
      +**
    1. If the database connection is newly opened, make sure it has read the +** database schema by preparing then discarding some query against the +** database, or calling sqlite3_table_column_metadata(), ignoring any +** errors. This step is only necessary if the application desires to keep +** the database in WAL mode after the reset if it was in WAL mode before +** the reset. +**
    2. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 1, 0); +**
    3. [sqlite3_exec](db, "[VACUUM]", 0, 0, 0); +**
    4. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 0, 0); +**
    +** Because resetting a database is destructive and irreversible, the +** process requires the use of this obscure API and multiple steps to help +** ensure that it does not happen by accident. +** +** [[SQLITE_DBCONFIG_DEFENSIVE]]
    SQLITE_DBCONFIG_DEFENSIVE
    +**
    The SQLITE_DBCONFIG_DEFENSIVE option activates or deactivates the +** "defensive" flag for a database connection. When the defensive +** flag is enabled, language features that allow ordinary SQL to +** deliberately corrupt the database file are disabled. The disabled +** features include but are not limited to the following: +**
      +**
    • The [PRAGMA writable_schema=ON] statement. +**
    • Writes to the [sqlite_dbpage] virtual table. +**
    • Direct writes to [shadow tables]. +**
    +**
    **
    */ #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ @@ -3114,7 +3227,9 @@ struct sqlite3_mem_methods { #define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */ #define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ -#define SQLITE_DBCONFIG_MAX 1008 /* Largest DBCONFIG */ +#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ +#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ +#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */ /* ** CAPI3REF: Enable Or Disable Extended Result Codes @@ -3242,12 +3357,17 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); ** program, the value returned reflects the number of rows modified by the ** previous INSERT, UPDATE or DELETE statement within the same trigger. ** -** See also the [sqlite3_total_changes()] interface, the -** [count_changes pragma], and the [changes() SQL function]. -** ** If a separate thread makes changes on the same database connection ** while [sqlite3_changes()] is running then the value returned ** is unpredictable and not meaningful. +** +** See also: +**
      +**
    • the [sqlite3_total_changes()] interface +**
    • the [count_changes pragma] +**
    • the [changes() SQL function] +**
    • the [data_version pragma] +**
    */ SQLITE_API int sqlite3_changes(sqlite3*); @@ -3265,13 +3385,26 @@ SQLITE_API int sqlite3_changes(sqlite3*); ** count, but those made as part of REPLACE constraint resolution are ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers ** are not counted. -** -** See also the [sqlite3_changes()] interface, the -** [count_changes pragma], and the [total_changes() SQL function]. ** +** This 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 +** connections use the [PRAGMA data_version] command or the +** [SQLITE_FCNTL_DATA_VERSION] [file control]. +** ** If a separate thread makes changes on the same database connection ** while [sqlite3_total_changes()] is running then the value ** returned is unpredictable and not meaningful. +** +** See also: +**
      +**
    • the [sqlite3_changes()] interface +**
    • the [count_changes pragma] +**
    • the [changes() SQL function] +**
    • the [data_version pragma] +**
    • the [SQLITE_FCNTL_DATA_VERSION] [file control] +**
    */ SQLITE_API int sqlite3_total_changes(sqlite3*); @@ -3520,16 +3653,16 @@ SQLITE_API void sqlite3_free_table(char **result); ** ** These routines are work-alikes of the "printf()" family of functions ** from the standard C library. -** These routines understand most of the common K&R formatting options, -** plus some additional non-standard formats, detailed below. -** Note that some of the more obscure formatting options from recent -** C-library standards are omitted from this implementation. +** These routines understand most of the common formatting options from +** the standard library printf() +** plus some additional non-standard formats ([%q], [%Q], [%w], and [%z]). +** See the [built-in printf()] documentation for details. ** ** ^The sqlite3_mprintf() and sqlite3_vmprintf() routines write their -** results into memory obtained from [sqlite3_malloc()]. +** results into memory obtained from [sqlite3_malloc64()]. ** The strings returned by these two routines should be ** released by [sqlite3_free()]. ^Both routines return a -** NULL pointer if [sqlite3_malloc()] is unable to allocate enough +** NULL pointer if [sqlite3_malloc64()] is unable to allocate enough ** memory to hold the resulting string. ** ** ^(The sqlite3_snprintf() routine is similar to "snprintf()" from @@ -3553,71 +3686,7 @@ SQLITE_API void sqlite3_free_table(char **result); ** ** ^The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf(). ** -** These routines all implement some additional formatting -** options that are useful for constructing SQL statements. -** All of the usual printf() formatting options apply. In addition, there -** is are "%q", "%Q", "%w" and "%z" options. -** -** ^(The %q option works like %s in that it substitutes a nul-terminated -** string from the argument list. But %q also doubles every '\'' character. -** %q is designed for use inside a string literal.)^ By doubling each '\'' -** character it escapes that character and allows it to be inserted into -** the string. -** -** For example, assume the string variable zText contains text as follows: -** -**
    -**  char *zText = "It's a happy day!";
    -** 
    -** -** One can use this text in an SQL statement as follows: -** -**
    -**  char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES('%q')", zText);
    -**  sqlite3_exec(db, zSQL, 0, 0, 0);
    -**  sqlite3_free(zSQL);
    -** 
    -** -** Because the %q format string is used, the '\'' character in zText -** is escaped and the SQL generated is as follows: -** -**
    -**  INSERT INTO table1 VALUES('It''s a happy day!')
    -** 
    -** -** This is correct. Had we used %s instead of %q, the generated SQL -** would have looked like this: -** -**
    -**  INSERT INTO table1 VALUES('It's a happy day!');
    -** 
    -** -** This second example is an SQL syntax error. As a general rule you should -** always use %q instead of %s when inserting text into a string literal. -** -** ^(The %Q option works like %q except it also adds single quotes around -** the outside of the total string. Additionally, if the parameter in the -** argument list is a NULL pointer, %Q substitutes the text "NULL" (without -** single quotes).)^ So, for example, one could say: -** -**
    -**  char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES(%Q)", zText);
    -**  sqlite3_exec(db, zSQL, 0, 0, 0);
    -**  sqlite3_free(zSQL);
    -** 
    -** -** The code above will render a correct SQL statement in the zSQL -** variable even if the zText variable is a NULL pointer. -** -** ^(The "%w" formatting option is like "%q" except that it expects to -** be contained within double-quotes instead of single quotes, and it -** escapes the double-quote character instead of the single-quote -** character.)^ The "%w" formatting option is intended for safely inserting -** table and column names into a constructed SQL statement. -** -** ^(The "%z" formatting option works like "%s" but with the -** addition that after the string has been read and copied into -** the result, [sqlite3_free()] is called on the input string.)^ +** See also: [built-in printf()], [printf() SQL function] */ SQLITE_API char *sqlite3_mprintf(const char*,...); SQLITE_API char *sqlite3_vmprintf(const char*, va_list); @@ -4391,13 +4460,24 @@ SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int ** [database connection] D failed, then the sqlite3_errcode(D) interface ** returns the numeric [result code] or [extended result code] for that ** API call. -** If the most recent API call was successful, -** then the return value from sqlite3_errcode() is undefined. ** ^The sqlite3_extended_errcode() ** interface is the same except that it always returns the ** [extended result code] even when extended result codes are ** disabled. ** +** The values returned by sqlite3_errcode() and/or +** sqlite3_extended_errcode() might change with each API call. +** Except, there are some interfaces that are guaranteed to never +** change the value of the error code. The error-code preserving +** interfaces are: +** +**
      +**
    • sqlite3_errcode() +**
    • sqlite3_extended_errcode() +**
    • sqlite3_errmsg() +**
    • sqlite3_errmsg16() +**
    +** ** ^The sqlite3_errmsg() and sqlite3_errmsg16() return English-language ** text that describes the error, as either UTF-8 or UTF-16 respectively. ** ^(Memory to hold the error message string is managed internally. @@ -4587,9 +4667,19 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** on this hint by avoiding the use of [lookaside memory] so as not to ** 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. ** */ #define SQLITE_PREPARE_PERSISTENT 0x01 +#define SQLITE_PREPARE_NORMALIZE 0x02 /* ** CAPI3REF: Compiling An SQL Statement @@ -4683,13 +4773,13 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** or [GLOB] operator or if the parameter is compared to an indexed column ** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. **
  • +** ** **

    ^sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having ** the extra prepFlags parameter, which is a bit array consisting of zero or ** more of the [SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_*] flags. ^The ** sqlite3_prepare_v2() interface works exactly the same as ** sqlite3_prepare_v3() with a zero prepFlags parameter. -** */ SQLITE_API int sqlite3_prepare( sqlite3 *db, /* Database handle */ @@ -4747,6 +4837,11 @@ SQLITE_API int sqlite3_prepare16_v3( ** ^The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 ** string containing the SQL text of prepared statement P with ** [bound parameters] expanded. +** ^The sqlite3_normalized_sql(P) interface returns a pointer to a UTF-8 +** string containing the normalized SQL text of prepared statement P. 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. ** ** ^(For example, if a prepared statement is created using the SQL ** text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 @@ -4762,14 +4857,16 @@ SQLITE_API int sqlite3_prepare16_v3( ** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time ** option causes sqlite3_expanded_sql() to always return NULL. ** -** ^The string returned by sqlite3_sql(P) is managed by SQLite and is -** automatically freed when the prepared statement is finalized. +** ^The strings returned by sqlite3_sql(P) and sqlite3_normalized_sql(P) +** are managed by SQLite and are automatically freed when the prepared +** statement is finalized. ** ^The string returned by sqlite3_expanded_sql(P), on the other hand, ** is obtained from [sqlite3_malloc()] and must be free by the application ** by passing it to [sqlite3_free()]. */ SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); +SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If An SQL Statement Writes The Database @@ -5551,11 +5648,25 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** from [sqlite3_column_blob()], [sqlite3_column_text()], etc. into ** [sqlite3_free()]. ** -** ^(If a memory allocation error occurs during the evaluation of any -** of these routines, a default value is returned. The default value -** is either the integer 0, the floating point number 0.0, or a NULL -** pointer. Subsequent calls to [sqlite3_errcode()] will return -** [SQLITE_NOMEM].)^ +** As long as the input parameters are correct, these routines will only +** fail if an out-of-memory error occurs during a format conversion. +** Only the following subset of interfaces are subject to out-of-memory +** errors: +** +**

      +**
    • sqlite3_column_blob() +**
    • sqlite3_column_text() +**
    • sqlite3_column_text16() +**
    • sqlite3_column_bytes() +**
    • sqlite3_column_bytes16() +**
    +** +** If an out-of-memory error occurs, then the return value from these +** routines is the same as if the column had contained an SQL NULL value. +** Valid SQL NULL returns can be distinguished from out-of-memory errors +** by invoking the [sqlite3_errcode()] immediately after the suspect +** return value is obtained and before any +** other SQLite interface is called on the same [database connection]. */ SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); @@ -5632,11 +5743,13 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); ** ** ^These functions (collectively known as "function creation routines") ** are used to add SQL functions or aggregates or to redefine the behavior -** of existing SQL functions or aggregates. The only differences between -** these routines are the text encoding expected for -** the second parameter (the name of the function being created) -** and the presence or absence of a destructor callback for -** the application data pointer. +** of existing SQL functions or aggregates. The only differences between +** the three "sqlite3_create_function*" routines are the text encoding +** expected for the second parameter (the name of the function being +** created) and the presence or absence of a destructor callback for +** the application data pointer. Function sqlite3_create_window_function() +** is similar, but allows the user to supply the extra callback functions +** needed by [aggregate window functions]. ** ** ^The first parameter is the [database connection] to which the SQL ** function is to be added. ^If an application uses more than one database @@ -5682,7 +5795,8 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** -** ^The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are +** ^The sixth, seventh and eighth parameters passed to the three +** "sqlite3_create_function*" functions, xFunc, xStep and xFinal, are ** pointers to C-language functions that implement the SQL function or ** aggregate. ^A scalar SQL function requires an implementation of the xFunc ** callback only; NULL pointers must be passed as the xStep and xFinal @@ -5691,15 +5805,24 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); ** SQL function or aggregate, pass NULL pointers for all three function ** callbacks. ** -** ^(If the ninth parameter to sqlite3_create_function_v2() is not NULL, -** then it is destructor for the application data pointer. -** The destructor is invoked when the function is deleted, either by being -** overloaded or when the database connection closes.)^ -** ^The destructor is also invoked if the call to -** sqlite3_create_function_v2() fails. -** ^When the destructor callback of the tenth parameter is invoked, it -** is passed a single argument which is a copy of the application data -** pointer which was the fifth parameter to sqlite3_create_function_v2(). +** ^The sixth, seventh, eighth and ninth parameters (xStep, xFinal, xValue +** and xInverse) passed to sqlite3_create_window_function are pointers to +** C-language callbacks that implement the new function. xStep and xFinal +** must both be non-NULL. xValue and xInverse may either both be NULL, in +** which case a regular aggregate function is created, or must both be +** non-NULL, in which case the new function may be used as either an aggregate +** or aggregate window function. More details regarding the implementation +** of aggregate window functions are +** [user-defined window functions|available here]. +** +** ^(If the final parameter to sqlite3_create_function_v2() or +** sqlite3_create_window_function() is not NULL, then it is destructor for +** the application data pointer. The destructor is invoked when the function +** is deleted, either by being overloaded or when the database connection +** closes.)^ ^The destructor is also invoked if the call to +** sqlite3_create_function_v2() fails. ^When the destructor callback is +** invoked, it is passed a single argument which is a copy of the application +** data pointer which was the fifth parameter to sqlite3_create_function_v2(). ** ** ^It is permitted to register multiple implementations of the same ** functions with the same name but with either differing numbers of @@ -5752,6 +5875,18 @@ SQLITE_API int sqlite3_create_function_v2( void (*xFinal)(sqlite3_context*), void(*xDestroy)(void*) ); +SQLITE_API int sqlite3_create_window_function( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*), + void (*xValue)(sqlite3_context*), + void (*xInverse)(sqlite3_context*,int,sqlite3_value**), + void(*xDestroy)(void*) +); /* ** CAPI3REF: Text Encodings @@ -5894,6 +6029,28 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** ** These routines must be called from the same thread as ** the SQL function that supplied the [sqlite3_value*] parameters. +** +** As long as the input parameter is correct, these routines can only +** fail if an out-of-memory error occurs during a format conversion. +** Only the following subset of interfaces are subject to out-of-memory +** errors: +** +**
      +**
    • sqlite3_value_blob() +**
    • sqlite3_value_text() +**
    • sqlite3_value_text16() +**
    • sqlite3_value_text16le() +**
    • sqlite3_value_text16be() +**
    • sqlite3_value_bytes() +**
    • sqlite3_value_bytes16() +**
    +** +** If an out-of-memory error occurs, then the return value from these +** routines is the same as if the column had contained an SQL NULL value. +** Valid SQL NULL returns can be distinguished from out-of-memory errors +** by invoking the [sqlite3_errcode()] immediately after the suspect +** return value is obtained and before any +** other SQLite interface is called on the same [database connection]. */ SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); SQLITE_API double sqlite3_value_double(sqlite3_value*); @@ -6564,6 +6721,41 @@ SQLITE_API char *sqlite3_temp_directory; */ SQLITE_API char *sqlite3_data_directory; +/* +** CAPI3REF: Win32 Specific Interface +** +** These interfaces are available only on Windows. The +** [sqlite3_win32_set_directory] interface is used to set the value associated +** with the [sqlite3_temp_directory] or [sqlite3_data_directory] variable, to +** zValue, depending on the value of the type parameter. The zValue parameter +** should be NULL to cause the previous value to be freed via [sqlite3_free]; +** a non-NULL value will be copied into memory obtained from [sqlite3_malloc] +** prior to being used. The [sqlite3_win32_set_directory] interface returns +** [SQLITE_OK] to indicate success, [SQLITE_ERROR] if the type is unsupported, +** or [SQLITE_NOMEM] if memory could not be allocated. The value of the +** [sqlite3_data_directory] variable is intended to act as a replacement for +** the current directory on the sub-platforms of Win32 where that concept is +** not present, e.g. WinRT and UWP. The [sqlite3_win32_set_directory8] and +** [sqlite3_win32_set_directory16] interfaces behave exactly the same as the +** sqlite3_win32_set_directory interface except the string parameter must be +** UTF-8 or UTF-16, respectively. +*/ +SQLITE_API int sqlite3_win32_set_directory( + unsigned long type, /* Identifier for directory being set or reset */ + void *zValue /* New value for directory being set or reset */ +); +SQLITE_API int sqlite3_win32_set_directory8(unsigned long type, const char *zValue); +SQLITE_API int sqlite3_win32_set_directory16(unsigned long type, const void *zValue); + +/* +** CAPI3REF: Win32 Directory Types +** +** These macros are only available on Windows. They define the allowed values +** for the type argument to the [sqlite3_win32_set_directory] interface. +*/ +#define SQLITE_WIN32_DATA_DIRECTORY_TYPE 1 +#define SQLITE_WIN32_TEMP_DIRECTORY_TYPE 2 + /* ** CAPI3REF: Test For Auto-Commit Mode ** KEYWORDS: {autocommit mode} @@ -7164,6 +7356,9 @@ struct sqlite3_module { int (*xSavepoint)(sqlite3_vtab *pVTab, int); int (*xRelease)(sqlite3_vtab *pVTab, int); int (*xRollbackTo)(sqlite3_vtab *pVTab, int); + /* The methods above are in versions 1 and 2 of the sqlite_module object. + ** Those below are for version 3 and greater. */ + int (*xShadowName)(const char*); }; /* @@ -7296,6 +7491,10 @@ struct sqlite3_index_info { /* ** CAPI3REF: Virtual Table Scan Flags +** +** Virtual table implementations are allowed to set the +** [sqlite3_index_info].idxFlags field to some combination of +** these bits. */ #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ @@ -7321,6 +7520,7 @@ struct sqlite3_index_info { #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 #define SQLITE_INDEX_CONSTRAINT_IS 72 +#define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* ** CAPI3REF: Register A Virtual Table Implementation @@ -7997,6 +8197,7 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); /* ** CAPI3REF: Low-Level Control Of Database Files ** METHOD: sqlite3 +** KEYWORDS: {file control} ** ** ^The [sqlite3_file_control()] interface makes a direct call to the ** xFileControl method for the [sqlite3_io_methods] object associated @@ -8011,11 +8212,18 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); ** the xFileControl method. ^The return value of the xFileControl ** method becomes the return value of this routine. ** +** A few opcodes for [sqlite3_file_control()] are handled directly +** by the SQLite core and never invoke the +** sqlite3_io_methods.xFileControl method. ** ^The [SQLITE_FCNTL_FILE_POINTER] value for the op parameter causes ** a pointer to the underlying [sqlite3_file] object to be written into -** the space pointed to by the 4th parameter. ^The [SQLITE_FCNTL_FILE_POINTER] -** case is a short-circuit path which does not actually invoke the -** underlying sqlite3_io_methods.xFileControl method. +** the space pointed to by the 4th parameter. The +** [SQLITE_FCNTL_JOURNAL_POINTER] works similarly except that it returns +** the [sqlite3_file] object associated with the journal file instead of +** the main database. The [SQLITE_FCNTL_VFS_POINTER] opcode returns +** a pointer to the underlying [sqlite3_vfs] object for the file. +** The [SQLITE_FCNTL_DATA_VERSION] returns the data version counter +** from the pager. ** ** ^If the second parameter (zDbName) does not match the name of any ** open database file, then SQLITE_ERROR is returned. ^This error @@ -8071,8 +8279,9 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_ALWAYS 13 #define SQLITE_TESTCTRL_RESERVE 14 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 -#define SQLITE_TESTCTRL_ISKEYWORD 16 +#define SQLITE_TESTCTRL_ISKEYWORD 16 /* NOT USED */ #define SQLITE_TESTCTRL_SCRATCHMALLOC 17 /* NOT USED */ +#define SQLITE_TESTCTRL_INTERNAL_FUNCTIONS 17 #define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 #define SQLITE_TESTCTRL_EXPLAIN_STMT 19 /* NOT USED */ #define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19 @@ -8085,6 +8294,189 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_PARSER_COVERAGE 26 #define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ +/* +** CAPI3REF: SQL Keyword Checking +** +** These routines provide access to the set of SQL language keywords +** recognized by SQLite. Applications can uses these routines to determine +** whether or not a specific identifier needs to be escaped (for example, +** by enclosing in double-quotes) so as not to confuse the parser. +** +** The sqlite3_keyword_count() interface returns the number of distinct +** keywords understood by SQLite. +** +** The sqlite3_keyword_name(N,Z,L) interface finds the N-th keyword and +** makes *Z point to that keyword expressed as UTF8 and writes the number +** of bytes in the keyword into *L. The string that *Z points to is not +** zero-terminated. The sqlite3_keyword_name(N,Z,L) routine returns +** SQLITE_OK if N is within bounds and SQLITE_ERROR if not. If either Z +** or L are NULL or invalid pointers then calls to +** sqlite3_keyword_name(N,Z,L) result in undefined behavior. +** +** The sqlite3_keyword_check(Z,L) interface checks to see whether or not +** the L-byte UTF8 identifier that Z points to is a keyword, returning non-zero +** if it is and zero if not. +** +** The parser used by SQLite is forgiving. It is often possible to use +** a keyword as an identifier as long as such use does not result in a +** parsing ambiguity. For example, the statement +** "CREATE TABLE BEGIN(REPLACE,PRAGMA,END);" is accepted by SQLite, and +** creates a new table named "BEGIN" with three columns named +** "REPLACE", "PRAGMA", and "END". Nevertheless, best practice is to avoid +** using keywords as identifiers. Common techniques used to avoid keyword +** name collisions include: +**
      +**
    • Put all identifier names inside double-quotes. This is the official +** SQL way to escape identifier names. +**
    • Put identifier names inside [...]. This is not standard SQL, +** but it is what SQL Server does and so lots of programmers use this +** technique. +**
    • Begin every identifier with the letter "Z" as no SQL keywords start +** with "Z". +**
    • Include a digit somewhere in every identifier name. +**
    +** +** Note that the number of keywords understood by SQLite can depend on +** compile-time options. For example, "VACUUM" is not a keyword if +** SQLite is compiled with the [-DSQLITE_OMIT_VACUUM] option. Also, +** new keywords may be added to future releases of SQLite. +*/ +SQLITE_API int sqlite3_keyword_count(void); +SQLITE_API int sqlite3_keyword_name(int,const char**,int*); +SQLITE_API int sqlite3_keyword_check(const char*,int); + +/* +** CAPI3REF: Dynamic String Object +** KEYWORDS: {dynamic string} +** +** An instance of the sqlite3_str object contains a dynamically-sized +** string under construction. +** +** The lifecycle of an sqlite3_str object is as follows: +**
      +**
    1. ^The sqlite3_str object is created using [sqlite3_str_new()]. +**
    2. ^Text is appended to the sqlite3_str object using various +** methods, such as [sqlite3_str_appendf()]. +**
    3. ^The sqlite3_str object is destroyed and the string it created +** is returned using the [sqlite3_str_finish()] interface. +**
    +*/ +typedef struct sqlite3_str sqlite3_str; + +/* +** CAPI3REF: Create A New Dynamic String Object +** CONSTRUCTOR: sqlite3_str +** +** ^The [sqlite3_str_new(D)] interface allocates and initializes +** a new [sqlite3_str] object. To avoid memory leaks, the object returned by +** [sqlite3_str_new()] must be freed by a subsequent call to +** [sqlite3_str_finish(X)]. +** +** ^The [sqlite3_str_new(D)] interface always returns a pointer to a +** valid [sqlite3_str] object, though in the event of an out-of-memory +** error the returned object might be a special singleton that will +** silently reject new text, always return SQLITE_NOMEM from +** [sqlite3_str_errcode()], always return 0 for +** [sqlite3_str_length()], and always return NULL from +** [sqlite3_str_finish(X)]. It is always safe to use the value +** returned by [sqlite3_str_new(D)] as the sqlite3_str parameter +** to any of the other [sqlite3_str] methods. +** +** The D parameter to [sqlite3_str_new(D)] may be NULL. If the +** D parameter in [sqlite3_str_new(D)] is not NULL, then the maximum +** length of the string contained in the [sqlite3_str] object will be +** the value set for [sqlite3_limit](D,[SQLITE_LIMIT_LENGTH]) instead +** of [SQLITE_MAX_LENGTH]. +*/ +SQLITE_API sqlite3_str *sqlite3_str_new(sqlite3*); + +/* +** CAPI3REF: Finalize A Dynamic String +** DESTRUCTOR: sqlite3_str +** +** ^The [sqlite3_str_finish(X)] interface destroys the sqlite3_str object X +** and returns a pointer to a memory buffer obtained from [sqlite3_malloc64()] +** that contains the constructed string. The calling application should +** pass the returned value to [sqlite3_free()] to avoid a memory leak. +** ^The [sqlite3_str_finish(X)] interface may return a NULL pointer if any +** errors were encountered during construction of the string. ^The +** [sqlite3_str_finish(X)] interface will also return a NULL pointer if the +** string in [sqlite3_str] object X is zero bytes long. +*/ +SQLITE_API char *sqlite3_str_finish(sqlite3_str*); + +/* +** CAPI3REF: Add Content To A Dynamic String +** METHOD: sqlite3_str +** +** These interfaces add content to an sqlite3_str object previously obtained +** from [sqlite3_str_new()]. +** +** ^The [sqlite3_str_appendf(X,F,...)] and +** [sqlite3_str_vappendf(X,F,V)] interfaces uses the [built-in printf] +** functionality of SQLite to append formatted text onto the end of +** [sqlite3_str] object X. +** +** ^The [sqlite3_str_append(X,S,N)] method appends exactly N bytes from string S +** onto the end of the [sqlite3_str] object X. N must be non-negative. +** S must contain at least N non-zero bytes of content. To append a +** zero-terminated string in its entirety, use the [sqlite3_str_appendall()] +** method instead. +** +** ^The [sqlite3_str_appendall(X,S)] method appends the complete content of +** zero-terminated string S onto the end of [sqlite3_str] object X. +** +** ^The [sqlite3_str_appendchar(X,N,C)] method appends N copies of the +** single-byte character C onto the end of [sqlite3_str] object X. +** ^This method can be used, for example, to add whitespace indentation. +** +** ^The [sqlite3_str_reset(X)] method resets the string under construction +** inside [sqlite3_str] object X back to zero bytes in length. +** +** These methods do not return a result code. ^If an error occurs, that fact +** is recorded in the [sqlite3_str] object and can be recovered by a +** subsequent call to [sqlite3_str_errcode(X)]. +*/ +SQLITE_API void sqlite3_str_appendf(sqlite3_str*, const char *zFormat, ...); +SQLITE_API void sqlite3_str_vappendf(sqlite3_str*, const char *zFormat, va_list); +SQLITE_API void sqlite3_str_append(sqlite3_str*, const char *zIn, int N); +SQLITE_API void sqlite3_str_appendall(sqlite3_str*, const char *zIn); +SQLITE_API void sqlite3_str_appendchar(sqlite3_str*, int N, char C); +SQLITE_API void sqlite3_str_reset(sqlite3_str*); + +/* +** CAPI3REF: Status Of A Dynamic String +** METHOD: sqlite3_str +** +** These interfaces return the current status of an [sqlite3_str] object. +** +** ^If any prior errors have occurred while constructing the dynamic string +** in sqlite3_str X, then the [sqlite3_str_errcode(X)] method will return +** an appropriate error code. ^The [sqlite3_str_errcode(X)] method returns +** [SQLITE_NOMEM] following any out-of-memory error, or +** [SQLITE_TOOBIG] if the size of the dynamic string exceeds +** [SQLITE_MAX_LENGTH], or [SQLITE_OK] if there have been no errors. +** +** ^The [sqlite3_str_length(X)] method returns the current length, in bytes, +** of the dynamic string under construction in [sqlite3_str] object X. +** ^The length returned by [sqlite3_str_length(X)] does not include the +** zero-termination byte. +** +** ^The [sqlite3_str_value(X)] method returns a pointer to the current +** content of the dynamic string under construction in X. The value +** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X +** and might be freed or altered by any subsequent method on the same +** [sqlite3_str] object. Applications must not used the pointer returned +** [sqlite3_str_value(X)] after any subsequent method call on the same +** object. ^Applications may change the content of the string returned +** by [sqlite3_str_value(X)] as long as they do not write into any bytes +** outside the range of 0 to [sqlite3_str_length(X)] and do not read or +** write any byte after any subsequent sqlite3_str method call. +*/ +SQLITE_API int sqlite3_str_errcode(sqlite3_str*); +SQLITE_API int sqlite3_str_length(sqlite3_str*); +SQLITE_API char *sqlite3_str_value(sqlite3_str*); + /* ** CAPI3REF: SQLite Runtime Status ** @@ -8318,6 +8710,15 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. ** ** +** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(
    SQLITE_DBSTATUS_CACHE_SPILL
    +**
    This parameter returns the number of dirty cache entries that have +** been written to disk in the middle of a transaction due to the page +** cache overflowing. Transactions are more efficient if they are written +** to disk all at once. When pages spill mid-transaction, that introduces +** additional overhead. This parameter can be used help identify +** inefficiencies that can be resolve by increasing the cache size. +**
    +** ** [[SQLITE_DBSTATUS_DEFERRED_FKS]] ^(
    SQLITE_DBSTATUS_DEFERRED_FKS
    **
    This parameter returns zero for the current value if and only if ** all foreign key constraints (deferred or immediate) have been @@ -8337,7 +8738,8 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r #define SQLITE_DBSTATUS_CACHE_WRITE 9 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 #define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 -#define SQLITE_DBSTATUS_MAX 11 /* Largest defined DBSTATUS */ +#define SQLITE_DBSTATUS_CACHE_SPILL 12 +#define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */ /* @@ -9292,6 +9694,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); ** can use to customize and optimize their behavior. ** **
    +** [[SQLITE_VTAB_CONSTRAINT_SUPPORT]] **
    SQLITE_VTAB_CONSTRAINT_SUPPORT **
    Calls of the form ** [sqlite3_vtab_config](db,SQLITE_VTAB_CONSTRAINT_SUPPORT,X) are supported, @@ -9344,11 +9747,11 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); ** method of a [virtual table], then it returns true if and only if the ** column is being fetched as part of an UPDATE operation during which the ** column value will not change. Applications might use this to substitute -** a lighter-weight value to return that the corresponding [xUpdate] method -** understands as a "no-change" value. +** a return value that is less expensive to compute and that the corresponding +** [xUpdate] method understands as a "no-change" value. ** ** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that -** the column is not changed by the UPDATE statement, they the xColumn +** the column is not changed by the UPDATE statement, then the xColumn ** method can optionally return without setting a result, without calling ** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces]. ** In that case, [sqlite3_value_nochange(X)] will return true for the @@ -9641,7 +10044,6 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); /* ** CAPI3REF: Database Snapshot ** KEYWORDS: {snapshot} {sqlite3_snapshot} -** EXPERIMENTAL ** ** An instance of the snapshot object records the state of a [WAL mode] ** database for some specific point in history. @@ -9658,11 +10060,6 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); ** version of the database file so that it is possible to later open a new read ** transaction that sees that historical version of the database rather than ** the most recent version. -** -** The constructor for this object is [sqlite3_snapshot_get()]. The -** [sqlite3_snapshot_open()] method causes a fresh read transaction to refer -** to an historical snapshot (if possible). The destructor for -** sqlite3_snapshot objects is [sqlite3_snapshot_free()]. */ typedef struct sqlite3_snapshot { unsigned char hidden[48]; @@ -9670,7 +10067,7 @@ typedef struct sqlite3_snapshot { /* ** CAPI3REF: Record A Database Snapshot -** EXPERIMENTAL +** CONSTRUCTOR: sqlite3_snapshot ** ** ^The [sqlite3_snapshot_get(D,S,P)] interface attempts to make a ** new [sqlite3_snapshot] object that records the current state of @@ -9686,7 +10083,7 @@ typedef struct sqlite3_snapshot { ** in this case. ** **
      -**
    • The database handle must be in [autocommit mode]. +**
    • The database handle must not be in [autocommit mode]. ** **
    • Schema S of [database connection] D must be a [WAL mode] database. ** @@ -9709,7 +10106,7 @@ typedef struct sqlite3_snapshot { ** to avoid a memory leak. ** ** The [sqlite3_snapshot_get()] interface is only available when the -** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. */ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( sqlite3 *db, @@ -9719,24 +10116,35 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( /* ** CAPI3REF: Start a read transaction on an historical snapshot -** EXPERIMENTAL +** METHOD: sqlite3_snapshot +** +** ^The [sqlite3_snapshot_open(D,S,P)] interface either starts a new read +** transaction or upgrades an existing one for schema S of +** [database connection] D such that the read transaction refers to +** historical [snapshot] P, rather than the most recent change to the +** database. ^The [sqlite3_snapshot_open()] interface returns SQLITE_OK +** on success or an appropriate [error code] if it fails. +** +** ^In order to succeed, the database connection must not be in +** [autocommit mode] when [sqlite3_snapshot_open(D,S,P)] is called. If there +** is already a read transaction open on schema S, then the database handle +** must have no active statements (SELECT statements that have been passed +** to sqlite3_step() but not sqlite3_reset() or sqlite3_finalize()). +** SQLITE_ERROR is returned if either of these conditions is violated, or +** if schema S does not exist, or if the snapshot object is invalid. +** +** ^A call to sqlite3_snapshot_open() will fail to open if the specified +** snapshot has been overwritten by a [checkpoint]. In this case +** SQLITE_ERROR_SNAPSHOT is returned. +** +** If there is already a read transaction open when this function is +** invoked, then the same read transaction remains open (on the same +** database snapshot) if SQLITE_ERROR, SQLITE_BUSY or SQLITE_ERROR_SNAPSHOT +** is returned. If another error code - for example SQLITE_PROTOCOL or an +** SQLITE_IOERR error code - is returned, then the final state of the +** read transaction is undefined. If SQLITE_OK is returned, then the +** read transaction is now open on database snapshot P. ** -** ^The [sqlite3_snapshot_open(D,S,P)] interface starts a -** read transaction for schema S of -** [database connection] D such that the read transaction -** refers to historical [snapshot] P, rather than the most -** recent change to the database. -** ^The [sqlite3_snapshot_open()] interface returns SQLITE_OK on success -** or an appropriate [error code] if it fails. -** -** ^In order to succeed, a call to [sqlite3_snapshot_open(D,S,P)] must be -** the first operation following the [BEGIN] that takes the schema S -** out of [autocommit mode]. -** ^In other words, schema S must not currently be in -** a transaction for [sqlite3_snapshot_open(D,S,P)] to work, but the -** database connection D must be out of [autocommit mode]. -** ^A [snapshot] will fail to open if it has been overwritten by a -** [checkpoint]. ** ^(A call to [sqlite3_snapshot_open(D,S,P)] will fail if the ** database connection D does not know that the database file for ** schema S is in [WAL mode]. A database connection might not know @@ -9747,7 +10155,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( ** database connection in order to make it ready to use snapshots.) ** ** The [sqlite3_snapshot_open()] interface is only available when the -** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. */ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( sqlite3 *db, @@ -9757,20 +10165,20 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( /* ** CAPI3REF: Destroy a snapshot -** EXPERIMENTAL +** DESTRUCTOR: sqlite3_snapshot ** ** ^The [sqlite3_snapshot_free(P)] interface destroys [sqlite3_snapshot] P. ** The application must eventually free every [sqlite3_snapshot] object ** using this routine to avoid a memory leak. ** ** The [sqlite3_snapshot_free()] interface is only available when the -** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. */ SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); /* ** CAPI3REF: Compare the ages of two snapshot handles. -** EXPERIMENTAL +** METHOD: sqlite3_snapshot ** ** The sqlite3_snapshot_cmp(P1, P2) interface is used to compare the ages ** of two valid snapshot handles. @@ -9789,6 +10197,9 @@ SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); ** Otherwise, this API returns a negative value if P1 refers to an older ** snapshot than P2, zero if the two handles refer to the same database ** snapshot, and a positive value if P1 is a newer snapshot than P2. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SNAPSHOT] option. */ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( sqlite3_snapshot *p1, @@ -9797,26 +10208,151 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( /* ** CAPI3REF: Recover snapshots from a wal file -** EXPERIMENTAL +** METHOD: sqlite3_snapshot ** -** If all connections disconnect from a database file but do not perform -** a checkpoint, the existing wal file is opened along with the database -** file the next time the database is opened. At this point it is only -** possible to successfully call sqlite3_snapshot_open() to open the most -** recent snapshot of the database (the one at the head of the wal file), -** even though the wal file may contain other valid snapshots for which -** clients have sqlite3_snapshot handles. +** If a [WAL file] remains on disk after all database connections close +** (either through the use of the [SQLITE_FCNTL_PERSIST_WAL] [file control] +** or because the last process to have the database opened exited without +** calling [sqlite3_close()]) and a new connection is subsequently opened +** on that database and [WAL file], the [sqlite3_snapshot_open()] interface +** will only be able to open the last transaction added to the WAL file +** even though the WAL file contains other valid transactions. ** -** This function attempts to scan the wal file associated with database zDb +** This function attempts to scan the WAL file associated with database zDb ** of database handle db and make all valid snapshots available to ** sqlite3_snapshot_open(). It is an error if there is already a read -** transaction open on the database, or if the database is not a wal mode +** transaction open on the database, or if the database is not a WAL mode ** database. ** ** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SNAPSHOT] option. */ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb); +/* +** CAPI3REF: Serialize a database +** +** The sqlite3_serialize(D,S,P,F) interface returns a pointer to memory +** that is a serialization of the S database on [database connection] D. +** If P is not a NULL pointer, then the size of the database in bytes +** is written into *P. +** +** For an ordinary on-disk database file, the serialization is just a +** copy of the disk file. For an in-memory database or a "TEMP" database, +** the serialization is the same sequence of bytes which would be written +** to disk if that database where backed up to disk. +** +** The usual case is that sqlite3_serialize() copies the serialization of +** the database into memory obtained from [sqlite3_malloc64()] and returns +** a pointer to that memory. The caller is responsible for freeing the +** returned value to avoid a memory leak. However, if the F argument +** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations +** are made, and the sqlite3_serialize() function will return a pointer +** to the contiguous memory representation of the database that SQLite +** is currently using for that database, or NULL if the no such contiguous +** memory representation of the database exists. A contiguous memory +** representation of the database will usually only exist if there has +** been a prior call to [sqlite3_deserialize(D,S,...)] with the same +** values of D and S. +** The size of the database is written into *P even if the +** SQLITE_SERIALIZE_NOCOPY bit is set but no contiguous copy +** of the database exists. +** +** A call to sqlite3_serialize(D,S,P,F) might return NULL even if the +** SQLITE_SERIALIZE_NOCOPY bit is omitted from argument F if a memory +** allocation error occurs. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_DESERIALIZE] option. +*/ +SQLITE_API unsigned char *sqlite3_serialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to serialize. ex: "main", "temp", ... */ + sqlite3_int64 *piSize, /* Write size of the DB here, if not NULL */ + unsigned int mFlags /* Zero or more SQLITE_SERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_serialize +** +** Zero or more of the following constants can be OR-ed together for +** the F argument to [sqlite3_serialize(D,S,P,F)]. +** +** SQLITE_SERIALIZE_NOCOPY means that [sqlite3_serialize()] will return +** a pointer to contiguous in-memory database that it is currently using, +** without making a copy of the database. If SQLite is not currently using +** a contiguous in-memory database, then this option causes +** [sqlite3_serialize()] to return a NULL pointer. SQLite will only be +** using a contiguous in-memory database if it has been initialized by a +** prior call to [sqlite3_deserialize()]. +*/ +#define SQLITE_SERIALIZE_NOCOPY 0x001 /* Do no memory allocations */ + +/* +** CAPI3REF: Deserialize a database +** +** The sqlite3_deserialize(D,S,P,N,M,F) interface causes the +** [database connection] D to disconnect from database S and then +** reopen S as an in-memory database based on the serialization contained +** in P. The serialized database P is N bytes in size. M is the size of +** the buffer P, which might be larger than N. If M is larger than N, and +** the SQLITE_DESERIALIZE_READONLY bit is not set in F, then SQLite is +** permitted to add content to the in-memory database as long as the total +** size does not exceed M bytes. +** +** If the SQLITE_DESERIALIZE_FREEONCLOSE bit is set in F, then SQLite will +** invoke sqlite3_free() on the serialization buffer when the database +** connection closes. If the SQLITE_DESERIALIZE_RESIZEABLE bit is set, then +** SQLite will try to increase the buffer size using sqlite3_realloc64() +** if writes on the database cause it to grow larger than M bytes. +** +** The sqlite3_deserialize() interface will fail with SQLITE_BUSY if the +** database is currently in a read transaction or is involved in a backup +** operation. +** +** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the +** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then +** [sqlite3_free()] is invoked on argument P prior to returning. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_DESERIALIZE] option. +*/ +SQLITE_API int sqlite3_deserialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to reopen with the deserialization */ + unsigned char *pData, /* The serialized database content */ + sqlite3_int64 szDb, /* Number bytes in the deserialization */ + sqlite3_int64 szBuf, /* Total size of buffer pData[] */ + unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_deserialize() +** +** The following are allowed values for 6th argument (the F argument) to +** the [sqlite3_deserialize(D,S,P,N,M,F)] interface. +** +** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization +** in the P argument is held in memory obtained from [sqlite3_malloc64()] +** and that SQLite should take ownership of this memory and automatically +** free it when it has finished using it. Without this flag, the caller +** is responsible for freeing any dynamically allocated memory. +** +** The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to +** grow the size of the database using calls to [sqlite3_realloc64()]. This +** flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. +** Without this flag, the deserialized database cannot increase in size beyond +** the number of bytes specified by the M parameter. +** +** The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database +** should be treated as read-only. +*/ +#define SQLITE_DESERIALIZE_FREEONCLOSE 1 /* Call sqlite3_free() on close */ +#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */ +#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */ + /* ** Undo the hack that converts floating point types to integer for ** builds on processors without floating point support. @@ -9928,7 +10464,7 @@ struct sqlite3_rtree_query_info { sqlite3_int64 iRowid; /* Rowid for current entry */ sqlite3_rtree_dbl rParentScore; /* Score of parent node */ int eParentWithin; /* Visibility of parent node */ - int eWithin; /* OUT: Visiblity */ + int eWithin; /* OUT: Visibility */ sqlite3_rtree_dbl rScore; /* OUT: Write the score here */ /* The following fields are only available in 3.8.11 and later */ sqlite3_value **apSqlParam; /* Original SQL values of parameters */ @@ -9964,16 +10500,23 @@ extern "C" { /* ** CAPI3REF: Session Object Handle +** +** An instance of this object is a [session] that can be used to +** record changes to a database. */ typedef struct sqlite3_session sqlite3_session; /* ** CAPI3REF: Changeset Iterator Handle +** +** An instance of this object acts as a cursor for iterating +** over the elements of a [changeset] or [patchset]. */ typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; /* ** CAPI3REF: Create A New Session Object +** CONSTRUCTOR: sqlite3_session ** ** Create a new session object attached to database handle db. If successful, ** a pointer to the new object is written to *ppSession and SQLITE_OK is @@ -10010,6 +10553,7 @@ SQLITE_API int sqlite3session_create( /* ** CAPI3REF: Delete A Session Object +** DESTRUCTOR: sqlite3_session ** ** Delete a session object previously allocated using ** [sqlite3session_create()]. Once a session object has been deleted, the @@ -10025,6 +10569,7 @@ SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); /* ** CAPI3REF: Enable Or Disable A Session Object +** METHOD: sqlite3_session ** ** Enable or disable the recording of changes by a session object. When ** enabled, a session object records changes made to the database. When @@ -10044,6 +10589,7 @@ SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); /* ** CAPI3REF: Set Or Clear the Indirect Change Flag +** METHOD: sqlite3_session ** ** Each change recorded by a session object is marked as either direct or ** indirect. A change is marked as indirect if either: @@ -10073,6 +10619,7 @@ SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect) /* ** CAPI3REF: Attach A Table To A Session Object +** METHOD: sqlite3_session ** ** If argument zTab is not NULL, then it is the name of a table to attach ** to the session object passed as the first argument. All subsequent changes @@ -10135,6 +10682,7 @@ SQLITE_API int sqlite3session_attach( /* ** CAPI3REF: Set a table filter on a Session Object. +** METHOD: sqlite3_session ** ** The second argument (xFilter) is the "filter callback". For changes to rows ** in tables that are not attached to the Session object, the filter is called @@ -10153,6 +10701,7 @@ SQLITE_API void sqlite3session_table_filter( /* ** CAPI3REF: Generate A Changeset From A Session Object +** METHOD: sqlite3_session ** ** Obtain a changeset containing changes to the tables attached to the ** session object passed as the first argument. If successful, @@ -10262,7 +10811,8 @@ SQLITE_API int sqlite3session_changeset( ); /* -** CAPI3REF: Load The Difference Between Tables Into A Session +** CAPI3REF: Load The Difference Between Tables Into A Session +** METHOD: sqlite3_session ** ** If it is not already attached to the session object passed as the first ** argument, this function attaches table zTbl in the same manner as the @@ -10327,6 +10877,7 @@ SQLITE_API int sqlite3session_diff( /* ** CAPI3REF: Generate A Patchset From A Session Object +** METHOD: sqlite3_session ** ** The differences between a patchset and a changeset are that: ** @@ -10378,6 +10929,7 @@ SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); /* ** CAPI3REF: Create An Iterator To Traverse A Changeset +** CONSTRUCTOR: sqlite3_changeset_iter ** ** Create an iterator used to iterate through the contents of a changeset. ** If successful, *pp is set to point to the iterator handle and SQLITE_OK @@ -10408,16 +10960,43 @@ SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); ** consecutively. There is no chance that the iterator will visit a change ** the applies to table X, then one for table Y, and then later on visit ** another change for table X. +** +** The behavior of sqlite3changeset_start_v2() and its streaming equivalent +** may be modified by passing a combination of +** [SQLITE_CHANGESETSTART_INVERT | supported flags] as the 4th parameter. +** +** Note that the sqlite3changeset_start_v2() API is still experimental +** and therefore subject to change. */ SQLITE_API int sqlite3changeset_start( sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ int nChangeset, /* Size of changeset blob in bytes */ void *pChangeset /* Pointer to blob containing changeset */ ); +SQLITE_API int sqlite3changeset_start_v2( + sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ + int nChangeset, /* Size of changeset blob in bytes */ + void *pChangeset, /* Pointer to blob containing changeset */ + int flags /* SESSION_CHANGESETSTART_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3changeset_start_v2 +** +** The following flags may passed via the 4th parameter to +** [sqlite3changeset_start_v2] and [sqlite3changeset_start_v2_strm]: +** +**
      SQLITE_CHANGESETAPPLY_INVERT
      +** Invert the changeset while iterating through it. This is equivalent to +** inverting a changeset using sqlite3changeset_invert() before applying it. +** It is an error to specify this flag with a patchset. +*/ +#define SQLITE_CHANGESETSTART_INVERT 0x0002 /* ** CAPI3REF: Advance A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** This function may only be used with iterators created by function ** [sqlite3changeset_start()]. If it is called on an iterator passed to @@ -10442,6 +11021,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); /* ** CAPI3REF: Obtain The Current Operation From A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** The pIter argument passed to this function may either be an iterator ** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator @@ -10476,6 +11056,7 @@ SQLITE_API int sqlite3changeset_op( /* ** CAPI3REF: Obtain The Primary Key Definition Of A Table +** METHOD: sqlite3_changeset_iter ** ** For each modified table, a changeset includes the following: ** @@ -10507,6 +11088,7 @@ SQLITE_API int sqlite3changeset_pk( /* ** CAPI3REF: Obtain old.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** The pIter argument passed to this function may either be an iterator ** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator @@ -10537,6 +11119,7 @@ SQLITE_API int sqlite3changeset_old( /* ** CAPI3REF: Obtain new.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** The pIter argument passed to this function may either be an iterator ** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator @@ -10570,6 +11153,7 @@ SQLITE_API int sqlite3changeset_new( /* ** CAPI3REF: Obtain Conflicting Row Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** This function should only be used with iterator objects passed to a ** conflict-handler callback by [sqlite3changeset_apply()] with either @@ -10597,6 +11181,7 @@ SQLITE_API int sqlite3changeset_conflict( /* ** CAPI3REF: Determine The Number Of Foreign Key Constraint Violations +** METHOD: sqlite3_changeset_iter ** ** This function may only be called with an iterator passed to an ** SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case @@ -10613,6 +11198,7 @@ SQLITE_API int sqlite3changeset_fk_conflicts( /* ** CAPI3REF: Finalize A Changeset Iterator +** METHOD: sqlite3_changeset_iter ** ** This function is used to finalize an iterator allocated with ** [sqlite3changeset_start()]. @@ -10629,6 +11215,7 @@ SQLITE_API int sqlite3changeset_fk_conflicts( ** to that error is returned by this function. Otherwise, SQLITE_OK is ** returned. This is to allow the following pattern (pseudo-code): ** +**
       **   sqlite3changeset_start();
       **   while( SQLITE_ROW==sqlite3changeset_next() ){
       **     // Do something with change.
      @@ -10637,6 +11224,7 @@ SQLITE_API int sqlite3changeset_fk_conflicts(
       **   if( rc!=SQLITE_OK ){
       **     // An error has occurred 
       **   }
      +** 
      */ SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); @@ -10684,6 +11272,7 @@ SQLITE_API int sqlite3changeset_invert( ** sqlite3_changegroup object. Calling it produces similar results as the ** following code fragment: ** +**
       **   sqlite3_changegroup *pGrp;
       **   rc = sqlite3_changegroup_new(&pGrp);
       **   if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA);
      @@ -10694,6 +11283,7 @@ SQLITE_API int sqlite3changeset_invert(
       **     *ppOut = 0;
       **     *pnOut = 0;
       **   }
      +** 
      ** ** Refer to the sqlite3_changegroup documentation below for details. */ @@ -10709,11 +11299,15 @@ SQLITE_API int sqlite3changeset_concat( /* ** CAPI3REF: Changegroup Handle +** +** A changegroup is an object used to combine two or more +** [changesets] or [patchsets] */ typedef struct sqlite3_changegroup sqlite3_changegroup; /* ** CAPI3REF: Create A New Changegroup Object +** CONSTRUCTOR: sqlite3_changegroup ** ** An sqlite3_changegroup object is used to combine two or more changesets ** (or patchsets) into a single changeset (or patchset). A single changegroup @@ -10751,6 +11345,7 @@ SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp); /* ** CAPI3REF: Add A Changeset To A Changegroup +** METHOD: sqlite3_changegroup ** ** Add all changes within the changeset (or patchset) in buffer pData (size ** nData bytes) to the changegroup. @@ -10828,6 +11423,7 @@ SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pDa /* ** CAPI3REF: Obtain A Composite Changeset From A Changegroup +** METHOD: sqlite3_changegroup ** ** Obtain a buffer containing a changeset (or patchset) representing the ** current contents of the changegroup. If the inputs to the changegroup @@ -10858,25 +11454,25 @@ SQLITE_API int sqlite3changegroup_output( /* ** CAPI3REF: Delete A Changegroup Object +** DESTRUCTOR: sqlite3_changegroup */ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); /* ** CAPI3REF: Apply A Changeset To A Database ** -** Apply a changeset to a database. This function attempts to update the -** "main" database attached to handle db with the changes found in the -** changeset passed via the second and third arguments. +** Apply a changeset or patchset to a database. These functions attempt to +** update the "main" database attached to handle db with the changes found in +** the changeset passed via the second and third arguments. ** -** The fourth argument (xFilter) passed to this function is the "filter +** The fourth argument (xFilter) passed to these functions is the "filter ** callback". If it is not NULL, then for each table affected by at least one ** change in the changeset, the filter callback is invoked with ** the table name as the second argument, and a copy of the context pointer -** passed as the sixth argument to this function as the first. If the "filter -** callback" returns zero, then no attempt is made to apply any changes to -** the table. Otherwise, if the return value is non-zero or the xFilter -** argument to this function is NULL, all changes related to the table are -** attempted. +** passed as the sixth argument as the first. If the "filter callback" +** returns zero, then no attempt is made to apply any changes to the table. +** Otherwise, if the return value is non-zero or the xFilter argument to +** is NULL, all changes related to the table are attempted. ** ** For each table that is not excluded by the filter callback, this function ** tests that the target database contains a compatible table. A table is @@ -10921,7 +11517,7 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); ** **
      **
      DELETE Changes
      -** For each DELETE change, this function checks if the target database +** For each DELETE change, the function checks if the target database ** contains a row with the same primary key value (or values) as the ** original row values stored in the changeset. If it does, and the values ** stored in all non-primary key columns also match the values stored in @@ -10966,7 +11562,7 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); ** [SQLITE_CHANGESET_REPLACE]. ** **
      UPDATE Changes
      -** For each UPDATE change, this function checks if the target database +** For each UPDATE change, the function checks if the target database ** contains a row with the same primary key value (or values) as the ** original row values stored in the changeset. If it does, and the values ** stored in all modified non-primary key columns also match the values @@ -10997,11 +11593,28 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); ** This can be used to further customize the applications conflict ** resolution strategy. ** -** All changes made by this function are enclosed in a savepoint transaction. +** All changes made by these functions are enclosed in a savepoint transaction. ** If any other error (aside from a constraint failure when attempting to ** write to the target database) occurs, then the savepoint transaction is ** rolled back, restoring the target database to its original state, and an ** SQLite error code returned. +** +** If the output parameters (ppRebase) and (pnRebase) are non-NULL and +** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2() +** may set (*ppRebase) to point to a "rebase" that may be used with the +** sqlite3_rebaser APIs buffer before returning. In this case (*pnRebase) +** is set to the size of the buffer in bytes. It is the responsibility of the +** caller to eventually free any such buffer using sqlite3_free(). The buffer +** is only allocated and populated if one or more conflicts were encountered +** while applying the patchset. See comments surrounding the sqlite3_rebaser +** APIs for further details. +** +** The behavior of sqlite3changeset_apply_v2() and its streaming equivalent +** may be modified by passing a combination of +** [SQLITE_CHANGESETAPPLY_NOSAVEPOINT | supported flags] as the 9th parameter. +** +** Note that the sqlite3changeset_apply_v2() API is still experimental +** and therefore subject to change. */ SQLITE_API int sqlite3changeset_apply( sqlite3 *db, /* Apply change to "main" db of this handle */ @@ -11018,6 +11631,47 @@ SQLITE_API int sqlite3changeset_apply( ), void *pCtx /* First argument passed to xConflict */ ); +SQLITE_API int sqlite3changeset_apply_v2( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int nChangeset, /* Size of changeset in bytes */ + void *pChangeset, /* Changeset blob */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, /* OUT: Rebase data */ + int flags /* SESSION_CHANGESETAPPLY_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3changeset_apply_v2 +** +** The following flags may passed via the 9th parameter to +** [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +** +**
      +**
      SQLITE_CHANGESETAPPLY_NOSAVEPOINT
      +** Usually, the sessions module encloses all operations performed by +** a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +** SAVEPOINT is committed if the changeset or patchset is successfully +** applied, or rolled back if an error occurs. Specifying this flag +** causes the sessions module to omit this savepoint. In this case, if the +** caller has an open transaction or savepoint when apply_v2() is called, +** it may revert the partially applied changeset by rolling it back. +** +**
      SQLITE_CHANGESETAPPLY_INVERT
      +** Invert the changeset before applying it. This is equivalent to inverting +** a changeset using sqlite3changeset_invert() before applying it. It is +** an error to specify this flag with a patchset. +*/ +#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001 +#define SQLITE_CHANGESETAPPLY_INVERT 0x0002 /* ** CAPI3REF: Constants Passed To The Conflict Handler @@ -11115,6 +11769,161 @@ SQLITE_API int sqlite3changeset_apply( #define SQLITE_CHANGESET_REPLACE 1 #define SQLITE_CHANGESET_ABORT 2 +/* +** CAPI3REF: Rebasing changesets +** EXPERIMENTAL +** +** Suppose there is a site hosting a database in state S0. And that +** modifications are made that move that database to state S1 and a +** changeset recorded (the "local" changeset). Then, a changeset based +** on S0 is received from another site (the "remote" changeset) and +** applied to the database. The database is then in state +** (S1+"remote"), where the exact state depends on any conflict +** resolution decisions (OMIT or REPLACE) made while applying "remote". +** Rebasing a changeset is to update it to take those conflict +** resolution decisions into account, so that the same conflicts +** do not have to be resolved elsewhere in the network. +** +** For example, if both the local and remote changesets contain an +** INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +** +** local: INSERT INTO t1 VALUES(1, 'v1'); +** remote: INSERT INTO t1 VALUES(1, 'v2'); +** +** and the conflict resolution is REPLACE, then the INSERT change is +** removed from the local changeset (it was overridden). Or, if the +** conflict resolution was "OMIT", then the local changeset is modified +** to instead contain: +** +** UPDATE t1 SET b = 'v2' WHERE a=1; +** +** Changes within the local changeset are rebased as follows: +** +**
      +**
      Local INSERT
      +** This may only conflict with a remote INSERT. If the conflict +** resolution was OMIT, then add an UPDATE change to the rebased +** changeset. Or, if the conflict resolution was REPLACE, add +** nothing to the rebased changeset. +** +**
      Local DELETE
      +** This may conflict with a remote UPDATE or DELETE. In both cases the +** only possible resolution is OMIT. If the remote operation was a +** DELETE, then add no change to the rebased changeset. If the remote +** operation was an UPDATE, then the old.* fields of change are updated +** to reflect the new.* values in the UPDATE. +** +**
      Local UPDATE
      +** This may conflict with a remote UPDATE or DELETE. If it conflicts +** with a DELETE, and the conflict resolution was OMIT, then the update +** is changed into an INSERT. Any undefined values in the new.* record +** from the update change are filled in using the old.* values from +** the conflicting DELETE. Or, if the conflict resolution was REPLACE, +** the UPDATE change is simply omitted from the rebased changeset. +** +** If conflict is with a remote UPDATE and the resolution is OMIT, then +** the old.* values are rebased using the new.* values in the remote +** change. Or, if the resolution is REPLACE, then the change is copied +** into the rebased changeset with updates to columns also updated by +** the conflicting remote UPDATE removed. If this means no columns would +** be updated, the change is omitted. +**
      +** +** A local change may be rebased against multiple remote changes +** simultaneously. If a single key is modified by multiple remote +** changesets, they are combined as follows before the local changeset +** is rebased: +** +**
        +**
      • If there has been one or more REPLACE resolutions on a +** key, it is rebased according to a REPLACE. +** +**
      • If there have been no REPLACE resolutions on a key, then +** the local changeset is rebased according to the most recent +** of the OMIT resolutions. +**
      +** +** Note that conflict resolutions from multiple remote changesets are +** combined on a per-field basis, not per-row. This means that in the +** case of multiple remote UPDATE operations, some fields of a single +** local change may be rebased for REPLACE while others are rebased for +** OMIT. +** +** In order to rebase a local changeset, the remote changeset must first +** be applied to the local database using sqlite3changeset_apply_v2() and +** the buffer of rebase information captured. Then: +** +**
        +**
      1. An sqlite3_rebaser object is created by calling +** sqlite3rebaser_create(). +**
      2. The new object is configured with the rebase buffer obtained from +** sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +** If the local changeset is to be rebased against multiple remote +** changesets, then sqlite3rebaser_configure() should be called +** multiple times, in the same order that the multiple +** sqlite3changeset_apply_v2() calls were made. +**
      3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +**
      4. The sqlite3_rebaser object is deleted by calling +** sqlite3rebaser_delete(). +**
      +*/ +typedef struct sqlite3_rebaser sqlite3_rebaser; + +/* +** CAPI3REF: Create a changeset rebaser object. +** EXPERIMENTAL +** +** Allocate a new changeset rebaser object. If successful, set (*ppNew) to +** point to the new object and return SQLITE_OK. Otherwise, if an error +** occurs, return an SQLite error code (e.g. SQLITE_NOMEM) and set (*ppNew) +** to NULL. +*/ +SQLITE_API int sqlite3rebaser_create(sqlite3_rebaser **ppNew); + +/* +** CAPI3REF: Configure a changeset rebaser object. +** EXPERIMENTAL +** +** Configure the changeset rebaser object to rebase changesets according +** to the conflict resolutions described by buffer pRebase (size nRebase +** bytes), which must have been obtained from a previous call to +** sqlite3changeset_apply_v2(). +*/ +SQLITE_API int sqlite3rebaser_configure( + sqlite3_rebaser*, + int nRebase, const void *pRebase +); + +/* +** CAPI3REF: Rebase a changeset +** EXPERIMENTAL +** +** Argument pIn must point to a buffer containing a changeset nIn bytes +** 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 +** (*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) +** are set to zero and an SQLite error code returned. +*/ +SQLITE_API int sqlite3rebaser_rebase( + sqlite3_rebaser*, + int nIn, const void *pIn, + int *pnOut, void **ppOut +); + +/* +** CAPI3REF: Delete a changeset rebaser object. +** EXPERIMENTAL +** +** Delete the changeset rebaser object and all associated resources. There +** should be one call to this function for each successful invocation +** of sqlite3rebaser_create(). +*/ +SQLITE_API void sqlite3rebaser_delete(sqlite3_rebaser *p); + /* ** CAPI3REF: Streaming Versions of API functions. ** @@ -11124,6 +11933,7 @@ SQLITE_API int sqlite3changeset_apply( ** ** **
      Streaming functionNon-streaming equivalent
      sqlite3changeset_apply_strm[sqlite3changeset_apply] +**
      sqlite3changeset_apply_strm_v2[sqlite3changeset_apply_v2] **
      sqlite3changeset_concat_strm[sqlite3changeset_concat] **
      sqlite3changeset_invert_strm[sqlite3changeset_invert] **
      sqlite3changeset_start_strm[sqlite3changeset_start] @@ -11219,6 +12029,23 @@ SQLITE_API int sqlite3changeset_apply_strm( ), void *pCtx /* First argument passed to xConflict */ ); +SQLITE_API int sqlite3changeset_apply_v2_strm( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ + void *pIn, /* First arg for xInput */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, + int flags +); SQLITE_API int sqlite3changeset_concat_strm( int (*xInputA)(void *pIn, void *pData, int *pnData), void *pInA, @@ -11238,6 +12065,12 @@ SQLITE_API int sqlite3changeset_start_strm( int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn ); +SQLITE_API int sqlite3changeset_start_v2_strm( + sqlite3_changeset_iter **pp, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int flags +); SQLITE_API int sqlite3session_changeset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), @@ -11256,7 +12089,53 @@ SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); +SQLITE_API int sqlite3rebaser_rebase_strm( + sqlite3_rebaser *pRebaser, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); + +/* +** CAPI3REF: Configure global parameters +** +** The sqlite3session_config() interface is used to make global configuration +** changes to the sessions module in order to tune it to the specific needs +** of the application. +** +** The sqlite3session_config() interface is not threadsafe. If it is invoked +** while any other thread is inside any other sessions method then the +** results are undefined. Furthermore, if it is invoked after any sessions +** related objects have been created, the results are also undefined. +** +** The first argument to the sqlite3session_config() function must be one +** of the SQLITE_SESSION_CONFIG_XXX constants defined below. The +** interpretation of the (void*) value passed as the second parameter and +** the effect of calling this function depends on the value of the first +** parameter. +** +**
      +**
      SQLITE_SESSION_CONFIG_STRMSIZE
      +** By default, the sessions module streaming interfaces attempt to input +** and output data in approximately 1 KiB chunks. This operand may be used +** to set and query the value of this configuration setting. The pointer +** passed as the second argument must point to a value of type (int). +** If this value is greater than 0, it is used as the new streaming data +** chunk size for both input and output. Before returning, the (int) value +** pointed to by pArg is set to the final value of the streaming interface +** chunk size. +**
      +** +** This function returns SQLITE_OK if successful, or an SQLite error code +** otherwise. +*/ +SQLITE_API int sqlite3session_config(int op, void *pArg); +/* +** CAPI3REF: Values for sqlite3session_config(). +*/ +#define SQLITE_SESSION_CONFIG_STRMSIZE 1 /* ** Make sure we can call this stuff from C++. @@ -11714,7 +12593,7 @@ struct Fts5ExtensionApi { ** This way, even if the tokenizer does not provide synonyms ** when tokenizing query text (it should not - to do would be ** inefficient), it doesn't matter if the user queries for -** 'first + place' or '1st + place', as there are entires in the +** 'first + place' or '1st + place', as there are entries in the ** FTS index corresponding to both forms of the first token. ** ** @@ -11742,7 +12621,7 @@ struct Fts5ExtensionApi { ** extra data to the FTS index or require FTS5 to query for multiple terms, ** so it is efficient in terms of disk space and query speed. However, it ** does not support prefix queries very well. If, as suggested above, the -** token "first" is subsituted for "1st" by the tokenizer, then the query: +** token "first" is substituted for "1st" by the tokenizer, then the query: ** ** ** ... MATCH '1s*' @@ -12591,105 +13470,119 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_ESCAPE 58 #define TK_ID 59 #define TK_COLUMNKW 60 -#define TK_FOR 61 -#define TK_IGNORE 62 -#define TK_INITIALLY 63 -#define TK_INSTEAD 64 -#define TK_NO 65 -#define TK_KEY 66 -#define TK_OF 67 -#define TK_OFFSET 68 -#define TK_PRAGMA 69 -#define TK_RAISE 70 -#define TK_RECURSIVE 71 -#define TK_REPLACE 72 -#define TK_RESTRICT 73 -#define TK_ROW 74 -#define TK_TRIGGER 75 -#define TK_VACUUM 76 -#define TK_VIEW 77 -#define TK_VIRTUAL 78 -#define TK_WITH 79 -#define TK_REINDEX 80 -#define TK_RENAME 81 -#define TK_CTIME_KW 82 -#define TK_ANY 83 -#define TK_BITAND 84 -#define TK_BITOR 85 -#define TK_LSHIFT 86 -#define TK_RSHIFT 87 -#define TK_PLUS 88 -#define TK_MINUS 89 -#define TK_STAR 90 -#define TK_SLASH 91 -#define TK_REM 92 -#define TK_CONCAT 93 -#define TK_COLLATE 94 -#define TK_BITNOT 95 -#define TK_INDEXED 96 -#define TK_STRING 97 -#define TK_JOIN_KW 98 -#define TK_CONSTRAINT 99 -#define TK_DEFAULT 100 -#define TK_NULL 101 -#define TK_PRIMARY 102 -#define TK_UNIQUE 103 -#define TK_CHECK 104 -#define TK_REFERENCES 105 -#define TK_AUTOINCR 106 -#define TK_ON 107 -#define TK_INSERT 108 -#define TK_DELETE 109 -#define TK_UPDATE 110 -#define TK_SET 111 -#define TK_DEFERRABLE 112 -#define TK_FOREIGN 113 -#define TK_DROP 114 -#define TK_UNION 115 -#define TK_ALL 116 -#define TK_EXCEPT 117 -#define TK_INTERSECT 118 -#define TK_SELECT 119 -#define TK_VALUES 120 -#define TK_DISTINCT 121 -#define TK_DOT 122 -#define TK_FROM 123 -#define TK_JOIN 124 -#define TK_USING 125 -#define TK_ORDER 126 -#define TK_GROUP 127 -#define TK_HAVING 128 -#define TK_LIMIT 129 -#define TK_WHERE 130 -#define TK_INTO 131 -#define TK_FLOAT 132 -#define TK_BLOB 133 -#define TK_INTEGER 134 -#define TK_VARIABLE 135 -#define TK_CASE 136 -#define TK_WHEN 137 -#define TK_THEN 138 -#define TK_ELSE 139 -#define TK_INDEX 140 -#define TK_ALTER 141 -#define TK_ADD 142 -#define TK_ISNOT 143 -#define TK_FUNCTION 144 -#define TK_COLUMN 145 -#define TK_AGG_FUNCTION 146 -#define TK_AGG_COLUMN 147 -#define TK_UMINUS 148 -#define TK_UPLUS 149 -#define TK_REGISTER 150 -#define TK_VECTOR 151 -#define TK_SELECT_COLUMN 152 -#define TK_IF_NULL_ROW 153 -#define TK_ASTERISK 154 -#define TK_SPAN 155 -#define TK_END_OF_FILE 156 -#define TK_UNCLOSED_STRING 157 -#define TK_SPACE 158 -#define TK_ILLEGAL 159 +#define TK_DO 61 +#define TK_FOR 62 +#define TK_IGNORE 63 +#define TK_INITIALLY 64 +#define TK_INSTEAD 65 +#define TK_NO 66 +#define TK_KEY 67 +#define TK_OF 68 +#define TK_OFFSET 69 +#define TK_PRAGMA 70 +#define TK_RAISE 71 +#define TK_RECURSIVE 72 +#define TK_REPLACE 73 +#define TK_RESTRICT 74 +#define TK_ROW 75 +#define TK_ROWS 76 +#define TK_TRIGGER 77 +#define TK_VACUUM 78 +#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 @@ -12809,6 +13702,13 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); # define SQLITE_DEFAULT_PCACHE_INITSZ 20 #endif +/* +** Default value for the SQLITE_CONFIG_SORTERREF_SIZE option. +*/ +#ifndef SQLITE_DEFAULT_SORTERREF_SIZE +# define SQLITE_DEFAULT_SORTERREF_SIZE 0x7fffffff +#endif + /* ** The compile-time options SQLITE_MMAP_READWRITE and ** SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. @@ -12956,7 +13856,8 @@ typedef INT16_TYPE LogEst; # if defined(__SIZEOF_POINTER__) # define SQLITE_PTRSIZE __SIZEOF_POINTER__ # elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(_M_ARM) || defined(__arm__) || defined(__x86) + defined(_M_ARM) || defined(__arm__) || defined(__x86) || \ + (defined(__TOS_AIX__) && !defined(__64BIT__)) # define SQLITE_PTRSIZE 4 # else # define SQLITE_PTRSIZE 8 @@ -12997,7 +13898,7 @@ typedef INT16_TYPE LogEst; # 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(__arm__) || defined(_M_ARM64) # define SQLITE_BYTEORDER 1234 # elif defined(sparc) || defined(__ppc__) # define SQLITE_BYTEORDER 4321 @@ -13133,9 +14034,10 @@ typedef INT16_TYPE LogEst; */ typedef struct BusyHandler BusyHandler; struct BusyHandler { - int (*xFunc)(void *,int); /* The busy callback */ - void *pArg; /* First arg to busy callback */ - int nBusy; /* Incremented with each busy call */ + int (*xBusyHandler)(void *,int); /* The busy callback */ + void *pBusyArg; /* First arg to busy callback */ + int nBusy; /* Incremented with each busy call */ + u8 bExtraFileArg; /* Include sqlite3_file as callback arg */ }; /* @@ -13251,13 +14153,14 @@ typedef struct NameContext NameContext; typedef struct Parse Parse; typedef struct PreUpdate PreUpdate; typedef struct PrintfArguments PrintfArguments; +typedef struct RenameToken RenameToken; typedef struct RowSet RowSet; typedef struct Savepoint Savepoint; typedef struct Select Select; typedef struct SQLiteThread SQLiteThread; typedef struct SelectDest SelectDest; typedef struct SrcList SrcList; -typedef struct StrAccum StrAccum; +typedef struct sqlite3_str StrAccum; /* Internal alias for sqlite3_str */ typedef struct Table Table; typedef struct TableLock TableLock; typedef struct Token Token; @@ -13266,12 +14169,40 @@ typedef struct Trigger Trigger; typedef struct TriggerPrg TriggerPrg; typedef struct TriggerStep TriggerStep; typedef struct UnpackedRecord UnpackedRecord; +typedef struct Upsert Upsert; typedef struct VTable VTable; typedef struct VtabCtx VtabCtx; typedef struct Walker Walker; typedef struct WhereInfo WhereInfo; +typedef struct Window Window; typedef struct With With; + +/* +** The bitmask datatype defined below is used for various optimizations. +** +** Changing this from a 64-bit to a 32-bit type limits the number of +** tables in a join to 32 instead of 64. But it also reduces the size +** of the library by 738 bytes on ix86. +*/ +#ifdef SQLITE_BITMASK_TYPE + typedef SQLITE_BITMASK_TYPE Bitmask; +#else + typedef u64 Bitmask; +#endif + +/* +** The number of bits in a Bitmask. "BMS" means "BitMask Size". +*/ +#define BMS ((int)(sizeof(Bitmask)*8)) + +/* +** A bit in a Bitmask +*/ +#define MASKBIT(n) (((Bitmask)1)<<(n)) +#define MASKBIT32(n) (((unsigned int)1)<<(n)) +#define ALLBITS ((Bitmask)-1) + /* A VList object records a mapping between parameters/variables/wildcards ** in the SQL statement (such as $abc, @pqr, or :xyz) and the integer ** variable number associated with that parameter. See the format description @@ -13367,7 +14298,7 @@ SQLITE_PRIVATE int sqlite3BtreeGetOptimalReserve(Btree*); SQLITE_PRIVATE int sqlite3BtreeGetReserveNoMutex(Btree *p); SQLITE_PRIVATE int sqlite3BtreeSetAutoVacuum(Btree *, int); SQLITE_PRIVATE int sqlite3BtreeGetAutoVacuum(Btree *); -SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree*,int); +SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree*,int,int*); SQLITE_PRIVATE int sqlite3BtreeCommitPhaseOne(Btree*, const char *zMaster); SQLITE_PRIVATE int sqlite3BtreeCommitPhaseTwo(Btree*, int); SQLITE_PRIVATE int sqlite3BtreeCommit(Btree*); @@ -13548,13 +14479,28 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, u8 flags); ** entry in either an index or table btree. ** ** Index btrees (used for indexes and also WITHOUT ROWID tables) contain -** an arbitrary key and no data. These btrees have pKey,nKey set to their -** key and pData,nData,nZero set to zero. +** an arbitrary key and no data. These btrees have pKey,nKey set to the +** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem +** fields give an array of Mem objects that are a decomposition of the key. +** The nMem field might be zero, indicating that no decomposition is available. ** ** Table btrees (used for rowid tables) contain an integer rowid used as ** the key and passed in the nKey field. The pKey field is zero. ** pData,nData hold the content of the new entry. nZero extra zero bytes ** are appended to the end of the content when constructing the entry. +** The aMem,nMem fields are uninitialized for table btrees. +** +** Field usage summary: +** +** Table BTrees Index Btrees +** +** pKey always NULL encoded key +** nKey the ROWID length of pKey +** pData data not used +** aMem not used decomposed key value +** nMem not used entries in aMem +** nData length of pData not used +** nZero extra zeros after pData not used ** ** This object is used to pass information into sqlite3BtreeInsert(). The ** same information used to be passed as five separate parameters. But placing @@ -13565,7 +14511,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, u8 flags); struct BtreePayload { const void *pKey; /* Key content for indexes. NULL for tables */ sqlite3_int64 nKey; /* Size of pKey for indexes. PRIMARY KEY for tabs */ - const void *pData; /* Data for tables. NULL for indexes */ + const void *pData; /* Data for tables. */ sqlite3_value *aMem; /* First of nMem value in the unpacked pKey */ u16 nMem; /* Number of aMem[] value. Might be zero */ int nData; /* Size of pData. 0 if none. */ @@ -13575,6 +14521,9 @@ 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*); @@ -13742,7 +14691,8 @@ struct VdbeOp { u64 cycles; /* Total time spent executing this instruction */ #endif #ifdef SQLITE_VDBE_COVERAGE - int iSrcLine; /* Source-code line that generated this opcode */ + u32 iSrcLine; /* Source-code line that generated this opcode + ** with flags in the upper 8 bits */ #endif }; typedef struct VdbeOp VdbeOp; @@ -13843,52 +14793,52 @@ typedef struct VdbeOpList VdbeOpList; #define OP_AutoCommit 1 #define OP_Transaction 2 #define OP_SorterNext 3 /* jump */ -#define OP_PrevIfOpen 4 /* jump */ -#define OP_NextIfOpen 5 /* jump */ -#define OP_Prev 6 /* jump */ -#define OP_Next 7 /* jump */ -#define OP_Checkpoint 8 -#define OP_JournalMode 9 -#define OP_Vacuum 10 -#define OP_VFilter 11 /* jump, synopsis: iplan=r[P3] zplan='P4' */ -#define OP_VUpdate 12 /* synopsis: data=r[P3@P2] */ -#define OP_Goto 13 /* jump */ -#define OP_Gosub 14 /* jump */ -#define OP_InitCoroutine 15 /* jump */ -#define OP_Yield 16 /* jump */ -#define OP_MustBeInt 17 /* jump */ -#define OP_Jump 18 /* jump */ +#define OP_Prev 4 /* jump */ +#define OP_Next 5 /* jump */ +#define OP_Checkpoint 6 +#define OP_JournalMode 7 +#define OP_Vacuum 8 +#define OP_VFilter 9 /* jump, synopsis: iplan=r[P3] zplan='P4' */ +#define OP_VUpdate 10 /* synopsis: data=r[P3@P2] */ +#define OP_Goto 11 /* jump */ +#define OP_Gosub 12 /* jump */ +#define OP_InitCoroutine 13 /* jump */ +#define OP_Yield 14 /* jump */ +#define OP_MustBeInt 15 /* jump */ +#define OP_Jump 16 /* jump */ +#define OP_Once 17 /* jump */ +#define OP_If 18 /* jump */ #define OP_Not 19 /* same as TK_NOT, synopsis: r[P2]= !r[P1] */ -#define OP_Once 20 /* jump */ -#define OP_If 21 /* jump */ -#define OP_IfNot 22 /* jump */ -#define OP_IfNullRow 23 /* jump, synopsis: if P1.nullRow then r[P3]=NULL, goto P2 */ -#define OP_SeekLT 24 /* jump, synopsis: key=r[P3@P4] */ -#define OP_SeekLE 25 /* jump, synopsis: key=r[P3@P4] */ -#define OP_SeekGE 26 /* jump, synopsis: key=r[P3@P4] */ -#define OP_SeekGT 27 /* jump, synopsis: key=r[P3@P4] */ -#define OP_NoConflict 28 /* jump, synopsis: key=r[P3@P4] */ -#define OP_NotFound 29 /* jump, synopsis: key=r[P3@P4] */ -#define OP_Found 30 /* jump, synopsis: key=r[P3@P4] */ -#define OP_SeekRowid 31 /* jump, synopsis: intkey=r[P3] */ -#define OP_NotExists 32 /* jump, synopsis: intkey=r[P3] */ -#define OP_Last 33 /* jump */ -#define OP_IfSmaller 34 /* jump */ -#define OP_SorterSort 35 /* jump */ -#define OP_Sort 36 /* jump */ -#define OP_Rewind 37 /* jump */ -#define OP_IdxLE 38 /* jump, synopsis: key=r[P3@P4] */ -#define OP_IdxGT 39 /* jump, synopsis: key=r[P3@P4] */ -#define OP_IdxLT 40 /* jump, synopsis: key=r[P3@P4] */ -#define OP_IdxGE 41 /* jump, synopsis: key=r[P3@P4] */ -#define OP_RowSetRead 42 /* jump, synopsis: r[P3]=rowset(P1) */ +#define OP_IfNot 20 /* jump */ +#define OP_IfNullRow 21 /* jump, synopsis: if P1.nullRow then r[P3]=NULL, goto P2 */ +#define OP_SeekLT 22 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekLE 23 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekGE 24 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekGT 25 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IfNoHope 26 /* jump, synopsis: key=r[P3@P4] */ +#define OP_NoConflict 27 /* jump, synopsis: key=r[P3@P4] */ +#define OP_NotFound 28 /* jump, synopsis: key=r[P3@P4] */ +#define OP_Found 29 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekRowid 30 /* jump, synopsis: intkey=r[P3] */ +#define OP_NotExists 31 /* jump, synopsis: intkey=r[P3] */ +#define OP_Last 32 /* jump */ +#define OP_IfSmaller 33 /* jump */ +#define OP_SorterSort 34 /* jump */ +#define OP_Sort 35 /* jump */ +#define OP_Rewind 36 /* jump */ +#define OP_IdxLE 37 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxGT 38 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxLT 39 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxGE 40 /* jump, synopsis: key=r[P3@P4] */ +#define OP_RowSetRead 41 /* jump, synopsis: r[P3]=rowset(P1) */ +#define OP_RowSetTest 42 /* jump, synopsis: if r[P3] in rowset(P1) goto P2 */ #define OP_Or 43 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ #define OP_And 44 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ -#define OP_RowSetTest 45 /* jump, synopsis: if r[P3] in rowset(P1) goto P2 */ -#define OP_Program 46 /* jump */ -#define OP_FkIfZero 47 /* jump, synopsis: if fkctr[P1]==0 goto P2 */ -#define OP_IfPos 48 /* jump, synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ -#define OP_IfNotZero 49 /* jump, synopsis: if r[P1]!=0 then r[P1]--, goto P2 */ +#define OP_Program 45 /* jump */ +#define OP_FkIfZero 46 /* jump, synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_IfPos 47 /* jump, synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ +#define OP_IfNotZero 48 /* jump, synopsis: if r[P1]!=0 then r[P1]--, goto P2 */ +#define OP_DecrJumpZero 49 /* jump, synopsis: if (--r[P1])==0 goto P2 */ #define OP_IsNull 50 /* jump, same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ #define OP_NotNull 51 /* jump, same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ #define OP_Ne 52 /* jump, same as TK_NE, synopsis: IF r[P3]!=r[P1] */ @@ -13898,117 +14848,121 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Lt 56 /* jump, same as TK_LT, synopsis: IF r[P3]=r[P1] */ #define OP_ElseNotEq 58 /* jump, same as TK_ESCAPE */ -#define OP_DecrJumpZero 59 /* jump, synopsis: if (--r[P1])==0 goto P2 */ -#define OP_IncrVacuum 60 /* jump */ -#define OP_VNext 61 /* jump */ -#define OP_Init 62 /* jump, synopsis: Start at P2 */ -#define OP_Return 63 -#define OP_EndCoroutine 64 -#define OP_HaltIfNull 65 /* synopsis: if r[P3]=null halt */ -#define OP_Halt 66 -#define OP_Integer 67 /* synopsis: r[P2]=P1 */ -#define OP_Int64 68 /* synopsis: r[P2]=P4 */ -#define OP_String 69 /* synopsis: r[P2]='P4' (len=P1) */ -#define OP_Null 70 /* synopsis: r[P2..P3]=NULL */ -#define OP_SoftNull 71 /* synopsis: r[P1]=NULL */ -#define OP_Blob 72 /* synopsis: r[P2]=P4 (len=P1) */ -#define OP_Variable 73 /* synopsis: r[P2]=parameter(P1,P4) */ -#define OP_Move 74 /* synopsis: r[P2@P3]=r[P1@P3] */ -#define OP_Copy 75 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ -#define OP_SCopy 76 /* synopsis: r[P2]=r[P1] */ -#define OP_IntCopy 77 /* synopsis: r[P2]=r[P1] */ -#define OP_ResultRow 78 /* synopsis: output=r[P1@P2] */ -#define OP_CollSeq 79 -#define OP_AddImm 80 /* synopsis: r[P1]=r[P1]+P2 */ -#define OP_RealAffinity 81 -#define OP_Cast 82 /* synopsis: affinity(r[P1]) */ -#define OP_Permutation 83 -#define OP_BitAnd 84 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ -#define OP_BitOr 85 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ -#define OP_ShiftLeft 86 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ -#define OP_Add 88 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ -#define OP_Subtract 89 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ -#define OP_Multiply 90 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ -#define OP_Divide 91 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ -#define OP_Remainder 92 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ -#define OP_Concat 93 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ -#define OP_Compare 94 /* synopsis: r[P1@P3] <-> r[P2@P3] */ -#define OP_BitNot 95 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ -#define OP_Offset 96 /* synopsis: r[P3] = sqlite_offset(P1) */ -#define OP_String8 97 /* same as TK_STRING, synopsis: r[P2]='P4' */ -#define OP_Column 98 /* synopsis: r[P3]=PX */ -#define OP_Affinity 99 /* synopsis: affinity(r[P1@P2]) */ -#define OP_MakeRecord 100 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ -#define OP_Count 101 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 102 -#define OP_SetCookie 103 -#define OP_ReopenIdx 104 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 105 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 106 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenDup 107 -#define OP_OpenAutoindex 108 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 109 /* synopsis: nColumn=P2 */ -#define OP_SorterOpen 110 -#define OP_SequenceTest 111 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ -#define OP_OpenPseudo 112 /* synopsis: P3 columns in r[P2] */ -#define OP_Close 113 -#define OP_ColumnsUsed 114 -#define OP_Sequence 115 /* synopsis: r[P2]=cursor[P1].ctr++ */ -#define OP_NewRowid 116 /* synopsis: r[P2]=rowid */ -#define OP_Insert 117 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 118 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 119 -#define OP_ResetCount 120 -#define OP_SorterCompare 121 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ -#define OP_SorterData 122 /* synopsis: r[P2]=data */ -#define OP_RowData 123 /* synopsis: r[P2]=data */ -#define OP_Rowid 124 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 125 -#define OP_SeekEnd 126 -#define OP_SorterInsert 127 /* synopsis: key=r[P2] */ -#define OP_IdxInsert 128 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 129 /* synopsis: key=r[P2@P3] */ -#define OP_DeferredSeek 130 /* synopsis: Move P3 to P1.rowid if needed */ -#define OP_IdxRowid 131 /* synopsis: r[P2]=rowid */ -#define OP_Real 132 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_Destroy 133 -#define OP_Clear 134 -#define OP_ResetSorter 135 -#define OP_CreateBtree 136 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ -#define OP_SqlExec 137 -#define OP_ParseSchema 138 -#define OP_LoadAnalysis 139 -#define OP_DropTable 140 -#define OP_DropIndex 141 -#define OP_DropTrigger 142 -#define OP_IntegrityCk 143 -#define OP_RowSetAdd 144 /* synopsis: rowset(P1)=r[P2] */ -#define OP_Param 145 -#define OP_FkCounter 146 /* synopsis: fkctr[P1]+=P2 */ -#define OP_MemMax 147 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_OffsetLimit 148 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ -#define OP_AggStep0 149 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep 150 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggFinal 151 /* synopsis: accum=r[P1] N=P2 */ -#define OP_Expire 152 -#define OP_TableLock 153 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 154 -#define OP_VCreate 155 -#define OP_VDestroy 156 -#define OP_VOpen 157 -#define OP_VColumn 158 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VRename 159 -#define OP_Pagecount 160 -#define OP_MaxPgcnt 161 -#define OP_PureFunc0 162 -#define OP_Function0 163 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_PureFunc 164 -#define OP_Function 165 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_Trace 166 -#define OP_CursorHint 167 -#define OP_Noop 168 -#define OP_Explain 169 +#define OP_IncrVacuum 59 /* jump */ +#define OP_VNext 60 /* jump */ +#define OP_Init 61 /* jump, synopsis: Start at P2 */ +#define OP_PureFunc0 62 +#define OP_Function0 63 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_PureFunc 64 +#define OP_Function 65 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_Return 66 +#define OP_EndCoroutine 67 +#define OP_HaltIfNull 68 /* synopsis: if r[P3]=null halt */ +#define OP_Halt 69 +#define OP_Integer 70 /* synopsis: r[P2]=P1 */ +#define OP_Int64 71 /* synopsis: r[P2]=P4 */ +#define OP_String 72 /* synopsis: r[P2]='P4' (len=P1) */ +#define OP_Null 73 /* synopsis: r[P2..P3]=NULL */ +#define OP_SoftNull 74 /* synopsis: r[P1]=NULL */ +#define OP_Blob 75 /* synopsis: r[P2]=P4 (len=P1) */ +#define OP_Variable 76 /* synopsis: r[P2]=parameter(P1,P4) */ +#define OP_Move 77 /* synopsis: r[P2@P3]=r[P1@P3] */ +#define OP_Copy 78 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ +#define OP_SCopy 79 /* synopsis: r[P2]=r[P1] */ +#define OP_IntCopy 80 /* synopsis: r[P2]=r[P1] */ +#define OP_ResultRow 81 /* synopsis: output=r[P1@P2] */ +#define OP_CollSeq 82 +#define OP_AddImm 83 /* synopsis: r[P1]=r[P1]+P2 */ +#define OP_RealAffinity 84 +#define OP_Cast 85 /* synopsis: affinity(r[P1]) */ +#define OP_Permutation 86 +#define OP_Compare 87 /* synopsis: r[P1@P3] <-> r[P2@P3] */ +#define OP_IsTrue 88 /* synopsis: r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4 */ +#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_SorterOpen 114 +#define OP_SequenceTest 115 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ +#define OP_OpenPseudo 116 /* synopsis: P3 columns in r[P2] */ +#define OP_Close 117 +#define OP_ColumnsUsed 118 +#define OP_SeekHit 119 /* synopsis: seekHit=P2 */ +#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 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c @@ -14021,28 +14975,28 @@ typedef struct VdbeOpList VdbeOpList; #define OPFLG_OUT2 0x10 /* out2: P2 is an output */ #define OPFLG_OUT3 0x20 /* out3: P3 is an output */ #define OPFLG_INITIALIZER {\ -/* 0 */ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,\ -/* 8 */ 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01,\ -/* 16 */ 0x03, 0x03, 0x01, 0x12, 0x01, 0x03, 0x03, 0x01,\ +/* 0 */ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10,\ +/* 8 */ 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03,\ +/* 16 */ 0x01, 0x01, 0x03, 0x12, 0x03, 0x01, 0x09, 0x09,\ /* 24 */ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,\ -/* 32 */ 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\ -/* 40 */ 0x01, 0x01, 0x23, 0x26, 0x26, 0x0b, 0x01, 0x01,\ +/* 32 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\ +/* 40 */ 0x01, 0x23, 0x0b, 0x26, 0x26, 0x01, 0x01, 0x03,\ /* 48 */ 0x03, 0x03, 0x03, 0x03, 0x0b, 0x0b, 0x0b, 0x0b,\ -/* 56 */ 0x0b, 0x0b, 0x01, 0x03, 0x01, 0x01, 0x01, 0x02,\ -/* 64 */ 0x02, 0x08, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00,\ -/* 72 */ 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ -/* 80 */ 0x02, 0x02, 0x02, 0x00, 0x26, 0x26, 0x26, 0x26,\ -/* 88 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x00, 0x12,\ -/* 96 */ 0x20, 0x10, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,\ -/* 104 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 112 */ 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,\ -/* 120 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04,\ -/* 128 */ 0x04, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00,\ -/* 136 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 144 */ 0x06, 0x10, 0x00, 0x04, 0x1a, 0x00, 0x00, 0x00,\ -/* 152 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 160 */ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 168 */ 0x00, 0x00,} +/* 56 */ 0x0b, 0x0b, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,\ +/* 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,\ +/* 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,} /* The sqlite3P2Values() routine is able to run faster if it knows ** the value of the largest JUMP opcode. The smaller the maximum @@ -14050,7 +15004,7 @@ typedef struct VdbeOpList VdbeOpList; ** generated this include file strives to group all JUMP opcodes ** together near the beginning of the list. */ -#define SQLITE_MX_JUMP_OPCODE 62 /* Maximum JUMP opcode */ +#define SQLITE_MX_JUMP_OPCODE 61 /* Maximum JUMP opcode */ /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ @@ -14084,7 +15038,24 @@ SQLITE_PRIVATE void sqlite3VdbeVerifyNoResultRow(Vdbe *p); # define sqlite3VdbeVerifyNoMallocRequired(A,B) # define sqlite3VdbeVerifyNoResultRow(A) #endif -SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp, int iLineno); +#if defined(SQLITE_DEBUG) +SQLITE_PRIVATE void sqlite3VdbeVerifyAbortable(Vdbe *p, int); +#else +# define sqlite3VdbeVerifyAbortable(A,B) +#endif +SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp,int iLineno); +#ifndef SQLITE_OMIT_EXPLAIN +SQLITE_PRIVATE void sqlite3VdbeExplain(Parse*,u8,const char*,...); +SQLITE_PRIVATE void sqlite3VdbeExplainPop(Parse*); +SQLITE_PRIVATE int sqlite3VdbeExplainParent(Parse*); +# define ExplainQueryPlan(P) sqlite3VdbeExplain P +# define ExplainQueryPlanPop(P) sqlite3VdbeExplainPop(P) +# define ExplainQueryPlanParent(P) sqlite3VdbeExplainParent(P) +#else +# define ExplainQueryPlan(P) +# define ExplainQueryPlanPop(P) +# define ExplainQueryPlanParent(P) 0 +#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); @@ -14128,6 +15099,7 @@ SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe*, int); SQLITE_PRIVATE char *sqlite3VdbeExpandSql(Vdbe*, const char*); #endif SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*); +SQLITE_PRIVATE int sqlite3BlobCompare(const Mem*, const Mem*); SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*,UnpackedRecord*); SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*); @@ -14183,23 +15155,52 @@ SQLITE_PRIVATE void sqlite3VdbeNoopComment(Vdbe*, const char*, ...); ** ** VdbeCoverageNeverTaken(v) // Previous branch is never taken ** +** VdbeCoverageNeverNull(v) // Previous three-way branch is only +** // taken on the first two ways. The +** // NULL option is not possible +** +** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested +** // in distingishing equal and not-equal. +** ** Every VDBE branch operation must be tagged with one of the macros above. ** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and ** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch() ** routine in vdbe.c, alerting the developer to the missed tag. +** +** During testing, the test application will invoke +** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback +** routine that is invoked as each bytecode branch is taken. The callback +** contains the sqlite3.c source line number ov the VdbeCoverage macro and +** flags to indicate whether or not the branch was taken. The test application +** is responsible for keeping track of this and reporting byte-code branches +** that are never taken. +** +** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the +** vdbe.c source file for additional information. */ #ifdef SQLITE_VDBE_COVERAGE SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe*,int); # define VdbeCoverage(v) sqlite3VdbeSetLineNumber(v,__LINE__) # define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__) -# define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2); -# define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1); +# define VdbeCoverageAlwaysTaken(v) \ + sqlite3VdbeSetLineNumber(v,__LINE__|0x5000000); +# define VdbeCoverageNeverTaken(v) \ + sqlite3VdbeSetLineNumber(v,__LINE__|0x6000000); +# define VdbeCoverageNeverNull(v) \ + sqlite3VdbeSetLineNumber(v,__LINE__|0x4000000); +# define VdbeCoverageNeverNullIf(v,x) \ + if(x)sqlite3VdbeSetLineNumber(v,__LINE__|0x4000000); +# define VdbeCoverageEqNe(v) \ + sqlite3VdbeSetLineNumber(v,__LINE__|0x8000000); # define VDBE_OFFSET_LINENO(x) (__LINE__+x) #else # define VdbeCoverage(v) # define VdbeCoverageIf(v,x) # define VdbeCoverageAlwaysTaken(v) # define VdbeCoverageNeverTaken(v) +# define VdbeCoverageNeverNull(v) +# define VdbeCoverageNeverNullIf(v,x) +# define VdbeCoverageEqNe(v) # define VDBE_OFFSET_LINENO(x) 0 #endif @@ -14209,6 +15210,10 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus(Vdbe*, int, int, int, LogEst, const ch # define sqlite3VdbeScanStatus(a,b,c,d,e) #endif +#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) +SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, VdbeOp*); +#endif + #endif /* SQLITE_VDBE_H */ /************** End of vdbe.h ************************************************/ @@ -14343,7 +15348,7 @@ SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager, sqlite3*); SQLITE_PRIVATE int sqlite3PagerReadFileheader(Pager*, int, unsigned char*); /* Functions used to configure a Pager object. */ -SQLITE_PRIVATE void sqlite3PagerSetBusyhandler(Pager*, int(*)(void *), void *); +SQLITE_PRIVATE void sqlite3PagerSetBusyHandler(Pager*, int(*)(void *), void *); SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager*, u32*, int); #ifdef SQLITE_HAS_CODEC SQLITE_PRIVATE void sqlite3PagerAlignReserve(Pager*,Pager*); @@ -14396,16 +15401,17 @@ SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager, sqlite3*); -# ifdef SQLITE_DIRECT_OVERFLOW_READ -SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager, Pgno); -# endif # ifdef SQLITE_ENABLE_SNAPSHOT SQLITE_PRIVATE int sqlite3PagerSnapshotGet(Pager *pPager, sqlite3_snapshot **ppSnapshot); SQLITE_PRIVATE int sqlite3PagerSnapshotOpen(Pager *pPager, sqlite3_snapshot *pSnapshot); SQLITE_PRIVATE int sqlite3PagerSnapshotRecover(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerSnapshotCheck(Pager *pPager, sqlite3_snapshot *pSnapshot); +SQLITE_PRIVATE void sqlite3PagerSnapshotUnlock(Pager *pPager); # endif -#else -# define sqlite3PagerUseWal(x,y) 0 +#endif + +#ifdef SQLITE_DIRECT_OVERFLOW_READ +SQLITE_PRIVATE int sqlite3PagerDirectReadOk(Pager *pPager, Pgno pgno); #endif #ifdef SQLITE_ENABLE_ZIPVFS @@ -14429,6 +15435,11 @@ SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); SQLITE_PRIVATE void sqlite3PagerClearCache(Pager*); SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *); +#ifdef SQLITE_ENABLE_SETLK_TIMEOUT +SQLITE_PRIVATE void sqlite3PagerResetLockTimeout(Pager *pPager); +#else +# define sqlite3PagerResetLockTimeout(X) +#endif /* Functions used to truncate the database file. */ SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager*,Pgno); @@ -14645,6 +15656,10 @@ SQLITE_PRIVATE int sqlite3HeaderSizePcache1(void); /* Number of dirty pages as a percentage of the configured cache size */ SQLITE_PRIVATE int sqlite3PCachePercentDirty(PCache*); +#ifdef SQLITE_DIRECT_OVERFLOW_READ +SQLITE_PRIVATE int sqlite3PCacheIsDirty(PCache *pCache); +#endif + #endif /* _PCACHE_H_ */ /************** End of pcache.h **********************************************/ @@ -15150,12 +16165,14 @@ struct LookasideSlot { ** functions use a regular table table from hash.h.) ** ** Hash each FuncDef structure into one of the FuncDefHash.a[] slots. -** Collisions are on the FuncDef.u.pHash chain. +** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH() +** macro to compute a hash on the function name. */ #define SQLITE_FUNC_HASH_SZ 23 struct FuncDefHash { FuncDef *a[SQLITE_FUNC_HASH_SZ]; /* Hash table for functions */ }; +#define SQLITE_FUNC_HASH(C,L) (((C)+(L))%SQLITE_FUNC_HASH_SZ) #ifdef SQLITE_USER_AUTHENTICATION /* @@ -15216,7 +16233,7 @@ struct sqlite3 { Db *aDb; /* All backends */ int nDb; /* Number of backends currently in use */ u32 mDbFlags; /* flags recording internal state */ - u32 flags; /* flags settable by pragmas. See below */ + u64 flags; /* flags settable by pragmas. See below */ i64 lastRowid; /* ROWID of most recent insert (see above) */ i64 szMmap; /* Default mmap_size setting */ u32 nSchemaLock; /* Do not reset the schema when non-zero */ @@ -15236,7 +16253,7 @@ struct sqlite3 { u8 vtabOnConflict; /* Value to return for s3_vtab_on_conflict() */ u8 isTransactionSavepoint; /* True if the outermost savepoint is a TS */ u8 mTrace; /* zero or more SQLITE_TRACE flags */ - u8 skipBtreeMutex; /* True if no shared-cache backends */ + u8 noSharedCache; /* True if no shared-cache backends */ u8 nSqlExec; /* Number of pending OP_SqlExec opcodes */ int nextPagesize; /* Pagesize after VACUUM if >0 */ u32 magic; /* Magic number for detect library misuse */ @@ -15248,8 +16265,9 @@ struct sqlite3 { int newTnum; /* Rootpage of table being initialized */ u8 iDb; /* Which db file is being initialized */ u8 busy; /* TRUE if currently initializing */ - u8 orphanTrigger; /* Last statement is orphaned TEMP trigger */ - u8 imposterTable; /* Building an imposter table */ + 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 */ } init; int nVdbeActive; /* Number of VDBEs currently running */ int nVdbeRead; /* Number of active VDBEs that read or write */ @@ -15379,14 +16397,19 @@ struct sqlite3 { #define SQLITE_Fts3Tokenizer 0x00400000 /* Enable fts3_tokenizer(2) */ #define SQLITE_EnableQPSG 0x00800000 /* Query Planner Stability Guarantee*/ #define SQLITE_TriggerEQP 0x01000000 /* Show trigger EXPLAIN QUERY PLAN */ +#define SQLITE_ResetDatabase 0x02000000 /* Reset the database */ +#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 */ /* Flags used only if debugging */ +#define HI(X) ((u64)(X)<<32) #ifdef SQLITE_DEBUG -#define SQLITE_SqlTrace 0x08000000 /* Debug print SQL as it executes */ -#define SQLITE_VdbeListing 0x10000000 /* Debug listings of VDBE programs */ -#define SQLITE_VdbeTrace 0x20000000 /* True to trace VDBE execution */ -#define SQLITE_VdbeAddopTrace 0x40000000 /* Trace sqlite3VdbeAddOp() calls */ -#define SQLITE_VdbeEQP 0x80000000 /* Debug EXPLAIN QUERY PLAN */ +#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 */ #endif /* @@ -15395,6 +16418,7 @@ 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 */ /* ** Bits of the sqlite3.dbOptFlags field that are used by the @@ -15402,7 +16426,7 @@ struct sqlite3 { ** selectively disable various optimizations. */ #define SQLITE_QueryFlattener 0x0001 /* Query flattening */ -#define SQLITE_ColumnCache 0x0002 /* Column cache */ + /* 0x0002 available for reuse */ #define SQLITE_GroupByOrder 0x0004 /* GROUPBY cover of ORDERBY */ #define SQLITE_FactorOutConst 0x0008 /* Constant factoring */ #define SQLITE_DistinctOpt 0x0010 /* DISTINCT using indexes */ @@ -15414,6 +16438,10 @@ struct sqlite3 { #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_PushDown 0x1000 /* The push-down optimization */ +#define SQLITE_SimplifyJoin 0x2000 /* Convert LEFT JOIN to JOIN */ +#define SQLITE_SkipScan 0x4000 /* Skip-scans */ +#define SQLITE_PropagateConst 0x8000 /* The constant propagation opt */ #define SQLITE_AllOpts 0xffff /* All optimizations */ /* @@ -15452,11 +16480,13 @@ struct sqlite3 { */ struct FuncDef { i8 nArg; /* Number of arguments. -1 means unlimited */ - u16 funcFlags; /* Some combination of SQLITE_FUNC_* */ + u32 funcFlags; /* Some combination of SQLITE_FUNC_* */ void *pUserData; /* User data parameter */ FuncDef *pNext; /* Next function with same name */ void (*xSFunc)(sqlite3_context*,int,sqlite3_value**); /* func or agg-step */ void (*xFinalize)(sqlite3_context*); /* Agg finalizer */ + void (*xValue)(sqlite3_context*); /* Current agg value */ + void (*xInverse)(sqlite3_context*,int,sqlite3_value**); /* inverse agg-step */ const char *zName; /* SQL name of the function. */ union { FuncDef *pHash; /* Next with a different name but the same hash */ @@ -15513,6 +16543,9 @@ struct FuncDestructor { ** single query - might change over time */ #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 */ /* ** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are @@ -15547,6 +16580,12 @@ struct FuncDestructor { ** are interpreted in the same way as the first 4 parameters to ** FUNCTION(). ** +** WFUNCTION(zName, nArg, iArg, xStep, xFinal, xValue, xInverse) +** Used to create an aggregate function definition implemented by +** the C functions xStep and xFinal. The first four parameters +** are interpreted in the same way as the first 4 parameters to +** FUNCTION(). +** ** LIKEFUNC(zName, nArg, pArg, flags) ** Used to create a scalar function definition of a function zName ** that accepts nArg arguments and is implemented by a call to C @@ -15557,31 +16596,38 @@ struct FuncDestructor { */ #define FUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, 0, #zName, {0} } #define VFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, 0, #zName, {0} } #define DFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8, \ - 0, 0, xFunc, 0, #zName, {0} } + 0, 0, xFunc, 0, 0, 0, #zName, {0} } #define PURE_DATE(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|SQLITE_FUNC_CONSTANT, \ - (void*)&sqlite3Config, 0, xFunc, 0, #zName, {0} } + (void*)&sqlite3Config, 0, xFunc, 0, 0, 0, #zName, {0} } #define FUNCTION2(zName, nArg, iArg, bNC, xFunc, extraFlags) \ {nArg,SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL)|extraFlags,\ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, 0, #zName, {0} } #define STR_FUNCTION(zName, nArg, pArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - pArg, 0, xFunc, 0, #zName, } + pArg, 0, xFunc, 0, 0, 0, #zName, } #define LIKEFUNC(zName, nArg, arg, flags) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|flags, \ - (void *)arg, 0, likeFunc, 0, #zName, {0} } -#define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal) \ + (void *)arg, 0, likeFunc, 0, 0, 0, #zName, {0} } +#define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal, xValue) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName, {0}} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,xValue,0,#zName, {0}} #define AGGREGATE2(zName, nArg, arg, nc, xStep, xFinal, extraFlags) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL)|extraFlags, \ - SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName, {0}} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,xFinal,0,#zName, {0}} +#define WAGGREGATE(zName, nArg, arg, nc, xStep, xFinal, xValue, xInverse, f) \ + {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL)|f, \ + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,xValue,xInverse,#zName, {0}} +#define INTERNAL_FUNCTION(zName, nArg, xFunc) \ + {nArg, SQLITE_FUNC_INTERNAL|SQLITE_UTF8|SQLITE_FUNC_CONSTANT, \ + 0, 0, xFunc, 0, 0, 0, #zName, {0} } + /* ** All current savepoints are stored in a linked list starting at @@ -15637,6 +16683,8 @@ struct Column { #define COLFLAG_PRIMKEY 0x0001 /* Column is part of the primary key */ #define COLFLAG_HIDDEN 0x0002 /* A hidden column in a virtual table */ #define COLFLAG_HASTYPE 0x0004 /* Type name follows column name */ +#define COLFLAG_UNIQUE 0x0008 /* Column def contains "UNIQUE" or "PK" */ +#define COLFLAG_SORTERREF 0x0010 /* Use sorter-refs with this column */ /* ** A "Collating Sequence" is defined by an instance of the following @@ -15764,6 +16812,9 @@ 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 */ @@ -15814,6 +16865,7 @@ struct Table { #define TF_StatsUsed 0x0100 /* Query planner decisions affected by ** Index.aiRowLogEst[] values */ #define TF_HasNotNull 0x0200 /* Contains NOT NULL constraints */ +#define TF_Shadow 0x0400 /* True for a shadow table */ /* ** Test to see whether or not a table is a virtual table. This is @@ -15924,13 +16976,12 @@ struct FKey { #define OE_Fail 3 /* Stop the operation but leave all prior changes */ #define OE_Ignore 4 /* Ignore the error. Do not do the INSERT or UPDATE */ #define OE_Replace 5 /* Delete existing record, then do INSERT or UPDATE */ - -#define OE_Restrict 6 /* OE_Abort for IMMEDIATE, OE_Rollback for DEFERRED */ -#define OE_SetNull 7 /* Set the foreign key value to NULL */ -#define OE_SetDflt 8 /* Set the foreign key value to its default */ -#define OE_Cascade 9 /* Cascade the changes */ - -#define OE_Default 10 /* Do whatever the default action is */ +#define OE_Update 6 /* Process as a DO UPDATE in an upsert */ +#define OE_Restrict 7 /* OE_Abort for IMMEDIATE, OE_Rollback for DEFERRED */ +#define OE_SetNull 8 /* Set the foreign key value to NULL */ +#define OE_SetDflt 9 /* Set the foreign key value to its default */ +#define OE_Cascade 10 /* Cascade the changes */ +#define OE_Default 11 /* Do whatever the default action is */ /* @@ -16066,6 +17117,7 @@ struct Index { tRowcnt *aiRowEst; /* Non-logarithmic stat1 data for this index */ tRowcnt nRowEst0; /* Non-logarithmic number of rows in the index */ #endif + Bitmask colNotIdxed; /* 0 for unindexed columns in pTab */ }; /* @@ -16100,13 +17152,21 @@ struct IndexSample { tRowcnt *anDLt; /* Est. number of distinct keys less than this sample */ }; +/* +** Possible values to use within the flags argument to sqlite3GetToken(). +*/ +#define SQLITE_TOKEN_QUOTED 0x1 /* Token is a quoted identifier. */ +#define SQLITE_TOKEN_KEYWORD 0x2 /* Token is a keyword. */ + /* ** Each token coming out of the lexer is an instance of ** this structure. Tokens are also used as part of an expression. ** -** Note if Token.z==0 then Token.dyn and Token.n are undefined and -** may contain random values. Do not make any assumptions about Token.dyn -** and Token.n when Token.z==0. +** The memory that "z" points to is owned by other objects. Take care +** that the owner of the "z" string does not deallocate the string before +** the Token goes out of scope! Very often, the "z" points to some place +** in the middle of the Parse.zSql text. But it might also point to a +** static string. */ struct Token { const char *z; /* Text of the token. Not NULL-terminated! */ @@ -16279,8 +17339,11 @@ struct Expr { ** 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 */ - Table *pTab; /* Table for TK_COLUMN expressions. Can be NULL - ** for a column of an index on an expression */ + 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 */ + } y; }; /* @@ -16289,7 +17352,7 @@ struct Expr { #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 */ - /* 0x000008 // available for use */ +#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 "..." */ @@ -16310,6 +17373,7 @@ struct Expr { #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 */ /* ** The EP_Propagate mask is a set of properties that automatically propagate @@ -16377,6 +17441,7 @@ struct ExprList { 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 */ union { struct { u16 iOrderByCol; /* For ORDER BY, column number in result set */ @@ -16410,31 +17475,6 @@ struct IdList { int nId; /* Number of identifiers on the list */ }; -/* -** The bitmask datatype defined below is used for various optimizations. -** -** Changing this from a 64-bit to a 32-bit type limits the number of -** tables in a join to 32 instead of 64. But it also reduces the size -** of the library by 738 bytes on ix86. -*/ -#ifdef SQLITE_BITMASK_TYPE - typedef SQLITE_BITMASK_TYPE Bitmask; -#else - typedef u64 Bitmask; -#endif - -/* -** The number of bits in a Bitmask. "BMS" means "BitMask Size". -*/ -#define BMS ((int)(sizeof(Bitmask)*8)) - -/* -** A bit in a Bitmask -*/ -#define MASKBIT(n) (((Bitmask)1)<<(n)) -#define MASKBIT32(n) (((unsigned int)1)<<(n)) -#define ALLBITS ((Bitmask)-1) - /* ** The following structure describes the FROM clause of a SELECT statement. ** Each table or subquery in the FROM clause is a separate element of @@ -16476,9 +17516,6 @@ struct SrcList { unsigned viaCoroutine :1; /* Implemented as a co-routine */ unsigned isRecursive :1; /* True for recursive reference in WITH */ } fg; -#ifndef SQLITE_OMIT_EXPLAIN - u8 iSelectId; /* If pSelect!=0, the id of the sub-select in EQP */ -#endif int iCursor; /* The VDBE cursor number used to access this table */ Expr *pOn; /* The ON clause of a join */ IdList *pUsing; /* The USING clause of a join */ @@ -16560,12 +17597,16 @@ struct SrcList { struct NameContext { Parse *pParse; /* The parser */ SrcList *pSrcList; /* One or more tables used to resolve names */ - ExprList *pEList; /* Optional list of result-set columns */ - AggInfo *pAggInfo; /* Information about aggregates at this level */ + union { + ExprList *pEList; /* Optional list of result-set columns */ + AggInfo *pAggInfo; /* Information about aggregates at this level */ + Upsert *pUpsert; /* ON CONFLICT clause information from an upsert */ + } uNC; 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 */ + Select *pWinSelect; /* SELECT statement for any window functions */ }; /* @@ -16583,18 +17624,49 @@ struct NameContext { #define NC_HasAgg 0x0010 /* One or more aggregate functions seen */ #define NC_IdxExpr 0x0020 /* True if resolving columns of CREATE INDEX */ #define NC_VarSelect 0x0040 /* A correlated subquery has been seen */ +#define NC_UEList 0x0080 /* True if uNC.pEList is used */ +#define NC_UAggInfo 0x0100 /* True if uNC.pAggInfo is used */ +#define NC_UUpsert 0x0200 /* True if uNC.pUpsert is used */ #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 */ + +/* +** An instance of the following object describes a single ON CONFLICT +** clause in an upsert. +** +** The pUpsertTarget field is only set if the ON CONFLICT clause includes +** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the +** conflict-target clause.) The pUpsertTargetWhere is the optional +** WHERE clause used to identify partial unique indexes. +** +** pUpsertSet is the list of column=expr terms of the UPDATE statement. +** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The +** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the +** WHERE clause is omitted. +*/ +struct Upsert { + ExprList *pUpsertTarget; /* Optional description of conflicting index */ + Expr *pUpsertTargetWhere; /* WHERE clause for partial index targets */ + ExprList *pUpsertSet; /* The SET clause from an ON CONFLICT UPDATE */ + Expr *pUpsertWhere; /* WHERE clause for the ON CONFLICT UPDATE */ + /* The fields above comprise the parse tree for the upsert clause. + ** The fields below are used to transfer information from the INSERT + ** processing down into the UPDATE processing while generating code. + ** Upsert owns the memory allocated above, but not the memory below. */ + Index *pUpsertIdx; /* Constraint that pUpsertTarget identifies */ + SrcList *pUpsertSrc; /* Table to be updated */ + int regData; /* First register holding array of VALUES */ + int iDataCur; /* Index of the data cursor */ + int iIdxCur; /* Index of the first index cursor */ +}; /* ** An instance of the following structure contains all information ** needed to generate code for a single SELECT statement. ** -** nLimit is set to -1 if there is no LIMIT clause. nOffset is set to 0. -** If there is a LIMIT clause, the parser sets nLimit to the value of the -** limit and nOffset to the value of the offset (or 0 if there is not -** offset). But later on, nLimit and nOffset become the memory locations -** in the VDBE that record the limit and offset counters. +** See the header comment on the computeLimitRegisters() routine for a +** detailed description of the meaning of the iLimit and iOffset fields. ** ** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes. ** These addresses must be stored so that we can go back and fill in @@ -16612,9 +17684,7 @@ struct Select { LogEst nSelectRow; /* Estimated number of result rows */ u32 selFlags; /* Various SF_* values */ int iLimit, iOffset; /* Memory registers holding LIMIT & OFFSET counters */ -#if SELECTTRACE_ENABLED - char zSelName[12]; /* Symbolic name of this SELECT use for debugging */ -#endif + u32 selId; /* Unique identifier number for this SELECT */ int addrOpenEphm[2]; /* OP_OpenEphem opcodes related to this select */ SrcList *pSrc; /* The FROM clause */ Expr *pWhere; /* The WHERE clause */ @@ -16625,6 +17695,10 @@ struct Select { Select *pNext; /* Next select to the left in a compound */ Expr *pLimit; /* LIMIT expression. NULL means not used. */ With *pWith; /* WITH clause attached to this select. Or NULL. */ +#ifndef SQLITE_OMIT_WINDOWFUNC + Window *pWin; /* List of window functions */ + Window *pWinDefn; /* List of named window definitions */ +#endif }; /* @@ -16654,8 +17728,7 @@ struct Select { #define SF_MaybeConvert 0x08000 /* Need convertCompoundSelectToSubquery() */ #define SF_Converted 0x10000 /* By convertCompoundSelectToSubquery() */ #define SF_IncludeHidden 0x20000 /* Include hidden columns in output */ -#define SF_ComplexResult 0x40000 /* Result set contains subquery or function */ - +#define SF_ComplexResult 0x40000 /* Result contains subquery or function */ /* ** The results of a SELECT can be distributed in several ways, as defined @@ -16769,13 +17842,6 @@ struct AutoincInfo { int regCtr; /* Memory register holding the rowid counter */ }; -/* -** Size of the column cache -*/ -#ifndef SQLITE_N_COLCACHE -# define SQLITE_N_COLCACHE 10 -#endif - /* ** At least one instance of the following structure is created for each ** trigger that may be fired while parsing an INSERT, UPDATE or DELETE @@ -16851,7 +17917,6 @@ 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 nColCache; /* Number of entries in aColCache[] */ int nRangeReg; /* Size of the temporary register block */ int iRangeReg; /* First register in temporary register block */ int nErr; /* Number of errors seen */ @@ -16861,8 +17926,6 @@ struct Parse { 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 iCacheLevel; /* ColCache valid when aColCache[].iLevel<=iCacheLevel */ - int iCacheCnt; /* Counter used to generate aColCache[].lru values */ int nLabel; /* Number of labels used */ int *aLabel; /* Space to hold the labels */ ExprList *pConstExpr;/* Constant expressions */ @@ -16872,10 +17935,7 @@ struct Parse { int regRowid; /* Register holding rowid of CREATE TABLE entry */ int regRoot; /* Register holding root page number for new objects */ int nMaxArg; /* Max args passed to user function by sub-program */ -#if SELECTTRACE_ENABLED - int nSelect; /* Number of SELECT statements seen */ - int nSelectIndent; /* How far to indent SELECTTRACE() output */ -#endif + int nSelect; /* Number of SELECT stmts. Counter for Select.selId */ #ifndef SQLITE_OMIT_SHARED_CACHE int nTableLock; /* Number of locks in aTableLock */ TableLock *aTableLock; /* Required table locks for shared-cache mode */ @@ -16895,17 +17955,9 @@ struct Parse { ** Fields above must be initialized to zero. The fields that follow, ** down to the beginning of the recursive section, do not need to be ** initialized as they will be set before being used. The boundary is - ** determined by offsetof(Parse,aColCache). + ** determined by offsetof(Parse,aTempReg). **************************************************************************/ - struct yColCache { - int iTable; /* Table cursor number */ - i16 iColumn; /* Table column number */ - u8 tempReg; /* iReg is a temp register that needs to be freed */ - int iLevel; /* Nesting level */ - int iReg; /* Reg with value of this column. 0 means none. */ - int lru; /* Least recently used entry has the smallest value */ - } aColCache[SQLITE_N_COLCACHE]; /* One for each column cache entry */ int aTempReg[8]; /* Holding area for temporary registers */ Token sNameToken; /* Token with unqualified schema object name */ @@ -16920,19 +17972,21 @@ struct Parse { ynVar nVar; /* Number of '?' variables seen in the SQL so far */ u8 iPkSortOrder; /* ASC or DESC for INTEGER PRIMARY KEY */ u8 explain; /* True if the EXPLAIN flag is found on the query */ +#if !(defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_OMIT_ALTERTABLE)) + u8 eParseMode; /* PARSE_MODE_XXX constant */ +#endif #ifndef SQLITE_OMIT_VIRTUALTABLE - u8 declareVtab; /* True if inside sqlite3_declare_vtab() */ int nVtabLock; /* Number of virtual tables to lock */ #endif int nHeight; /* Expression tree height of current sub-select */ #ifndef SQLITE_OMIT_EXPLAIN - int iSelectId; /* ID of current select for EXPLAIN output */ - int iNextSelectId; /* Next available select ID for EXPLAIN output */ + int addrExplain; /* Address of current OP_Explain opcode */ #endif VList *pVList; /* Mapping between variable names and numbers */ 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 */ Trigger *pNewTrigger; /* Trigger under construct by a CREATE TRIGGER */ const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -16943,12 +17997,20 @@ struct Parse { TriggerPrg *pTriggerPrg; /* Linked list of coded triggers */ With *pWith; /* Current WITH clause, or NULL */ With *pWithToFree; /* Free this WITH object at the end of the parse */ +#ifndef SQLITE_OMIT_ALTERTABLE + RenameToken *pRename; /* Tokens subject to renaming by ALTER TABLE */ +#endif }; +#define PARSE_MODE_NORMAL 0 +#define PARSE_MODE_DECLARE_VTAB 1 +#define PARSE_MODE_RENAME_COLUMN 2 +#define PARSE_MODE_RENAME_TABLE 3 + /* ** Sizes and pointers of various parts of the Parse object. */ -#define PARSE_HDR_SZ offsetof(Parse,aColCache) /* Recursive part w/o aColCache*/ +#define PARSE_HDR_SZ offsetof(Parse,aTempReg) /* Recursive part w/o aColCache*/ #define PARSE_RECURSE_SZ offsetof(Parse,sLastToken) /* Recursive part */ #define PARSE_TAIL_SZ (sizeof(Parse)-PARSE_RECURSE_SZ) /* Non-recursive part */ #define PARSE_TAIL(X) (((char*)(X))+PARSE_RECURSE_SZ) /* Pointer to tail */ @@ -16959,7 +18021,19 @@ struct Parse { #ifdef SQLITE_OMIT_VIRTUALTABLE #define IN_DECLARE_VTAB 0 #else - #define IN_DECLARE_VTAB (pParse->declareVtab) + #define IN_DECLARE_VTAB (pParse->eParseMode==PARSE_MODE_DECLARE_VTAB) +#endif + +#if defined(SQLITE_OMIT_ALTERTABLE) + #define IN_RENAME_OBJECT 0 +#else + #define IN_RENAME_OBJECT (pParse->eParseMode>=PARSE_MODE_RENAME_COLUMN) +#endif + +#if defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_OMIT_ALTERTABLE) + #define IN_SPECIAL_PARSE 0 +#else + #define IN_SPECIAL_PARSE (pParse->eParseMode!=PARSE_MODE_NORMAL) #endif /* @@ -16985,6 +18059,7 @@ struct AuthContext { */ #define OPFLAG_NCHANGE 0x01 /* OP_Insert: Set to update db->nChange */ /* Also used in P2 (not P5) of OP_Delete */ +#define OPFLAG_NOCHNG 0x01 /* OP_VColumn nochange for UPDATE */ #define OPFLAG_EPHEM 0x01 /* OP_Column: Ephemeral output is ok */ #define OPFLAG_LASTROWID 0x20 /* Set to update db->lastRowid */ #define OPFLAG_ISUPDATE 0x04 /* This OP_Insert is an sql UPDATE */ @@ -17086,8 +18161,9 @@ struct TriggerStep { Select *pSelect; /* SELECT statement or RHS of INSERT INTO SELECT ... */ char *zTarget; /* Target table for DELETE, UPDATE, INSERT */ Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */ - ExprList *pExprList; /* SET clause for UPDATE. */ + ExprList *pExprList; /* SET clause for UPDATE */ IdList *pIdList; /* Column names for INSERT */ + Upsert *pUpsert; /* Upsert clauses on an INSERT */ char *zSpan; /* Original SQL text of this command */ TriggerStep *pNext; /* Next in the link-list */ TriggerStep *pLast; /* Last element in link-list. Valid for 1st elem only */ @@ -17112,17 +18188,15 @@ struct DbFixer { ** An objected used to accumulate the text of a string where we ** do not necessarily know how big the string will be in the end. */ -struct StrAccum { +struct sqlite3_str { sqlite3 *db; /* Optional database for lookaside. Can be NULL */ char *zText; /* The string collected so far */ u32 nAlloc; /* Amount of space allocated in zText */ u32 mxAlloc; /* Maximum allowed allocation. 0 for no malloc usage */ u32 nChar; /* Length of the string so far */ - u8 accError; /* STRACCUM_NOMEM or STRACCUM_TOOBIG */ + u8 accError; /* SQLITE_NOMEM or SQLITE_TOOBIG */ u8 printfFlags; /* SQLITE_PRINTF flags below */ }; -#define STRACCUM_NOMEM 1 -#define STRACCUM_TOOBIG 2 #define SQLITE_PRINTF_INTERNAL 0x01 /* Internal-use-only converters allowed */ #define SQLITE_PRINTF_SQLFUNC 0x02 /* SQL function arguments to VXPrintf */ #define SQLITE_PRINTF_MALLOCED 0x04 /* True if xText is allocated space */ @@ -17139,8 +18213,14 @@ typedef struct { char **pzErrMsg; /* Error message stored here */ int iDb; /* 0 for main database. 1 for TEMP, 2.. for ATTACHed */ int rc; /* Result code stored here */ + u32 mInitFlags; /* Flags controlling error messages */ } InitData; +/* +** Allowed values for mInitFlags +*/ +#define INITFLAG_AlterTable 0x0001 /* This is a reparse after ALTER TABLE */ + /* ** Structure containing global configuration data for the SQLite library. ** @@ -17191,14 +18271,16 @@ struct Sqlite3Config { /* The following callback (if not NULL) is invoked on every VDBE branch ** operation. Set the callback using SQLITE_TESTCTRL_VDBE_COVERAGE. */ - void (*xVdbeBranch)(void*,int iSrcLine,u8 eThis,u8 eMx); /* Callback */ + void (*xVdbeBranch)(void*,unsigned iSrcLine,u8 eThis,u8 eMx); /* Callback */ void *pVdbeBranchArg; /* 1st argument */ #endif #ifndef SQLITE_UNTESTABLE int (*xTestCallback)(int); /* Invoked by sqlite3FaultSim() */ #endif int bLocaltimeFault; /* True to fail localtime() calls */ + 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 */ }; /* @@ -17238,9 +18320,12 @@ struct Walker { struct CCurHint *pCCurHint; /* Used by codeCursorHint() */ int *aiCol; /* array of column indexes */ struct IdxCover *pIdxCover; /* Check for index coverage */ - struct IdxExprTrans *pIdxTrans; /* Convert indexed expr to column */ + struct IdxExprTrans *pIdxTrans; /* Convert idxed expr to column */ ExprList *pGroupBy; /* GROUP BY clause */ - struct HavingToWhereCtx *pHavingCtx; /* HAVING to WHERE clause ctx */ + Select *pSelect; /* HAVING to WHERE clause ctx */ + struct WindowRewrite *pRewrite; /* Window rewrite context */ + struct WhereConst *pConst; /* WHERE clause constants */ + struct RenameCtx *pRename; /* RENAME COLUMN context */ } u; }; @@ -17291,6 +18376,68 @@ struct TreeView { }; #endif /* SQLITE_DEBUG */ +/* +** This object is used in varioius ways, 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. +** This object holds the information contained in the OVER clause, +** plus additional fields used during code generation. +** +** (2) All window functions in a single SELECT form a linked-list +** attached to Select.pWin. The Window.pFunc and Window.pExpr +** fields point back to the expression that is the window function. +** +** (3) The terms of the WINDOW clause of a SELECT are instances of this +** object on a linked list attached to Select.pWinDefn. +** +** 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. +*/ +struct Window { + char *zName; /* Name of window (may be NULL) */ + ExprList *pPartition; /* PARTITION BY clause */ + ExprList *pOrderBy; /* ORDER BY clause */ + u8 eType; /* TK_RANGE or TK_ROWS */ + u8 eStart; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ + u8 eEnd; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ + Expr *pStart; /* Expression for " PRECEDING" */ + Expr *pEnd; /* Expression for " FOLLOWING" */ + 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 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 */ + 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 */ +}; + +#ifndef SQLITE_OMIT_WINDOWFUNC +SQLITE_PRIVATE void sqlite3WindowDelete(sqlite3*, Window*); +SQLITE_PRIVATE void sqlite3WindowListDelete(sqlite3 *db, Window *p); +SQLITE_PRIVATE Window *sqlite3WindowAlloc(Parse*, int, int, Expr*, int , Expr*); +SQLITE_PRIVATE void sqlite3WindowAttach(Parse*, Expr*, Window*); +SQLITE_PRIVATE int sqlite3WindowCompare(Parse*, Window*, Window*); +SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse*, Window*); +SQLITE_PRIVATE void sqlite3WindowCodeStep(Parse*, Select*, WhereInfo*, int, int); +SQLITE_PRIVATE int sqlite3WindowRewrite(Parse*, Select*); +SQLITE_PRIVATE int sqlite3ExpandSubquery(Parse*, struct SrcList_item*); +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); +#else +# define sqlite3WindowDelete(a,b) +# define sqlite3WindowFunctions() +# define sqlite3WindowAttach(a,b,c) +#endif + /* ** Assuming zIn points to the first byte of a UTF-8 character, ** advance zIn to point to the first byte of the next UTF-8 character. @@ -17378,15 +18525,14 @@ SQLITE_PRIVATE int sqlite3CorruptPgnoError(int,Pgno); # define sqlite3Tolower(x) tolower((unsigned char)(x)) # define sqlite3Isquote(x) ((x)=='"'||(x)=='\''||(x)=='['||(x)=='`') #endif -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_PRIVATE int sqlite3IsIdChar(u8); -#endif /* ** Internal function prototypes */ SQLITE_PRIVATE int sqlite3StrICmp(const char*,const char*); SQLITE_PRIVATE int sqlite3Strlen30(const char*); +#define sqlite3Strlen30NN(C) (strlen(C)&0x3fffffff) SQLITE_PRIVATE char *sqlite3ColumnType(Column*,char*); #define sqlite3StrNICmp sqlite3_strnicmp @@ -17490,8 +18636,6 @@ struct PrintfArguments { sqlite3_value **apArg; /* The argument values */ }; -SQLITE_PRIVATE void sqlite3VXPrintf(StrAccum*, const char*, va_list); -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum*, const char*, ...); SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3*,const char*, ...); SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3*,const char*, va_list); #if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE) @@ -17505,8 +18649,13 @@ SQLITE_PRIVATE void *sqlite3TestTextToPtr(const char*); SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView*, const Expr*, u8); SQLITE_PRIVATE void sqlite3TreeViewBareExprList(TreeView*, const ExprList*, const char*); SQLITE_PRIVATE void sqlite3TreeViewExprList(TreeView*, const ExprList*, u8, const char*); +SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView*, const SrcList*); SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView*, const Select*, u8); SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView*, const With*, u8); +#ifndef SQLITE_OMIT_WINDOWFUNC +SQLITE_PRIVATE void sqlite3TreeViewWindow(TreeView*, const Window*, u8); +SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView*, const Window*, u8); +#endif #endif @@ -17531,7 +18680,7 @@ 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 *sqlite3ExprFunction(Parse*,ExprList*, Token*); +SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*, int); SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*, u32); SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*); SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*); @@ -17543,6 +18692,7 @@ SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3*, ExprList*); SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList*); SQLITE_PRIVATE int sqlite3Init(sqlite3*, char**); SQLITE_PRIVATE int sqlite3InitCallback(void*, int, char**, char**); +SQLITE_PRIVATE int sqlite3InitOne(sqlite3*, int, char**, u32); SQLITE_PRIVATE void sqlite3Pragma(Parse*,Token*,Token*,Token*,int); #ifndef SQLITE_OMIT_VIRTUALTABLE SQLITE_PRIVATE Module *sqlite3PragmaVtabRegister(sqlite3*,const char *zName); @@ -17592,8 +18742,9 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec*); SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int,int*); #endif -SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3*, void*, unsigned int); -SQLITE_PRIVATE void sqlite3RowSetClear(RowSet*); +SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3*); +SQLITE_PRIVATE void sqlite3RowSetDelete(void*); +SQLITE_PRIVATE void sqlite3RowSetClear(void*); SQLITE_PRIVATE void sqlite3RowSetInsert(RowSet*, i64); SQLITE_PRIVATE int sqlite3RowSetTest(RowSet*, int iBatch, i64); SQLITE_PRIVATE int sqlite3RowSetNext(RowSet*, i64*); @@ -17612,6 +18763,7 @@ SQLITE_PRIVATE int sqlite3DbMaskAllZero(yDbMask); SQLITE_PRIVATE void sqlite3DropTable(Parse*, SrcList*, int, int); SQLITE_PRIVATE void sqlite3CodeDropTable(Parse*, Table*, int, int); SQLITE_PRIVATE void sqlite3DeleteTable(sqlite3*, Table*); +SQLITE_PRIVATE void sqlite3FreeIndex(sqlite3*, Index*); #ifndef SQLITE_OMIT_AUTOINCREMENT SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse); SQLITE_PRIVATE void sqlite3AutoincrementEnd(Parse *pParse); @@ -17619,9 +18771,9 @@ SQLITE_PRIVATE void sqlite3AutoincrementEnd(Parse *pParse); # define sqlite3AutoincrementBegin(X) # define sqlite3AutoincrementEnd(X) #endif -SQLITE_PRIVATE void sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int); +SQLITE_PRIVATE void sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int, Upsert*); SQLITE_PRIVATE void *sqlite3ArrayAllocate(sqlite3*,void*,int,int*,int*); -SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3*, IdList*, Token*); +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*); @@ -17649,13 +18801,14 @@ SQLITE_PRIVATE void sqlite3OpenTable(Parse*, int iCur, int iDb, Table*, int); SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse*,SrcList*,Expr*,ExprList*,Expr*,char*); #endif SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*, ExprList*, Expr*); -SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*,Expr*,int,ExprList*,Expr*); +SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*,Expr*,int,ExprList*,Expr*, + Upsert*); SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*,SrcList*,Expr*,ExprList*,ExprList*,u16,int); SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo*); SQLITE_PRIVATE LogEst sqlite3WhereOutputRowCount(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsDistinct(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo*); -SQLITE_PRIVATE int sqlite3WhereOrderedInnerLoop(WhereInfo*); +SQLITE_PRIVATE int sqlite3WhereOrderByLimitOptLabel(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsSorted(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereContinueLabel(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereBreakLabel(WhereInfo*); @@ -17665,15 +18818,8 @@ SQLITE_PRIVATE int sqlite3WhereOkOnePass(WhereInfo*, int*); #define ONEPASS_MULTI 2 /* ONEPASS is valid for multiple rows */ SQLITE_PRIVATE void sqlite3ExprCodeLoadIndexColumn(Parse*, Index*, int, int, int); SQLITE_PRIVATE int sqlite3ExprCodeGetColumn(Parse*, Table*, int, int, int, u8); -SQLITE_PRIVATE void sqlite3ExprCodeGetColumnToReg(Parse*, Table*, int, int, int); SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable(Vdbe*, Table*, int, int, int); SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse*, int, int, int); -SQLITE_PRIVATE void sqlite3ExprCacheStore(Parse*, int, int, int); -SQLITE_PRIVATE void sqlite3ExprCachePush(Parse*); -SQLITE_PRIVATE void sqlite3ExprCachePop(Parse*); -SQLITE_PRIVATE void sqlite3ExprCacheRemove(Parse*, int, int); -SQLITE_PRIVATE void sqlite3ExprCacheClear(Parse*); -SQLITE_PRIVATE void sqlite3ExprCacheAffinityChange(Parse*, int, int); SQLITE_PRIVATE void sqlite3ExprCode(Parse*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse*, Expr*, int); @@ -17704,6 +18850,7 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse*,Expr*, Expr*, int); +SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr*,int); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); @@ -17721,6 +18868,8 @@ SQLITE_PRIVATE void sqlite3EndTransaction(Parse*,int); SQLITE_PRIVATE void sqlite3Savepoint(Parse*, int, Token*); SQLITE_PRIVATE void sqlite3CloseSavepoints(sqlite3 *); SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3*); +SQLITE_PRIVATE int sqlite3ExprIdToTrueFalse(Expr*); +SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*, u8); @@ -17733,13 +18882,17 @@ 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); SQLITE_PRIVATE int sqlite3GenerateIndexKey(Parse*, Index*, int, int, int, int*,Index*,int); SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse*,int); +SQLITE_PRIVATE int sqlite3ExprReferencesUpdatedColumn(Expr*,int*,int); SQLITE_PRIVATE void sqlite3GenerateConstraintChecks(Parse*,Table*,int*,int,int,int,int, - u8,u8,int,int*,int*); + u8,u8,int,int*,int*,Upsert*); #ifdef SQLITE_ENABLE_NULL_TRIM SQLITE_PRIVATE void sqlite3SetMakeRecordP5(Vdbe*,Table*); #else @@ -17758,10 +18911,8 @@ 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); -#if SELECTTRACE_ENABLED -SQLITE_PRIVATE void sqlite3SelectSetName(Select*,const char*); -#else -# define sqlite3SelectSetName(A,B) +#ifdef SQLITE_ENABLE_NORMALIZE +SQLITE_PRIVATE FuncDef *sqlite3FunctionSearchN(int,const char*,int); #endif SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs(FuncDef*,int); SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,u8,u8); @@ -17791,11 +18942,12 @@ SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect(Parse *, Trigger *, Table *, i SQLITE_PRIVATE void sqlite3DeleteTriggerStep(sqlite3*, TriggerStep*); SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3*,Select*, const char*,const char*); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep(sqlite3*,Token*, IdList*, - Select*,u8,const char*,const char*); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8, +SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep(Parse*,Token*, IdList*, + Select*,u8,Upsert*, const char*,const char*); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*, +SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(Parse*,Token*,ExprList*, Expr*, u8, + const char*,const char*); +SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(Parse*,Token*, Expr*, const char*,const char*); SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3*, Trigger*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*); @@ -17903,9 +19055,14 @@ SQLITE_PRIVATE int sqlite3TwoPartName(Parse *, Token *, Token *, Token **); SQLITE_PRIVATE const char *sqlite3ErrName(int); #endif +#ifdef SQLITE_ENABLE_DESERIALIZE +SQLITE_PRIVATE int sqlite3MemdbInit(void); +#endif + SQLITE_PRIVATE const char *sqlite3ErrStr(int); SQLITE_PRIVATE int sqlite3ReadSchema(Parse *pParse); SQLITE_PRIVATE CollSeq *sqlite3FindCollSeq(sqlite3*,u8 enc, const char*,int); +SQLITE_PRIVATE int sqlite3IsBinary(const CollSeq*); SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char*zName); SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr); SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, Expr *pExpr); @@ -17914,6 +19071,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr*, const Toke SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse*,Expr*,const char*); SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr*); SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *, CollSeq *); +SQLITE_PRIVATE int sqlite3WritableSchema(sqlite3*); SQLITE_PRIVATE int sqlite3CheckObjectName(Parse *, const char *); SQLITE_PRIVATE void sqlite3VdbeSetChanges(sqlite3 *, int); SQLITE_PRIVATE int sqlite3AddInt64(i64*,i64); @@ -17951,13 +19109,20 @@ SQLITE_PRIVATE FuncDefHash sqlite3BuiltinFunctions; SQLITE_PRIVATE int sqlite3PendingByte; #endif #endif +#ifdef VDBE_PROFILE +SQLITE_PRIVATE sqlite3_uint64 sqlite3NProfileCnt; +#endif SQLITE_PRIVATE void sqlite3RootPageMoved(sqlite3*, int, int, int); SQLITE_PRIVATE void sqlite3Reindex(Parse*, Token*, Token*); 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*); +SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3*, int); SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr *, int, int); SQLITE_PRIVATE void sqlite3SelectPrep(Parse*, Select*, NameContext*); SQLITE_PRIVATE void sqlite3SelectWrongNumTermsError(Parse *pParse, Select *p); @@ -17970,10 +19135,14 @@ SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy(Parse*, Select*, ExprList*, const SQLITE_PRIVATE void sqlite3ColumnDefault(Vdbe *, Table *, int, int); SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *, Token *); SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *, SrcList *); +SQLITE_PRIVATE void *sqlite3RenameTokenMap(Parse*, void*, Token*); +SQLITE_PRIVATE void sqlite3RenameTokenRemap(Parse*, void *pTo, void *pFrom); +SQLITE_PRIVATE void sqlite3RenameExprUnmap(Parse*, Expr*); +SQLITE_PRIVATE void sqlite3RenameExprlistUnmap(Parse*, ExprList*); SQLITE_PRIVATE CollSeq *sqlite3GetCollSeq(Parse*, u8, CollSeq *, const char*); -SQLITE_PRIVATE char sqlite3AffinityType(const char*, u8*); +SQLITE_PRIVATE char sqlite3AffinityType(const char*, Column*); SQLITE_PRIVATE void sqlite3Analyze(Parse*, Token*, Token*); -SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler*); +SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler*, sqlite3_file*); SQLITE_PRIVATE int sqlite3FindDb(sqlite3*, Token*); SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *, const char *); SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3*,int iDB); @@ -17988,25 +19157,27 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3*,int,int); SQLITE_PRIVATE void sqlite3KeyInfoUnref(KeyInfo*); SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoRef(KeyInfo*); SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse*, Index*); +SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoFromExprList(Parse*, ExprList*, int, int); + #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3KeyInfoIsWriteable(KeyInfo*); #endif SQLITE_PRIVATE int sqlite3CreateFunc(sqlite3 *, const char *, int, int, void *, void (*)(sqlite3_context*,int,sqlite3_value **), - void (*)(sqlite3_context*,int,sqlite3_value **), void (*)(sqlite3_context*), + void (*)(sqlite3_context*,int,sqlite3_value **), + void (*)(sqlite3_context*), + void (*)(sqlite3_context*), + void (*)(sqlite3_context*,int,sqlite3_value **), FuncDestructor *pDestructor ); +SQLITE_PRIVATE void sqlite3NoopDestructor(void*); SQLITE_PRIVATE void sqlite3OomFault(sqlite3*); SQLITE_PRIVATE void sqlite3OomClear(sqlite3*); SQLITE_PRIVATE int sqlite3ApiExit(sqlite3 *db, int); SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *); SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum*, sqlite3*, char*, int, int); -SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum*,const char*,int); -SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum*,const char*); -SQLITE_PRIVATE void sqlite3AppendChar(StrAccum*,int,char); SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum*); -SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum*); SQLITE_PRIVATE void sqlite3SelectDestInit(SelectDest*,int,int); SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int); @@ -18033,10 +19204,11 @@ SQLITE_PRIVATE char sqlite3IndexColumnAffinity(sqlite3*, Index*, int); ** The interface to the LEMON-generated parser */ #ifndef SQLITE_AMALGAMATION -SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(u64)); +SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(u64), Parse*); SQLITE_PRIVATE void sqlite3ParserFree(void*, void(*)(void*)); #endif -SQLITE_PRIVATE void sqlite3Parser(void*, int, Token, Parse*); +SQLITE_PRIVATE void sqlite3Parser(void*, int, Token); +SQLITE_PRIVATE int sqlite3ParserFallback(int); #ifdef YYTRACKMAXSTACKDEPTH SQLITE_PRIVATE int sqlite3ParserStackPeak(void*); #endif @@ -18102,11 +19274,13 @@ SQLITE_PRIVATE int sqlite3VtabCallConnect(Parse*, Table*); SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3*, int, const char *); SQLITE_PRIVATE int sqlite3VtabBegin(sqlite3 *, VTable *); SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*); -SQLITE_PRIVATE void sqlite3InvalidFunction(sqlite3_context*,int,sqlite3_value**); SQLITE_PRIVATE sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context*); 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); +#endif SQLITE_PRIVATE int sqlite3Reprepare(Vdbe*); SQLITE_PRIVATE void sqlite3ExprListCheckLength(Parse*, ExprList*, const char*); SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *); @@ -18124,6 +19298,18 @@ SQLITE_PRIVATE void sqlite3WithPush(Parse*, With*, u8); #define sqlite3WithPush(x,y,z) #define sqlite3WithDelete(x,y) #endif +#ifndef SQLITE_OMIT_UPSERT +SQLITE_PRIVATE Upsert *sqlite3UpsertNew(sqlite3*,ExprList*,Expr*,ExprList*,Expr*); +SQLITE_PRIVATE void sqlite3UpsertDelete(sqlite3*,Upsert*); +SQLITE_PRIVATE Upsert *sqlite3UpsertDup(sqlite3*,Upsert*); +SQLITE_PRIVATE int sqlite3UpsertAnalyzeTarget(Parse*,SrcList*,Upsert*); +SQLITE_PRIVATE void sqlite3UpsertDoUpdate(Parse*,Upsert*,Table*,Index*,int); +#else +#define sqlite3UpsertNew(v,w,x,y,z) ((Upsert*)0) +#define sqlite3UpsertDelete(x,y) +#define sqlite3UpsertDup(x,y) ((Upsert*)0) +#endif + /* Declarations for functions in fkey.c. All of these are replaced by ** no-op macros if OMIT_FOREIGN_KEY is defined. In this case no foreign @@ -18556,7 +19742,9 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { 0, /* xTestCallback */ #endif 0, /* bLocaltimeFault */ - 0x7ffffffe /* iOnceResetThreshold */ + 0, /* bInternalFunctions */ + 0x7ffffffe, /* iOnceResetThreshold */ + SQLITE_DEFAULT_SORTERREF_SIZE /* szSorterRef */ }; /* @@ -18574,6 +19762,13 @@ SQLITE_PRIVATE const Token sqlite3IntTokens[] = { { "1", 1 } }; +#ifdef VDBE_PROFILE +/* +** The following performance counter can be used in place of +** sqlite3Hwtime() for profiling. This is a no-op on standard builds. +*/ +SQLITE_PRIVATE sqlite3_uint64 sqlite3NProfileCnt = 0; +#endif /* ** The value of the "pending" byte must be 0x40000000 (1 byte past the @@ -18718,6 +19913,7 @@ struct VdbeCursor { Bool isEphemeral:1; /* True for an ephemeral table */ Bool useRandomRowid:1; /* Generate new record numbers semi-randomly */ Bool isOrdered:1; /* True if the table is not BTREE_UNORDERED */ + Bool seekHit:1; /* See the OP_SeekHit and OP_IfNoHope opcodes */ Btree *pBtx; /* Separate file holding temporary table */ i64 seqCount; /* Sequence counter */ int *aAltMap; /* Mapping from table to index column numbers */ @@ -18801,6 +19997,9 @@ struct VdbeFrame { void *token; /* Copy of SubProgram.token */ i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */ AuxData *pAuxData; /* Linked list of auxdata allocations */ +#if SQLITE_DEBUG + u32 iFrameMagic; /* magic number for sanity checking */ +#endif int nCursor; /* Number of entries in apCsr */ int pc; /* Program Counter in parent (calling) frame */ int nOp; /* Size of aOp array */ @@ -18811,6 +20010,13 @@ struct VdbeFrame { int nDbChange; /* Value of db->nChange */ }; +/* Magic number for sanity checking on VdbeFrame objects */ +#define SQLITE_FRAME_MAGIC 0x879fb71e + +/* +** Return a pointer to the array of registers allocated for use +** by a VdbeFrame. +*/ #define VdbeFrameMem(p) ((Mem *)&((u8 *)p)[ROUND8(sizeof(VdbeFrame))]) /* @@ -18825,8 +20031,6 @@ struct sqlite3_value { int nZero; /* Extra zero bytes when MEM_Zero and MEM_Blob set */ const char *zPType; /* Pointer type when MEM_Term|MEM_Subtype|MEM_Null */ FuncDef *pDef; /* Used only when flags==MEM_Agg */ - RowSet *pRowSet; /* Used only when flags==MEM_RowSet */ - VdbeFrame *pFrame; /* Used when flags==MEM_Frame */ } u; u16 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ u8 enc; /* SQLITE_UTF8, SQLITE_UTF16BE, SQLITE_UTF16LE */ @@ -18841,7 +20045,7 @@ struct sqlite3_value { void (*xDel)(void*);/* Destructor for Mem.z - only valid if MEM_Dyn */ #ifdef SQLITE_DEBUG Mem *pScopyFrom; /* This Mem is a shallow copy of pScopyFrom */ - void *pFiller; /* So that sizeof(Mem) is a multiple of 8 */ + u16 mScopyFlags; /* flags value immediately after the shallow copy */ #endif }; @@ -18857,8 +20061,6 @@ struct sqlite3_value { ** If the MEM_Null flag is set, then the value is an SQL NULL value. ** For a pointer type created using sqlite3_bind_pointer() or ** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set. -** If both MEM_Null and MEM_Zero are set, that means that the value is -** an unchanging column value from VColumn. ** ** If the MEM_Str flag is set then Mem.z points at a string representation. ** Usually this is encoded in the same unicode encoding as the main @@ -18872,8 +20074,8 @@ struct sqlite3_value { #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 */ -#define MEM_RowSet 0x0020 /* Value is a RowSet object */ -#define MEM_Frame 0x0040 /* Value is a VdbeFrame object */ +/* Available 0x0020 */ +/* Available 0x0040 */ #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 */ @@ -18900,7 +20102,7 @@ struct sqlite3_value { ** that needs to be deallocated to avoid a leak. */ #define VdbeMemDynamic(X) \ - (((X)->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame))!=0) + (((X)->flags&(MEM_Agg|MEM_Dyn))!=0) /* ** Clear any existing type flags from a Mem and replace them with f @@ -18952,7 +20154,6 @@ struct sqlite3_context { int iOp; /* Instruction number of OP_Function */ int isError; /* Error code returned by the function. */ u8 skipFlag; /* Skip accumulator loading if true */ - u8 fErrorOrAux; /* isError!=0 or pVdbe->pAuxData modified */ u8 argc; /* Number of arguments */ sqlite3_value *argv[1]; /* Argument set */ }; @@ -19015,14 +20216,15 @@ struct Vdbe { 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 */ #endif u16 nResColumn; /* Number of columns in one row of the result set */ u8 errorAction; /* Recovery action to do in case of an error */ u8 minWriteFileFormat; /* Minimum file format for writable database files */ u8 prepFlags; /* SQLITE_PREPARE_* flags */ - bft expired:1; /* True if the VM needs to be recompiled */ - bft doingRerun:1; /* True if rerunning after an auto-reprepare */ + bft expired:2; /* 1: recompile VM immediately 2: when convenient */ bft explain:2; /* True if EXPLAIN present on SQL command */ + bft doingRerun:1; /* True if rerunning after an auto-reprepare */ bft changeCntOn:1; /* True to update the change-counter */ bft runOnlyOnce:1; /* Automatically expire on reset */ bft usesStmtJournal:1; /* True if uses a statement journal */ @@ -19032,6 +20234,9 @@ struct Vdbe { yDbMask lockMask; /* Subset of btreeMask that requires a lock */ u32 aCounter[7]; /* Counters used by sqlite3_stmt_status() */ char *zSql; /* Text of the SQL statement that generated this */ +#ifdef SQLITE_ENABLE_NORMALIZE + char *zNormSql; /* Normalization of the associated SQL statement */ +#endif void *pFree; /* Free this when deleting the vdbe */ VdbeFrame *pFrame; /* Parent frame */ VdbeFrame *pDelFrame; /* List of frame objects to free on VM reset */ @@ -19083,9 +20288,6 @@ SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *, VdbeCursor*); void sqliteVdbePopStack(Vdbe*,int); SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor**, int*); SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor*); -#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) -SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); -#endif SQLITE_PRIVATE u32 sqlite3VdbeSerialTypeLen(u32); SQLITE_PRIVATE u8 sqlite3VdbeOneByteSerialTypeLen(u8); SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int, u32*); @@ -19097,7 +20299,9 @@ int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(sqlite3*,VdbeCursor*,UnpackedRecord*,int*); SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3*, BtCursor*, i64*); SQLITE_PRIVATE int sqlite3VdbeExec(Vdbe*); +#ifndef SQLITE_OMIT_EXPLAIN SQLITE_PRIVATE int sqlite3VdbeList(Vdbe*); +#endif SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe*); SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *, int); SQLITE_PRIVATE int sqlite3VdbeMemTooBig(Mem*); @@ -19116,12 +20320,16 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetPointer(Mem*, void*, const char*, void(*)(v SQLITE_PRIVATE void sqlite3VdbeMemInit(Mem*,sqlite3*,u16); SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem*); SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem*,int); -SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem*); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3VdbeMemIsRowSet(const Mem*); +#endif +SQLITE_PRIVATE int sqlite3VdbeMemSetRowSet(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem*, u8, u8); SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem*); SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem*); +SQLITE_PRIVATE int sqlite3VdbeBooleanValue(Mem*, int ifNull); SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); @@ -19129,11 +20337,20 @@ SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem*,u8,u8); SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,u32,u32,Mem*); SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); +#ifndef SQLITE_OMIT_WINDOWFUNC +SQLITE_PRIVATE int sqlite3VdbeMemAggValue(Mem*, Mem*, FuncDef*); +#endif +#ifndef SQLITE_OMIT_EXPLAIN SQLITE_PRIVATE const char *sqlite3OpcodeName(int); +#endif SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int n); SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *, int); -SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame*); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3VdbeFrameIsValid(VdbeFrame*); +#endif +SQLITE_PRIVATE void sqlite3VdbeFrameMemDel(void*); /* Destructor on Mem */ +SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame*); /* Actually deletes the Frame */ SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *); #ifdef SQLITE_ENABLE_PREUPDATE_HOOK SQLITE_PRIVATE void sqlite3VdbePreUpdateHook(Vdbe*,VdbeCursor*,int,const char*,Table*,i64,int); @@ -19149,6 +20366,14 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *, int *); SQLITE_PRIVATE int sqlite3VdbeSorterWrite(const VdbeCursor *, Mem *); SQLITE_PRIVATE int sqlite3VdbeSorterCompare(const VdbeCursor *, Mem *, int, int *); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE void sqlite3VdbeIncrWriteCounter(Vdbe*, VdbeCursor*); +SQLITE_PRIVATE void sqlite3VdbeAssertAbortable(Vdbe*); +#else +# define sqlite3VdbeIncrWriteCounter(V,C) +# define sqlite3VdbeAssertAbortable(V) +#endif + #if !defined(SQLITE_OMIT_SHARED_CACHE) SQLITE_PRIVATE void sqlite3VdbeEnter(Vdbe*); #else @@ -19515,6 +20740,9 @@ SQLITE_API int sqlite3_db_status( ** pagers the database handle is connected to. *pHighwater is always set ** to zero. */ + case SQLITE_DBSTATUS_CACHE_SPILL: + op = SQLITE_DBSTATUS_CACHE_WRITE+1; + /* Fall through into the next case */ case SQLITE_DBSTATUS_CACHE_HIT: case SQLITE_DBSTATUS_CACHE_MISS: case SQLITE_DBSTATUS_CACHE_WRITE:{ @@ -20935,8 +22163,11 @@ SQLITE_PRIVATE int sqlite3OsCheckReservedLock(sqlite3_file *id, int *pResOut){ ** routine has no return value since the return value would be meaningless. */ SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file *id, int op, void *pArg){ + if( id->pMethods==0 ) return SQLITE_NOTFOUND; #ifdef SQLITE_TEST - if( op!=SQLITE_FCNTL_COMMIT_PHASETWO ){ + if( op!=SQLITE_FCNTL_COMMIT_PHASETWO + && op!=SQLITE_FCNTL_LOCK_TIMEOUT + ){ /* Faults are not injected into COMMIT_PHASETWO because, assuming SQLite ** is using a regular VFS, it is called after the corresponding ** transaction has been committed. Injecting a fault at this point @@ -20953,7 +22184,7 @@ SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file *id, int op, void *pArg){ return id->pMethods->xFileControl(id, op, pArg); } SQLITE_PRIVATE void sqlite3OsFileControlHint(sqlite3_file *id, int op, void *pArg){ - (void)id->pMethods->xFileControl(id, op, pArg); + if( id->pMethods ) (void)id->pMethods->xFileControl(id, op, pArg); } SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id){ @@ -21217,9 +22448,12 @@ SQLITE_API int sqlite3_vfs_register(sqlite3_vfs *pVfs, int makeDflt){ ** Unregister a VFS so that it is no longer accessible. */ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs *pVfs){ -#if SQLITE_THREADSAFE - sqlite3_mutex *mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); + MUTEX_LOGIC(sqlite3_mutex *mutex;) +#ifndef SQLITE_OMIT_AUTOINIT + int rc = sqlite3_initialize(); + if( rc ) return rc; #endif + MUTEX_LOGIC( mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); ) sqlite3_mutex_enter(mutex); vfsUnlink(pVfs); sqlite3_mutex_leave(mutex); @@ -23835,7 +25069,6 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){ #endif /* !defined(SQLITE_MUTEX_OMIT) */ - /************** End of mutex.c ***********************************************/ /************** Begin file mutex_noop.c **************************************/ /* @@ -24108,11 +25341,12 @@ struct sqlite3_mutex { #endif }; #if SQLITE_MUTEX_NREF -#define SQLITE3_MUTEX_INITIALIZER {PTHREAD_MUTEX_INITIALIZER,0,0,(pthread_t)0,0} +# define SQLITE3_MUTEX_INITIALIZER(id) \ + {PTHREAD_MUTEX_INITIALIZER,id,0,(pthread_t)0,0} #elif defined(SQLITE_ENABLE_API_ARMOR) -#define SQLITE3_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0 } +# define SQLITE3_MUTEX_INITIALIZER(id) { PTHREAD_MUTEX_INITIALIZER, id } #else -#define SQLITE3_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } +#define SQLITE3_MUTEX_INITIALIZER(id) { PTHREAD_MUTEX_INITIALIZER } #endif /* @@ -24209,18 +25443,18 @@ static int pthreadMutexEnd(void){ return SQLITE_OK; } */ static sqlite3_mutex *pthreadMutexAlloc(int iType){ static sqlite3_mutex staticMutexes[] = { - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER + SQLITE3_MUTEX_INITIALIZER(2), + SQLITE3_MUTEX_INITIALIZER(3), + SQLITE3_MUTEX_INITIALIZER(4), + SQLITE3_MUTEX_INITIALIZER(5), + SQLITE3_MUTEX_INITIALIZER(6), + SQLITE3_MUTEX_INITIALIZER(7), + SQLITE3_MUTEX_INITIALIZER(8), + SQLITE3_MUTEX_INITIALIZER(9), + SQLITE3_MUTEX_INITIALIZER(10), + SQLITE3_MUTEX_INITIALIZER(11), + SQLITE3_MUTEX_INITIALIZER(12), + SQLITE3_MUTEX_INITIALIZER(13) }; sqlite3_mutex *p; switch( iType ){ @@ -24238,6 +25472,9 @@ static sqlite3_mutex *pthreadMutexAlloc(int iType){ pthread_mutexattr_settype(&recursiveAttr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&p->mutex, &recursiveAttr); pthread_mutexattr_destroy(&recursiveAttr); +#endif +#if SQLITE_MUTEX_NREF || defined(SQLITE_ENABLE_API_ARMOR) + p->id = SQLITE_MUTEX_RECURSIVE; #endif } break; @@ -24246,6 +25483,9 @@ static sqlite3_mutex *pthreadMutexAlloc(int iType){ p = sqlite3MallocZero( sizeof(*p) ); if( p ){ pthread_mutex_init(&p->mutex, 0); +#if SQLITE_MUTEX_NREF || defined(SQLITE_ENABLE_API_ARMOR) + p->id = SQLITE_MUTEX_FAST; +#endif } break; } @@ -24261,7 +25501,7 @@ static sqlite3_mutex *pthreadMutexAlloc(int iType){ } } #if SQLITE_MUTEX_NREF || defined(SQLITE_ENABLE_API_ARMOR) - if( p ) p->id = iType; + assert( p==0 || p->id==iType ); #endif return p; } @@ -24778,7 +26018,7 @@ struct sqlite3_mutex { #ifdef SQLITE_DEBUG volatile int nRef; /* Number of enterances */ volatile DWORD owner; /* Thread holding this mutex */ - volatile int trace; /* True to trace changes */ + volatile LONG trace; /* True to trace changes */ #endif }; @@ -24790,10 +26030,10 @@ struct sqlite3_mutex { #define SQLITE_W32_MUTEX_INITIALIZER { 0 } #ifdef SQLITE_DEBUG -#define SQLITE3_MUTEX_INITIALIZER { SQLITE_W32_MUTEX_INITIALIZER, 0, \ +#define SQLITE3_MUTEX_INITIALIZER(id) { SQLITE_W32_MUTEX_INITIALIZER, id, \ 0L, (DWORD)0, 0 } #else -#define SQLITE3_MUTEX_INITIALIZER { SQLITE_W32_MUTEX_INITIALIZER, 0 } +#define SQLITE3_MUTEX_INITIALIZER(id) { SQLITE_W32_MUTEX_INITIALIZER, id } #endif #ifdef SQLITE_DEBUG @@ -24836,18 +26076,18 @@ SQLITE_PRIVATE void sqlite3MemoryBarrier(void){ ** Initialize and deinitialize the mutex subsystem. */ static sqlite3_mutex winMutex_staticMutexes[] = { - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER, - SQLITE3_MUTEX_INITIALIZER + SQLITE3_MUTEX_INITIALIZER(2), + SQLITE3_MUTEX_INITIALIZER(3), + SQLITE3_MUTEX_INITIALIZER(4), + SQLITE3_MUTEX_INITIALIZER(5), + SQLITE3_MUTEX_INITIALIZER(6), + SQLITE3_MUTEX_INITIALIZER(7), + SQLITE3_MUTEX_INITIALIZER(8), + SQLITE3_MUTEX_INITIALIZER(9), + SQLITE3_MUTEX_INITIALIZER(10), + SQLITE3_MUTEX_INITIALIZER(11), + SQLITE3_MUTEX_INITIALIZER(12), + SQLITE3_MUTEX_INITIALIZER(13) }; static int winMutex_isInit = 0; @@ -24977,15 +26217,15 @@ static sqlite3_mutex *winMutexAlloc(int iType){ } #endif p = &winMutex_staticMutexes[iType-2]; - p->id = iType; #ifdef SQLITE_DEBUG #ifdef SQLITE_WIN32_MUTEX_TRACE_STATIC - p->trace = 1; + InterlockedCompareExchange(&p->trace, 1, 0); #endif #endif break; } } + assert( p==0 || p->id==iType ); return p; } @@ -25992,7 +27232,7 @@ static char et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){ ** Set the StrAccum object to an error mode. */ static void setStrAccumError(StrAccum *p, u8 eError){ - assert( eError==STRACCUM_NOMEM || eError==STRACCUM_TOOBIG ); + assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG ); p->accError = eError; p->nAlloc = 0; } @@ -26026,8 +27266,8 @@ static char *getTextArg(PrintfArguments *p){ /* ** Render a string given by "fmt" into the StrAccum object. */ -SQLITE_PRIVATE void sqlite3VXPrintf( - StrAccum *pAccum, /* Accumulate results here */ +SQLITE_API void sqlite3_str_vappendf( + sqlite3_str *pAccum, /* Accumulate results here */ const char *fmt, /* Format string */ va_list ap /* arguments */ ){ @@ -26064,6 +27304,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( PrintfArguments *pArgList = 0; /* Arguments for SQLITE_PRINTF_SQLFUNC */ char buf[etBUFSIZE]; /* Conversion buffer */ + /* pAccum never starts out with an empty buffer that was obtained from + ** malloc(). This precondition is required by the mprintf("%z...") + ** optimization. */ + assert( pAccum->nChar>0 || (pAccum->printfFlags&SQLITE_PRINTF_MALLOCED)==0 ); + bufpt = 0; if( (pAccum->printfFlags & SQLITE_PRINTF_SQLFUNC)!=0 ){ pArgList = va_arg(ap, PrintfArguments*); @@ -26079,11 +27324,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( #else do{ fmt++; }while( *fmt && *fmt != '%' ); #endif - sqlite3StrAccumAppend(pAccum, bufpt, (int)(fmt - bufpt)); + sqlite3_str_append(pAccum, bufpt, (int)(fmt - bufpt)); if( *fmt==0 ) break; } if( (c=(*++fmt))==0 ){ - sqlite3StrAccumAppend(pAccum, "%", 1); + sqlite3_str_append(pAccum, "%", 1); break; } /* Find out what flags are present */ @@ -26261,7 +27506,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( u64 n = (u64)precision + 10 + precision/3; zOut = zExtra = sqlite3Malloc( n ); if( zOut==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + setStrAccumError(pAccum, SQLITE_NOMEM); return; } nOut = (int)n; @@ -26386,7 +27631,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( bufpt = zExtra = sqlite3Malloc( MAX(e2,0)+(i64)precision+(i64)width+15 ); if( bufpt==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + setStrAccumError(pAccum, SQLITE_NOMEM); return; } } @@ -26482,22 +27727,52 @@ SQLITE_PRIVATE void sqlite3VXPrintf( case etCHARX: if( bArgList ){ bufpt = getTextArg(pArgList); - c = bufpt ? bufpt[0] : 0; + length = 1; + if( bufpt ){ + buf[0] = c = *(bufpt++); + if( (c&0xc0)==0xc0 ){ + while( length<4 && (bufpt[0]&0xc0)==0x80 ){ + buf[length++] = *(bufpt++); + } + } + }else{ + buf[0] = 0; + } }else{ - c = va_arg(ap,int); + unsigned int ch = va_arg(ap,unsigned int); + if( ch<0x00080 ){ + buf[0] = ch & 0xff; + length = 1; + }else if( ch<0x00800 ){ + buf[0] = 0xc0 + (u8)((ch>>6)&0x1f); + buf[1] = 0x80 + (u8)(ch & 0x3f); + length = 2; + }else if( ch<0x10000 ){ + buf[0] = 0xe0 + (u8)((ch>>12)&0x0f); + buf[1] = 0x80 + (u8)((ch>>6) & 0x3f); + buf[2] = 0x80 + (u8)(ch & 0x3f); + length = 3; + }else{ + buf[0] = 0xf0 + (u8)((ch>>18) & 0x07); + buf[1] = 0x80 + (u8)((ch>>12) & 0x3f); + buf[2] = 0x80 + (u8)((ch>>6) & 0x3f); + buf[3] = 0x80 + (u8)(ch & 0x3f); + length = 4; + } } if( precision>1 ){ width -= precision-1; if( width>1 && !flag_leftjustify ){ - sqlite3AppendChar(pAccum, width-1, ' '); + sqlite3_str_appendchar(pAccum, width-1, ' '); width = 0; } - sqlite3AppendChar(pAccum, precision-1, c); + while( precision-- > 1 ){ + sqlite3_str_append(pAccum, buf, length); + } } - length = 1; - buf[0] = c; bufpt = buf; - break; + flag_altform2 = 1; + goto adjust_width_for_utf8; case etSTRING: case etDYNSTRING: if( bArgList ){ @@ -26509,17 +27784,50 @@ SQLITE_PRIVATE void sqlite3VXPrintf( if( bufpt==0 ){ bufpt = ""; }else if( xtype==etDYNSTRING ){ + if( pAccum->nChar==0 + && pAccum->mxAlloc + && width==0 + && precision<0 + && pAccum->accError==0 + ){ + /* Special optimization for sqlite3_mprintf("%z..."): + ** Extend an existing memory allocation rather than creating + ** a new one. */ + assert( (pAccum->printfFlags&SQLITE_PRINTF_MALLOCED)==0 ); + pAccum->zText = bufpt; + pAccum->nAlloc = sqlite3DbMallocSize(pAccum->db, bufpt); + pAccum->nChar = 0x7fffffff & (int)strlen(bufpt); + pAccum->printfFlags |= SQLITE_PRINTF_MALLOCED; + length = 0; + break; + } zExtra = bufpt; } if( precision>=0 ){ - for(length=0; length 0 && z[0] ){ + SQLITE_SKIP_UTF8(z); + } + length = (int)(z - (unsigned char*)bufpt); + }else{ + for(length=0; length0 ){ + /* Adjust width to account for extra bytes in UTF-8 characters */ + int ii = length - 1; + while( ii>=0 ) if( (bufpt[ii--] & 0xc0)==0x80 ) width++; + } break; - case etSQLESCAPE: /* Escape ' characters */ - case etSQLESCAPE2: /* Escape ' and enclose in '...' */ - case etSQLESCAPE3: { /* Escape " characters */ + case etSQLESCAPE: /* %q: Escape ' characters */ + case etSQLESCAPE2: /* %Q: Escape ' and enclose in '...' */ + case etSQLESCAPE3: { /* %w: Escape " characters */ int i, j, k, n, isnull; int needQuote; char ch; @@ -26533,16 +27841,24 @@ SQLITE_PRIVATE void sqlite3VXPrintf( } isnull = escarg==0; if( isnull ) escarg = (xtype==etSQLESCAPE2 ? "NULL" : "(NULL)"); + /* For %q, %Q, and %w, the precision is the number of byte (or + ** characters if the ! flags is present) to use from the input. + ** Because of the extra quoting characters inserted, the number + ** of output characters may be larger than the precision. + */ k = precision; for(i=n=0; k!=0 && (ch=escarg[i])!=0; i++, k--){ if( ch==q ) n++; + if( flag_altform2 && (ch&0xc0)==0xc0 ){ + while( (escarg[i+1]&0xc0)==0x80 ){ i++; } + } } needQuote = !isnull && xtype==etSQLESCAPE2; n += i + 3; if( n>etBUFSIZE ){ bufpt = zExtra = sqlite3Malloc( n ); if( bufpt==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + setStrAccumError(pAccum, SQLITE_NOMEM); return; } }else{ @@ -26558,10 +27874,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( if( needQuote ) bufpt[j++] = q; bufpt[j] = 0; length = j; - /* The precision in %q and %Q means how many input characters to - ** consume, not the length of the output... - ** if( precision>=0 && precisionn ){ - sqlite3StrAccumAppend(pAccum, (const char*)pToken->z, pToken->n); + sqlite3_str_append(pAccum, (const char*)pToken->z, pToken->n); } length = width = 0; break; @@ -26585,10 +27898,10 @@ SQLITE_PRIVATE void sqlite3VXPrintf( assert( bArgList==0 ); assert( k>=0 && knSrc ); if( pItem->zDatabase ){ - sqlite3StrAccumAppendAll(pAccum, pItem->zDatabase); - sqlite3StrAccumAppend(pAccum, ".", 1); + sqlite3_str_appendall(pAccum, pItem->zDatabase); + sqlite3_str_append(pAccum, ".", 1); } - sqlite3StrAccumAppendAll(pAccum, pItem->zName); + sqlite3_str_appendall(pAccum, pItem->zName); length = width = 0; break; } @@ -26600,15 +27913,18 @@ SQLITE_PRIVATE void sqlite3VXPrintf( /* ** The text of the conversion is pointed to by "bufpt" and is ** "length" characters long. The field width is "width". Do - ** the output. + ** the output. Both length and width are in bytes, not characters, + ** at this point. If the "!" flag was present on string conversions + ** indicating that width and precision should be expressed in characters, + ** then the values have been translated prior to reaching this point. */ width -= length; if( width>0 ){ - if( !flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); - sqlite3StrAccumAppend(pAccum, bufpt, length); - if( flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); + if( !flag_leftjustify ) sqlite3_str_appendchar(pAccum, width, ' '); + sqlite3_str_append(pAccum, bufpt, length); + if( flag_leftjustify ) sqlite3_str_appendchar(pAccum, width, ' '); }else{ - sqlite3StrAccumAppend(pAccum, bufpt, length); + sqlite3_str_append(pAccum, bufpt, length); } if( zExtra ){ @@ -26629,13 +27945,13 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ char *zNew; assert( p->nChar+(i64)N >= p->nAlloc ); /* Only called if really needed */ if( p->accError ){ - testcase(p->accError==STRACCUM_TOOBIG); - testcase(p->accError==STRACCUM_NOMEM); + testcase(p->accError==SQLITE_TOOBIG); + testcase(p->accError==SQLITE_NOMEM); return 0; } if( p->mxAlloc==0 ){ N = p->nAlloc - p->nChar - 1; - setStrAccumError(p, STRACCUM_TOOBIG); + setStrAccumError(p, SQLITE_TOOBIG); return N; }else{ char *zOld = isMalloced(p) ? p->zText : 0; @@ -26647,8 +27963,8 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ szNew += p->nChar; } if( szNew > p->mxAlloc ){ - sqlite3StrAccumReset(p); - setStrAccumError(p, STRACCUM_TOOBIG); + sqlite3_str_reset(p); + setStrAccumError(p, SQLITE_TOOBIG); return 0; }else{ p->nAlloc = (int)szNew; @@ -26665,8 +27981,8 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ p->nAlloc = sqlite3DbMallocSize(p->db, zNew); p->printfFlags |= SQLITE_PRINTF_MALLOCED; }else{ - sqlite3StrAccumReset(p); - setStrAccumError(p, STRACCUM_NOMEM); + sqlite3_str_reset(p); + setStrAccumError(p, SQLITE_NOMEM); return 0; } } @@ -26676,7 +27992,7 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ /* ** Append N copies of character c to the given string buffer. */ -SQLITE_PRIVATE void sqlite3AppendChar(StrAccum *p, int N, char c){ +SQLITE_API void sqlite3_str_appendchar(sqlite3_str *p, int N, char c){ testcase( p->nChar + (i64)N > 0x7fffffff ); if( p->nChar+(i64)N >= p->nAlloc && (N = sqlite3StrAccumEnlarge(p, N))<=0 ){ return; @@ -26688,9 +28004,9 @@ SQLITE_PRIVATE void sqlite3AppendChar(StrAccum *p, int N, char c){ ** The StrAccum "p" is not large enough to accept N new bytes of z[]. ** So enlarge if first, then do the append. ** -** This is a helper routine to sqlite3StrAccumAppend() that does special-case +** This is a helper routine to sqlite3_str_append() that does special-case ** work (enlarging the buffer) using tail recursion, so that the -** sqlite3StrAccumAppend() routine can use fast calling semantics. +** sqlite3_str_append() routine can use fast calling semantics. */ static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){ N = sqlite3StrAccumEnlarge(p, N); @@ -26704,7 +28020,7 @@ static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){ ** Append N bytes of text from z to the StrAccum object. Increase the ** size of the memory allocation for StrAccum if necessary. */ -SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ +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 ); @@ -26721,8 +28037,8 @@ SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ /* ** Append the complete text of zero-terminated string z[] to the p string. */ -SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum *p, const char *z){ - sqlite3StrAccumAppend(p, z, sqlite3Strlen30(z)); +SQLITE_API void sqlite3_str_appendall(sqlite3_str *p, const char *z){ + sqlite3_str_append(p, z, sqlite3Strlen30(z)); } @@ -26739,7 +28055,7 @@ static SQLITE_NOINLINE char *strAccumFinishRealloc(StrAccum *p){ memcpy(zText, p->zText, p->nChar+1); p->printfFlags |= SQLITE_PRINTF_MALLOCED; }else{ - setStrAccumError(p, STRACCUM_NOMEM); + setStrAccumError(p, SQLITE_NOMEM); } p->zText = zText; return zText; @@ -26754,14 +28070,56 @@ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ return p->zText; } +/* +** This singleton is an sqlite3_str object that is returned if +** sqlite3_malloc() fails to provide space for a real one. This +** sqlite3_str object accepts no new text and always returns +** an SQLITE_NOMEM error. +*/ +static sqlite3_str sqlite3OomStr = { + 0, 0, 0, 0, 0, SQLITE_NOMEM, 0 +}; + +/* Finalize a string created using sqlite3_str_new(). +*/ +SQLITE_API char *sqlite3_str_finish(sqlite3_str *p){ + char *z; + if( p!=0 && p!=&sqlite3OomStr ){ + z = sqlite3StrAccumFinish(p); + sqlite3_free(p); + }else{ + z = 0; + } + return z; +} + +/* Return any error code associated with p */ +SQLITE_API int sqlite3_str_errcode(sqlite3_str *p){ + return p ? p->accError : SQLITE_NOMEM; +} + +/* Return the current length of p in bytes */ +SQLITE_API int sqlite3_str_length(sqlite3_str *p){ + return p ? p->nChar : 0; +} + +/* Return the current value for p */ +SQLITE_API char *sqlite3_str_value(sqlite3_str *p){ + if( p==0 || p->nChar==0 ) return 0; + p->zText[p->nChar] = 0; + return p->zText; +} + /* ** Reset an StrAccum string. Reclaim all malloced memory. */ -SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum *p){ +SQLITE_API void sqlite3_str_reset(StrAccum *p){ if( isMalloced(p) ){ sqlite3DbFree(p->db, p->zText); p->printfFlags &= ~SQLITE_PRINTF_MALLOCED; } + p->nAlloc = 0; + p->nChar = 0; p->zText = 0; } @@ -26789,6 +28147,18 @@ SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum *p, sqlite3 *db, char *zBase, i p->printfFlags = 0; } +/* Allocate and initialize a new dynamic string object */ +SQLITE_API sqlite3_str *sqlite3_str_new(sqlite3 *db){ + sqlite3_str *p = sqlite3_malloc64(sizeof(*p)); + if( p ){ + sqlite3StrAccumInit(p, 0, 0, 0, + db ? db->aLimit[SQLITE_LIMIT_LENGTH] : SQLITE_MAX_LENGTH); + }else{ + p = &sqlite3OomStr; + } + return p; +} + /* ** Print into memory obtained from sqliteMalloc(). Use the internal ** %-conversion extensions. @@ -26801,9 +28171,9 @@ SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3 *db, const char *zFormat, va_list a sqlite3StrAccumInit(&acc, db, zBase, sizeof(zBase), db->aLimit[SQLITE_LIMIT_LENGTH]); acc.printfFlags = SQLITE_PRINTF_INTERNAL; - sqlite3VXPrintf(&acc, zFormat, ap); + sqlite3_str_vappendf(&acc, zFormat, ap); z = sqlite3StrAccumFinish(&acc); - if( acc.accError==STRACCUM_NOMEM ){ + if( acc.accError==SQLITE_NOMEM ){ sqlite3OomFault(db); } return z; @@ -26841,7 +28211,7 @@ SQLITE_API char *sqlite3_vmprintf(const char *zFormat, va_list ap){ if( sqlite3_initialize() ) return 0; #endif sqlite3StrAccumInit(&acc, 0, zBase, sizeof(zBase), SQLITE_MAX_LENGTH); - sqlite3VXPrintf(&acc, zFormat, ap); + sqlite3_str_vappendf(&acc, zFormat, ap); z = sqlite3StrAccumFinish(&acc); return z; } @@ -26886,7 +28256,7 @@ SQLITE_API char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_li } #endif sqlite3StrAccumInit(&acc, 0, zBuf, n, 0); - sqlite3VXPrintf(&acc, zFormat, ap); + sqlite3_str_vappendf(&acc, zFormat, ap); zBuf[acc.nChar] = 0; return zBuf; } @@ -26908,7 +28278,7 @@ SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ ** allocate memory because it might be called while the memory allocator ** mutex is held. ** -** sqlite3VXPrintf() might ask for *temporary* memory allocations for +** sqlite3_str_vappendf() might ask for *temporary* memory allocations for ** certain format characters (%q) or for very large precisions or widths. ** Care must be taken that any sqlite3_log() calls that occur while the ** memory mutex is held do not use these mechanisms. @@ -26918,7 +28288,7 @@ static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){ char zMsg[SQLITE_PRINT_BUF_SIZE*3]; /* Complete log message */ sqlite3StrAccumInit(&acc, 0, zMsg, sizeof(zMsg), 0); - sqlite3VXPrintf(&acc, zFormat, ap); + sqlite3_str_vappendf(&acc, zFormat, ap); sqlite3GlobalConfig.xLog(sqlite3GlobalConfig.pLogArg, iErrCode, sqlite3StrAccumFinish(&acc)); } @@ -26947,7 +28317,7 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ char zBuf[500]; sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0); va_start(ap,zFormat); - sqlite3VXPrintf(&acc, zFormat, ap); + sqlite3_str_vappendf(&acc, zFormat, ap); va_end(ap); sqlite3StrAccumFinish(&acc); #ifdef SQLITE_OS_TRACE_PROC @@ -26964,13 +28334,13 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ /* -** variable-argument wrapper around sqlite3VXPrintf(). The bFlags argument +** variable-argument wrapper around sqlite3_str_vappendf(). The bFlags argument ** can contain the bit SQLITE_PRINTF_INTERNAL enable internal formats. */ -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum *p, const char *zFormat, ...){ +SQLITE_API void sqlite3_str_appendf(StrAccum *p, const char *zFormat, ...){ va_list ap; va_start(ap,zFormat); - sqlite3VXPrintf(p, zFormat, ap); + sqlite3_str_vappendf(p, zFormat, ap); va_end(ap); } @@ -27036,15 +28406,17 @@ static void sqlite3TreeViewLine(TreeView *p, const char *zFormat, ...){ sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0); if( p ){ for(i=0; iiLevel && ibLine)-1; i++){ - sqlite3StrAccumAppend(&acc, p->bLine[i] ? "| " : " ", 4); + sqlite3_str_append(&acc, p->bLine[i] ? "| " : " ", 4); } - sqlite3StrAccumAppend(&acc, p->bLine[i] ? "|-- " : "'-- ", 4); + sqlite3_str_append(&acc, p->bLine[i] ? "|-- " : "'-- ", 4); + } + if( zFormat!=0 ){ + va_start(ap, zFormat); + sqlite3_str_vappendf(&acc, zFormat, ap); + va_end(ap); + assert( acc.nChar>0 ); + sqlite3_str_append(&acc, "\n", 1); } - va_start(ap, zFormat); - sqlite3VXPrintf(&acc, zFormat, ap); - va_end(ap); - assert( acc.nChar>0 ); - if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1); sqlite3StrAccumFinish(&acc); fprintf(stdout,"%s", zBuf); fflush(stdout); @@ -27077,17 +28449,17 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 m char zLine[1000]; const struct Cte *pCte = &pWith->a[i]; sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); - sqlite3XPrintf(&x, "%s", pCte->zName); + sqlite3_str_appendf(&x, "%s", pCte->zName); if( pCte->pCols && pCte->pCols->nExpr>0 ){ char cSep = '('; int j; for(j=0; jpCols->nExpr; j++){ - sqlite3XPrintf(&x, "%c%s", cSep, pCte->pCols->a[j].zName); + sqlite3_str_appendf(&x, "%c%s", cSep, pCte->pCols->a[j].zName); cSep = ','; } - sqlite3XPrintf(&x, ")"); + sqlite3_str_appendf(&x, ")"); } - sqlite3XPrintf(&x, " AS"); + sqlite3_str_appendf(&x, " AS"); sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, inCte-1); sqlite3TreeViewSelect(pView, pCte->pSelect, 0); @@ -27097,6 +28469,42 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 m } } +/* +** Generate a human-readable description of a SrcList object. +*/ +SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ + int i; + for(i=0; inSrc; i++){ + const struct SrcList_item *pItem = &pSrc->a[i]; + StrAccum x; + char zLine[100]; + sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); + sqlite3_str_appendf(&x, "{%d,*}", pItem->iCursor); + if( pItem->zDatabase ){ + sqlite3_str_appendf(&x, " %s.%s", pItem->zDatabase, pItem->zName); + }else if( pItem->zName ){ + sqlite3_str_appendf(&x, " %s", pItem->zName); + } + if( pItem->pTab ){ + sqlite3_str_appendf(&x, " tabname=%Q", pItem->pTab->zName); + } + if( pItem->zAlias ){ + sqlite3_str_appendf(&x, " (AS %s)", pItem->zAlias); + } + if( pItem->fg.jointype & JT_LEFT ){ + sqlite3_str_appendf(&x, " LEFT-JOIN"); + } + sqlite3StrAccumFinish(&x); + sqlite3TreeViewItem(pView, zLine, inSrc-1); + if( pItem->pSelect ){ + sqlite3TreeViewSelect(pView, pItem->pSelect, 0); + } + if( pItem->fg.isTabFunc ){ + sqlite3TreeViewExprList(pView, pItem->u1.pFuncArg, 0, "func-args:"); + } + sqlite3TreeViewPop(pView); + } +} /* ** Generate a human-readable description of a Select object. @@ -27115,9 +28523,11 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m sqlite3TreeViewPush(pView, 1); } do{ - sqlite3TreeViewLine(pView, "SELECT%s%s (0x%p) selFlags=0x%x nSelectRow=%d", + sqlite3TreeViewLine(pView, + "SELECT%s%s (%u/%p) selFlags=0x%x nSelectRow=%d", ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), - ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), p, p->selFlags, + ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), + p->selId, p, p->selFlags, (int)p->nSelectRow ); if( cnt++ ) sqlite3TreeViewPop(pView); @@ -27131,42 +28541,27 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m if( p->pHaving ) n++; if( p->pOrderBy ) n++; if( p->pLimit ) n++; +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->pWin ) n++; + if( p->pWinDefn ) n++; +#endif } sqlite3TreeViewExprList(pView, p->pEList, (n--)>0, "result-set"); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->pWin ){ + Window *pX; + pView = sqlite3TreeViewPush(pView, (n--)>0); + sqlite3TreeViewLine(pView, "window-functions"); + for(pX=p->pWin; pX; pX=pX->pNextWin){ + sqlite3TreeViewWinFunc(pView, pX, pX->pNextWin!=0); + } + sqlite3TreeViewPop(pView); + } +#endif if( p->pSrc && p->pSrc->nSrc ){ - int i; pView = sqlite3TreeViewPush(pView, (n--)>0); sqlite3TreeViewLine(pView, "FROM"); - for(i=0; ipSrc->nSrc; i++){ - struct SrcList_item *pItem = &p->pSrc->a[i]; - StrAccum x; - char zLine[100]; - sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); - sqlite3XPrintf(&x, "{%d,*}", pItem->iCursor); - if( pItem->zDatabase ){ - sqlite3XPrintf(&x, " %s.%s", pItem->zDatabase, pItem->zName); - }else if( pItem->zName ){ - sqlite3XPrintf(&x, " %s", pItem->zName); - } - if( pItem->pTab ){ - sqlite3XPrintf(&x, " tabname=%Q", pItem->pTab->zName); - } - if( pItem->zAlias ){ - sqlite3XPrintf(&x, " (AS %s)", pItem->zAlias); - } - if( pItem->fg.jointype & JT_LEFT ){ - sqlite3XPrintf(&x, " LEFT-JOIN"); - } - sqlite3StrAccumFinish(&x); - sqlite3TreeViewItem(pView, zLine, ipSrc->nSrc-1); - if( pItem->pSelect ){ - sqlite3TreeViewSelect(pView, pItem->pSelect, 0); - } - if( pItem->fg.isTabFunc ){ - sqlite3TreeViewExprList(pView, pItem->u1.pFuncArg, 0, "func-args:"); - } - sqlite3TreeViewPop(pView); - } + sqlite3TreeViewSrcList(pView, p->pSrc); sqlite3TreeViewPop(pView); } if( p->pWhere ){ @@ -27182,6 +28577,16 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m sqlite3TreeViewExpr(pView, p->pHaving, 0); sqlite3TreeViewPop(pView); } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->pWinDefn ){ + Window *pX; + sqlite3TreeViewItem(pView, "WINDOW", (n--)>0); + for(pX=p->pWinDefn; pX; pX=pX->pNextWin){ + sqlite3TreeViewWindow(pView, pX, pX->pNextWin!=0); + } + sqlite3TreeViewPop(pView); + } +#endif if( p->pOrderBy ){ sqlite3TreeViewExprList(pView, p->pOrderBy, (n--)>0, "ORDERBY"); } @@ -27209,6 +28614,83 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m sqlite3TreeViewPop(pView); } +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** Generate a description of starting or stopping bounds +*/ +SQLITE_PRIVATE void sqlite3TreeViewBound( + TreeView *pView, /* View context */ + u8 eBound, /* UNBOUNDED, CURRENT, PRECEDING, FOLLOWING */ + Expr *pExpr, /* Value for PRECEDING or FOLLOWING */ + u8 moreToFollow /* True if more to follow */ +){ + switch( eBound ){ + case TK_UNBOUNDED: { + sqlite3TreeViewItem(pView, "UNBOUNDED", moreToFollow); + sqlite3TreeViewPop(pView); + break; + } + case TK_CURRENT: { + sqlite3TreeViewItem(pView, "CURRENT", moreToFollow); + sqlite3TreeViewPop(pView); + break; + } + case TK_PRECEDING: { + sqlite3TreeViewItem(pView, "PRECEDING", moreToFollow); + sqlite3TreeViewExpr(pView, pExpr, 0); + sqlite3TreeViewPop(pView); + break; + } + case TK_FOLLOWING: { + sqlite3TreeViewItem(pView, "FOLLOWING", moreToFollow); + sqlite3TreeViewExpr(pView, pExpr, 0); + sqlite3TreeViewPop(pView); + break; + } + } +} +#endif /* SQLITE_OMIT_WINDOWFUNC */ + +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** Generate a human-readable explanation for a Window object +*/ +SQLITE_PRIVATE void sqlite3TreeViewWindow(TreeView *pView, const Window *pWin, u8 more){ + pView = sqlite3TreeViewPush(pView, more); + if( pWin->zName ){ + sqlite3TreeViewLine(pView, "OVER %s", pWin->zName); + }else{ + sqlite3TreeViewLine(pView, "OVER"); + } + if( pWin->pPartition ){ + sqlite3TreeViewExprList(pView, pWin->pPartition, 1, "PARTITION-BY"); + } + if( pWin->pOrderBy ){ + sqlite3TreeViewExprList(pView, pWin->pOrderBy, 1, "ORDER-BY"); + } + if( pWin->eType ){ + sqlite3TreeViewItem(pView, pWin->eType==TK_RANGE ? "RANGE" : "ROWS", 0); + sqlite3TreeViewBound(pView, pWin->eStart, pWin->pStart, 1); + sqlite3TreeViewBound(pView, pWin->eEnd, pWin->pEnd, 0); + sqlite3TreeViewPop(pView); + } + sqlite3TreeViewPop(pView); +} +#endif /* SQLITE_OMIT_WINDOWFUNC */ + +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** Generate a human-readable explanation for a Window Function object +*/ +SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView *pView, const Window *pWin, u8 more){ + pView = sqlite3TreeViewPush(pView, more); + sqlite3TreeViewLine(pView, "WINFUNC %s(%d)", + pWin->pFunc->zName, pWin->pFunc->nArg); + sqlite3TreeViewWindow(pView, pWin, 0); + sqlite3TreeViewPop(pView); +} +#endif /* SQLITE_OMIT_WINDOWFUNC */ + /* ** Generate a human-readable explanation of an expression tree. */ @@ -27246,6 +28728,9 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewLine(pView, "{%d:%d}%s", pExpr->iTable, pExpr->iColumn, zFlgs); } + if( ExprHasProperty(pExpr, EP_FixedCol) ){ + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); + } break; } case TK_INTEGER: { @@ -27270,6 +28755,11 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewLine(pView,"NULL"); break; } + case TK_TRUEFALSE: { + sqlite3TreeViewLine(pView, + sqlite3ExprTruthValue(pExpr) ? "TRUE" : "FALSE"); + break; + } #ifndef SQLITE_OMIT_BLOB_LITERAL case TK_BLOB: { sqlite3TreeViewLine(pView,"%s", pExpr->u.zToken); @@ -27326,6 +28816,19 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m case TK_ISNULL: zUniOp = "ISNULL"; break; case TK_NOTNULL: zUniOp = "NOTNULL"; break; + case TK_TRUTH: { + int x; + const char *azOp[] = { + "IS-FALSE", "IS-TRUE", "IS-NOT-FALSE", "IS-NOT-TRUE" + }; + assert( pExpr->op2==TK_IS || pExpr->op2==TK_ISNOT ); + assert( pExpr->pRight ); + assert( pExpr->pRight->op==TK_TRUEFALSE ); + x = (pExpr->op2==TK_ISNOT)*2 + sqlite3ExprTruthValue(pExpr->pRight); + zUniOp = azOp[x]; + break; + } + case TK_SPAN: { sqlite3TreeViewLine(pView, "SPAN %Q", pExpr->u.zToken); sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); @@ -27341,10 +28844,17 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m case TK_AGG_FUNCTION: case TK_FUNCTION: { ExprList *pFarg; /* List of function arguments */ + Window *pWin; if( ExprHasProperty(pExpr, EP_TokenOnly) ){ pFarg = 0; + pWin = 0; }else{ pFarg = pExpr->x.pList; +#ifndef SQLITE_OMIT_WINDOWFUNC + pWin = pExpr->y.pWin; +#else + pWin = 0; +#endif } if( pExpr->op==TK_AGG_FUNCTION ){ sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q", @@ -27353,8 +28863,13 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewLine(pView, "FUNCTION %Q", pExpr->u.zToken); } if( pFarg ){ - sqlite3TreeViewExprList(pView, pFarg, 0, 0); + sqlite3TreeViewExprList(pView, pFarg, pWin!=0, 0); + } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pWin ){ + sqlite3TreeViewWindow(pView, pWin, 0); } +#endif break; } #ifndef SQLITE_OMIT_SUBQUERY @@ -27486,16 +29001,21 @@ SQLITE_PRIVATE void sqlite3TreeViewBareExprList( for(i=0; inExpr; i++){ int j = pList->a[i].u.x.iOrderByCol; char *zName = pList->a[i].zName; + int moreToFollow = inExpr - 1; if( j || zName ){ - sqlite3TreeViewPush(pView, 0); - } - if( zName ){ - sqlite3TreeViewLine(pView, "AS %s", zName); - } - if( j ){ - sqlite3TreeViewLine(pView, "iOrderByCol=%d", j); + sqlite3TreeViewPush(pView, moreToFollow); + moreToFollow = 0; + sqlite3TreeViewLine(pView, 0); + if( zName ){ + fprintf(stdout, "AS %s ", zName); + } + if( j ){ + fprintf(stdout, "iOrderByCol=%d", j); + } + fprintf(stdout, "\n"); + fflush(stdout); } - sqlite3TreeViewExpr(pView, pList->a[i].pExpr, inExpr-1); + sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow); if( j || zName ){ sqlite3TreeViewPop(pView); } @@ -29063,7 +30583,7 @@ static int compare2pow63(const char *zNum, int incr){ ** Returns: ** ** 0 Successful transformation. Fits in a 64-bit signed integer. -** 1 Excess text after the integer value +** 1 Excess non-space text after the integer value ** 2 Integer too large for a 64-bit signed integer or is malformed ** 3 Special case of 9223372036854775808 ** @@ -29106,47 +30626,57 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc for(i=0; &zNum[i]='0' && c<='9'; i+=incr){ u = u*10 + c - '0'; } + testcase( i==18*incr ); + testcase( i==19*incr ); + testcase( i==20*incr ); if( u>LARGEST_INT64 ){ + /* This test and assignment is needed only to suppress UB warnings + ** from clang and -fsanitize=undefined. This test and assignment make + ** the code a little larger and slower, and no harm comes from omitting + ** them, but we must appaise the undefined-behavior pharisees. */ *pNum = neg ? SMALLEST_INT64 : LARGEST_INT64; }else if( neg ){ *pNum = -(i64)u; }else{ *pNum = (i64)u; } - testcase( i==18 ); - testcase( i==19 ); - testcase( i==20 ); - if( &zNum[i]19*incr ){ /* Too many digits */ - /* zNum is empty or contains non-numeric text or is longer - ** than 19 digits (thus guaranteeing that it is too large) */ - return 2; - }else if( i<19*incr ){ + if( i<19*incr ){ /* Less than 19 digits, so we know that it fits in 64 bits */ assert( u<=LARGEST_INT64 ); return rc; }else{ /* zNum is a 19-digit numbers. Compare it against 9223372036854775808. */ - c = compare2pow63(zNum, incr); + c = i>19*incr ? 1 : compare2pow63(zNum, incr); if( c<0 ){ /* zNum is less than 9223372036854775808 so it fits */ assert( u<=LARGEST_INT64 ); return rc; - }else if( c>0 ){ - /* zNum is greater than 9223372036854775808 so it overflows */ - return 2; }else{ - /* zNum is exactly 9223372036854775808. Fits if negative. The - ** special case 2 overflow if positive */ - assert( u-1==LARGEST_INT64 ); - return neg ? rc : 3; + *pNum = neg ? SMALLEST_INT64 : LARGEST_INT64; + if( c>0 ){ + /* zNum is greater than 9223372036854775808 so it overflows */ + return 2; + }else{ + /* zNum is exactly 9223372036854775808. Fits if negative. The + ** special case 2 overflow if positive */ + assert( u-1==LARGEST_INT64 ); + return neg ? rc : 3; + } } } } @@ -30149,6 +31679,20 @@ 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. @@ -30304,6 +31882,14 @@ 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". @@ -30371,52 +31957,52 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 1 */ "AutoCommit" OpHelp(""), /* 2 */ "Transaction" OpHelp(""), /* 3 */ "SorterNext" OpHelp(""), - /* 4 */ "PrevIfOpen" OpHelp(""), - /* 5 */ "NextIfOpen" OpHelp(""), - /* 6 */ "Prev" OpHelp(""), - /* 7 */ "Next" OpHelp(""), - /* 8 */ "Checkpoint" OpHelp(""), - /* 9 */ "JournalMode" OpHelp(""), - /* 10 */ "Vacuum" OpHelp(""), - /* 11 */ "VFilter" OpHelp("iplan=r[P3] zplan='P4'"), - /* 12 */ "VUpdate" OpHelp("data=r[P3@P2]"), - /* 13 */ "Goto" OpHelp(""), - /* 14 */ "Gosub" OpHelp(""), - /* 15 */ "InitCoroutine" OpHelp(""), - /* 16 */ "Yield" OpHelp(""), - /* 17 */ "MustBeInt" OpHelp(""), - /* 18 */ "Jump" OpHelp(""), + /* 4 */ "Prev" OpHelp(""), + /* 5 */ "Next" OpHelp(""), + /* 6 */ "Checkpoint" OpHelp(""), + /* 7 */ "JournalMode" OpHelp(""), + /* 8 */ "Vacuum" OpHelp(""), + /* 9 */ "VFilter" OpHelp("iplan=r[P3] zplan='P4'"), + /* 10 */ "VUpdate" OpHelp("data=r[P3@P2]"), + /* 11 */ "Goto" OpHelp(""), + /* 12 */ "Gosub" OpHelp(""), + /* 13 */ "InitCoroutine" OpHelp(""), + /* 14 */ "Yield" OpHelp(""), + /* 15 */ "MustBeInt" OpHelp(""), + /* 16 */ "Jump" OpHelp(""), + /* 17 */ "Once" OpHelp(""), + /* 18 */ "If" OpHelp(""), /* 19 */ "Not" OpHelp("r[P2]= !r[P1]"), - /* 20 */ "Once" OpHelp(""), - /* 21 */ "If" OpHelp(""), - /* 22 */ "IfNot" OpHelp(""), - /* 23 */ "IfNullRow" OpHelp("if P1.nullRow then r[P3]=NULL, goto P2"), - /* 24 */ "SeekLT" OpHelp("key=r[P3@P4]"), - /* 25 */ "SeekLE" OpHelp("key=r[P3@P4]"), - /* 26 */ "SeekGE" OpHelp("key=r[P3@P4]"), - /* 27 */ "SeekGT" OpHelp("key=r[P3@P4]"), - /* 28 */ "NoConflict" OpHelp("key=r[P3@P4]"), - /* 29 */ "NotFound" OpHelp("key=r[P3@P4]"), - /* 30 */ "Found" OpHelp("key=r[P3@P4]"), - /* 31 */ "SeekRowid" OpHelp("intkey=r[P3]"), - /* 32 */ "NotExists" OpHelp("intkey=r[P3]"), - /* 33 */ "Last" OpHelp(""), - /* 34 */ "IfSmaller" OpHelp(""), - /* 35 */ "SorterSort" OpHelp(""), - /* 36 */ "Sort" OpHelp(""), - /* 37 */ "Rewind" OpHelp(""), - /* 38 */ "IdxLE" OpHelp("key=r[P3@P4]"), - /* 39 */ "IdxGT" OpHelp("key=r[P3@P4]"), - /* 40 */ "IdxLT" OpHelp("key=r[P3@P4]"), - /* 41 */ "IdxGE" OpHelp("key=r[P3@P4]"), - /* 42 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), + /* 20 */ "IfNot" OpHelp(""), + /* 21 */ "IfNullRow" OpHelp("if P1.nullRow then r[P3]=NULL, goto P2"), + /* 22 */ "SeekLT" OpHelp("key=r[P3@P4]"), + /* 23 */ "SeekLE" OpHelp("key=r[P3@P4]"), + /* 24 */ "SeekGE" OpHelp("key=r[P3@P4]"), + /* 25 */ "SeekGT" OpHelp("key=r[P3@P4]"), + /* 26 */ "IfNoHope" OpHelp("key=r[P3@P4]"), + /* 27 */ "NoConflict" OpHelp("key=r[P3@P4]"), + /* 28 */ "NotFound" OpHelp("key=r[P3@P4]"), + /* 29 */ "Found" OpHelp("key=r[P3@P4]"), + /* 30 */ "SeekRowid" OpHelp("intkey=r[P3]"), + /* 31 */ "NotExists" OpHelp("intkey=r[P3]"), + /* 32 */ "Last" OpHelp(""), + /* 33 */ "IfSmaller" OpHelp(""), + /* 34 */ "SorterSort" OpHelp(""), + /* 35 */ "Sort" OpHelp(""), + /* 36 */ "Rewind" OpHelp(""), + /* 37 */ "IdxLE" OpHelp("key=r[P3@P4]"), + /* 38 */ "IdxGT" OpHelp("key=r[P3@P4]"), + /* 39 */ "IdxLT" OpHelp("key=r[P3@P4]"), + /* 40 */ "IdxGE" OpHelp("key=r[P3@P4]"), + /* 41 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), + /* 42 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), /* 43 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), /* 44 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), - /* 45 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), - /* 46 */ "Program" OpHelp(""), - /* 47 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), - /* 48 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), - /* 49 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2"), + /* 45 */ "Program" OpHelp(""), + /* 46 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 47 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), + /* 48 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2"), + /* 49 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), /* 50 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), /* 51 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), /* 52 */ "Ne" OpHelp("IF r[P3]!=r[P1]"), @@ -30426,117 +32012,121 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 56 */ "Lt" OpHelp("IF r[P3]=r[P1]"), /* 58 */ "ElseNotEq" OpHelp(""), - /* 59 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), - /* 60 */ "IncrVacuum" OpHelp(""), - /* 61 */ "VNext" OpHelp(""), - /* 62 */ "Init" OpHelp("Start at P2"), - /* 63 */ "Return" OpHelp(""), - /* 64 */ "EndCoroutine" OpHelp(""), - /* 65 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), - /* 66 */ "Halt" OpHelp(""), - /* 67 */ "Integer" OpHelp("r[P2]=P1"), - /* 68 */ "Int64" OpHelp("r[P2]=P4"), - /* 69 */ "String" OpHelp("r[P2]='P4' (len=P1)"), - /* 70 */ "Null" OpHelp("r[P2..P3]=NULL"), - /* 71 */ "SoftNull" OpHelp("r[P1]=NULL"), - /* 72 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), - /* 73 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), - /* 74 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), - /* 75 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), - /* 76 */ "SCopy" OpHelp("r[P2]=r[P1]"), - /* 77 */ "IntCopy" OpHelp("r[P2]=r[P1]"), - /* 78 */ "ResultRow" OpHelp("output=r[P1@P2]"), - /* 79 */ "CollSeq" OpHelp(""), - /* 80 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), - /* 81 */ "RealAffinity" OpHelp(""), - /* 82 */ "Cast" OpHelp("affinity(r[P1])"), - /* 83 */ "Permutation" OpHelp(""), - /* 84 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), - /* 85 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), - /* 86 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), - /* 88 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), - /* 89 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), - /* 90 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), - /* 91 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), - /* 92 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), - /* 93 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), - /* 94 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), - /* 95 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), - /* 96 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)"), - /* 97 */ "String8" OpHelp("r[P2]='P4'"), - /* 98 */ "Column" OpHelp("r[P3]=PX"), - /* 99 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 100 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), - /* 101 */ "Count" OpHelp("r[P2]=count()"), - /* 102 */ "ReadCookie" OpHelp(""), - /* 103 */ "SetCookie" OpHelp(""), - /* 104 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 105 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 106 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 107 */ "OpenDup" OpHelp(""), - /* 108 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 109 */ "OpenEphemeral" OpHelp("nColumn=P2"), - /* 110 */ "SorterOpen" OpHelp(""), - /* 111 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), - /* 112 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), - /* 113 */ "Close" OpHelp(""), - /* 114 */ "ColumnsUsed" OpHelp(""), - /* 115 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), - /* 116 */ "NewRowid" OpHelp("r[P2]=rowid"), - /* 117 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 118 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 119 */ "Delete" OpHelp(""), - /* 120 */ "ResetCount" OpHelp(""), - /* 121 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), - /* 122 */ "SorterData" OpHelp("r[P2]=data"), - /* 123 */ "RowData" OpHelp("r[P2]=data"), - /* 124 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 125 */ "NullRow" OpHelp(""), - /* 126 */ "SeekEnd" OpHelp(""), - /* 127 */ "SorterInsert" OpHelp("key=r[P2]"), - /* 128 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 129 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 130 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), - /* 131 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 132 */ "Real" OpHelp("r[P2]=P4"), - /* 133 */ "Destroy" OpHelp(""), - /* 134 */ "Clear" OpHelp(""), - /* 135 */ "ResetSorter" OpHelp(""), - /* 136 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), - /* 137 */ "SqlExec" OpHelp(""), - /* 138 */ "ParseSchema" OpHelp(""), - /* 139 */ "LoadAnalysis" OpHelp(""), - /* 140 */ "DropTable" OpHelp(""), - /* 141 */ "DropIndex" OpHelp(""), - /* 142 */ "DropTrigger" OpHelp(""), - /* 143 */ "IntegrityCk" OpHelp(""), - /* 144 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 145 */ "Param" OpHelp(""), - /* 146 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 147 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 148 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), - /* 149 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 150 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 151 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 152 */ "Expire" OpHelp(""), - /* 153 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 154 */ "VBegin" OpHelp(""), - /* 155 */ "VCreate" OpHelp(""), - /* 156 */ "VDestroy" OpHelp(""), - /* 157 */ "VOpen" OpHelp(""), - /* 158 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 159 */ "VRename" OpHelp(""), - /* 160 */ "Pagecount" OpHelp(""), - /* 161 */ "MaxPgcnt" OpHelp(""), - /* 162 */ "PureFunc0" OpHelp(""), - /* 163 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), - /* 164 */ "PureFunc" OpHelp(""), - /* 165 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), - /* 166 */ "Trace" OpHelp(""), - /* 167 */ "CursorHint" OpHelp(""), - /* 168 */ "Noop" OpHelp(""), - /* 169 */ "Explain" OpHelp(""), + /* 59 */ "IncrVacuum" OpHelp(""), + /* 60 */ "VNext" OpHelp(""), + /* 61 */ "Init" OpHelp("Start at P2"), + /* 62 */ "PureFunc0" OpHelp(""), + /* 63 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), + /* 64 */ "PureFunc" OpHelp(""), + /* 65 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), + /* 66 */ "Return" OpHelp(""), + /* 67 */ "EndCoroutine" OpHelp(""), + /* 68 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), + /* 69 */ "Halt" OpHelp(""), + /* 70 */ "Integer" OpHelp("r[P2]=P1"), + /* 71 */ "Int64" OpHelp("r[P2]=P4"), + /* 72 */ "String" OpHelp("r[P2]='P4' (len=P1)"), + /* 73 */ "Null" OpHelp("r[P2..P3]=NULL"), + /* 74 */ "SoftNull" OpHelp("r[P1]=NULL"), + /* 75 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), + /* 76 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), + /* 77 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), + /* 78 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), + /* 79 */ "SCopy" OpHelp("r[P2]=r[P1]"), + /* 80 */ "IntCopy" OpHelp("r[P2]=r[P1]"), + /* 81 */ "ResultRow" OpHelp("output=r[P1@P2]"), + /* 82 */ "CollSeq" OpHelp(""), + /* 83 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), + /* 84 */ "RealAffinity" OpHelp(""), + /* 85 */ "Cast" OpHelp("affinity(r[P1])"), + /* 86 */ "Permutation" OpHelp(""), + /* 87 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), + /* 88 */ "IsTrue" OpHelp("r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4"), + /* 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"), + /* 114 */ "SorterOpen" OpHelp(""), + /* 115 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), + /* 116 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), + /* 117 */ "Close" OpHelp(""), + /* 118 */ "ColumnsUsed" OpHelp(""), + /* 119 */ "SeekHit" OpHelp("seekHit=P2"), + /* 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(""), }; return azName[i]; } @@ -30682,12 +32272,10 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ #define SQLITE_FSFLAGS_IS_MSDOS 0x1 /* -** If we are to be thread-safe, include the pthreads header and define -** the SQLITE_UNIX_THREADS macro. +** If we are to be thread-safe, include the pthreads header. */ #if SQLITE_THREADSAFE /* # include */ -# define SQLITE_UNIX_THREADS 1 #endif /* @@ -30775,6 +32363,9 @@ struct unixFile { #if SQLITE_ENABLE_LOCKING_STYLE || defined(__APPLE__) unsigned fsFlags; /* cached details from statfs() */ #endif +#ifdef SQLITE_ENABLE_SETLK_TIMEOUT + unsigned iBusyTimeout; /* Wait this many millisec on locks */ +#endif #if OS_VXWORKS struct vxworksFileId *pId; /* Unique file ID */ #endif @@ -31212,7 +32803,11 @@ static struct unix_syscall { #endif #define osFchown ((int(*)(int,uid_t,gid_t))aSyscall[20].pCurrent) +#if defined(HAVE_FCHOWN) { "geteuid", (sqlite3_syscall_ptr)geteuid, 0 }, +#else + { "geteuid", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osGeteuid ((uid_t(*)(void))aSyscall[21].pCurrent) #if !defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0 @@ -31258,7 +32853,11 @@ static struct unix_syscall { #define osLstat ((int(*)(const char*,struct stat*))aSyscall[27].pCurrent) #if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) +# ifdef __ANDROID__ + { "ioctl", (sqlite3_syscall_ptr)(int(*)(int, int, ...))ioctl, 0 }, +# else { "ioctl", (sqlite3_syscall_ptr)ioctl, 0 }, +# endif #else { "ioctl", (sqlite3_syscall_ptr)0, 0 }, #endif @@ -31439,16 +33038,30 @@ static int robust_open(const char *z, int f, mode_t m){ ** unixEnterMutex() ** assert( unixMutexHeld() ); ** unixEnterLeave() +** +** To prevent deadlock, the global unixBigLock must must be acquired +** before the unixInodeInfo.pLockMutex mutex, if both are held. It is +** OK to get the pLockMutex without holding unixBigLock first, but if +** that happens, the unixBigLock mutex must not be acquired until after +** pLockMutex is released. +** +** OK: enter(unixBigLock), enter(pLockInfo) +** OK: enter(unixBigLock) +** OK: enter(pLockInfo) +** ERROR: enter(pLockInfo), enter(unixBigLock) */ +static sqlite3_mutex *unixBigLock = 0; static void unixEnterMutex(void){ - sqlite3_mutex_enter(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + assert( sqlite3_mutex_notheld(unixBigLock) ); /* Not a recursive mutex */ + sqlite3_mutex_enter(unixBigLock); } static void unixLeaveMutex(void){ - sqlite3_mutex_leave(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + assert( sqlite3_mutex_held(unixBigLock) ); + sqlite3_mutex_leave(unixBigLock); } #ifdef SQLITE_DEBUG static int unixMutexHeld(void) { - return sqlite3_mutex_held(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + return sqlite3_mutex_held(unixBigLock); } #endif @@ -31838,22 +33451,39 @@ struct unixFileId { /* ** An instance of the following structure is allocated for each open -** inode. Or, on LinuxThreads, there is one of these structures for -** each inode opened by each thread. +** inode. ** ** A single inode can have multiple file descriptors, so each unixFile ** structure contains a pointer to an instance of this object and this ** object keeps a count of the number of unixFile pointing to it. +** +** Mutex rules: +** +** (1) Only the pLockMutex mutex must be held in order to read or write +** any of the locking fields: +** nShared, nLock, eFileLock, bProcessLock, pUnused +** +** (2) When nRef>0, then the following fields are unchanging and can +** be read (but not written) without holding any mutex: +** fileId, pLockMutex +** +** (3) With the exceptions above, all the fields may only be read +** or written while holding the global unixBigLock mutex. +** +** Deadlock prevention: The global unixBigLock mutex may not +** be acquired while holding the pLockMutex mutex. If both unixBigLock +** and pLockMutex are needed, then unixBigLock must be acquired first. */ struct unixInodeInfo { struct unixFileId fileId; /* The lookup key */ - int nShared; /* Number of SHARED locks held */ - unsigned char eFileLock; /* One of SHARED_LOCK, RESERVED_LOCK etc. */ - unsigned char bProcessLock; /* An exclusive process lock is held */ + sqlite3_mutex *pLockMutex; /* Hold this mutex for... */ + int nShared; /* Number of SHARED locks held */ + int nLock; /* Number of outstanding file locks */ + unsigned char eFileLock; /* One of SHARED_LOCK, RESERVED_LOCK etc. */ + unsigned char bProcessLock; /* An exclusive process lock is held */ + UnixUnusedFd *pUnused; /* Unused file descriptors to close */ int nRef; /* Number of pointers to this structure */ unixShmNode *pShmNode; /* Shared memory associated with this inode */ - int nLock; /* Number of outstanding file locks */ - UnixUnusedFd *pUnused; /* Unused file descriptors to close */ unixInodeInfo *pNext; /* List of all unixInodeInfo objects */ unixInodeInfo *pPrev; /* .... doubly linked */ #if SQLITE_ENABLE_LOCKING_STYLE @@ -31867,9 +33497,26 @@ struct unixInodeInfo { /* ** A lists of all unixInodeInfo objects. +** +** Must hold unixBigLock in order to read or write this variable. */ static unixInodeInfo *inodeList = 0; /* All unixInodeInfo objects */ -static unsigned int nUnusedFd = 0; /* Total unused file descriptors */ + +#ifdef SQLITE_DEBUG +/* +** True if the inode mutex (on the unixFile.pFileMutex field) is held, or not. +** This routine is used only within assert() to help verify correct mutex +** usage. +*/ +int unixFileMutexHeld(unixFile *pFile){ + assert( pFile->pInode ); + return sqlite3_mutex_held(pFile->pInode->pLockMutex); +} +int unixFileMutexNotheld(unixFile *pFile){ + assert( pFile->pInode ); + return sqlite3_mutex_notheld(pFile->pInode->pLockMutex); +} +#endif /* ** @@ -31975,11 +33622,11 @@ static void closePendingFds(unixFile *pFile){ unixInodeInfo *pInode = pFile->pInode; UnixUnusedFd *p; UnixUnusedFd *pNext; + assert( unixFileMutexHeld(pFile) ); for(p=pInode->pUnused; p; p=pNext){ pNext = p->pNext; robust_close(pFile, p->fd, __LINE__); sqlite3_free(p); - nUnusedFd--; } pInode->pUnused = 0; } @@ -31987,17 +33634,20 @@ static void closePendingFds(unixFile *pFile){ /* ** Release a unixInodeInfo structure previously allocated by findInodeInfo(). ** -** The mutex entered using the unixEnterMutex() function must be held -** when this function is called. +** The global mutex must be held when this routine is called, but the mutex +** on the inode being deleted must NOT be held. */ static void releaseInodeInfo(unixFile *pFile){ unixInodeInfo *pInode = pFile->pInode; assert( unixMutexHeld() ); + assert( unixFileMutexNotheld(pFile) ); if( ALWAYS(pInode) ){ pInode->nRef--; if( pInode->nRef==0 ){ assert( pInode->pShmNode==0 ); + sqlite3_mutex_enter(pInode->pLockMutex); closePendingFds(pFile); + sqlite3_mutex_leave(pInode->pLockMutex); if( pInode->pPrev ){ assert( pInode->pPrev->pNext==pInode ); pInode->pPrev->pNext = pInode->pNext; @@ -32009,10 +33659,10 @@ static void releaseInodeInfo(unixFile *pFile){ assert( pInode->pNext->pPrev==pInode ); pInode->pNext->pPrev = pInode->pPrev; } + sqlite3_mutex_free(pInode->pLockMutex); sqlite3_free(pInode); } } - assert( inodeList!=0 || nUnusedFd==0 ); } /* @@ -32020,8 +33670,7 @@ static void releaseInodeInfo(unixFile *pFile){ ** describes that file descriptor. Create a new one if necessary. The ** return value might be uninitialized if an error occurs. ** -** The mutex entered using the unixEnterMutex() function must be held -** when this function is called. +** The global mutex must held when calling this routine. ** ** Return an appropriate error code. */ @@ -32082,7 +33731,7 @@ static int findInodeInfo( #else fileId.ino = (u64)statbuf.st_ino; #endif - assert( inodeList!=0 || nUnusedFd==0 ); + assert( unixMutexHeld() ); pInode = inodeList; while( pInode && memcmp(&fileId, &pInode->fileId, sizeof(fileId)) ){ pInode = pInode->pNext; @@ -32094,7 +33743,15 @@ static int findInodeInfo( } memset(pInode, 0, sizeof(*pInode)); memcpy(&pInode->fileId, &fileId, sizeof(fileId)); + if( sqlite3GlobalConfig.bCoreMutex ){ + pInode->pLockMutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); + if( pInode->pLockMutex==0 ){ + sqlite3_free(pInode); + return SQLITE_NOMEM_BKPT; + } + } pInode->nRef = 1; + assert( unixMutexHeld() ); pInode->pNext = inodeList; pInode->pPrev = 0; if( inodeList ) inodeList->pPrev = pInode; @@ -32172,7 +33829,7 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ assert( pFile ); assert( pFile->eFileLock<=SHARED_LOCK ); - unixEnterMutex(); /* Because pFile->pInode is shared across threads */ + sqlite3_mutex_enter(pFile->pInode->pLockMutex); /* Check if a thread in this process holds such a lock */ if( pFile->pInode->eFileLock>SHARED_LOCK ){ @@ -32197,13 +33854,50 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ } #endif - unixLeaveMutex(); + sqlite3_mutex_leave(pFile->pInode->pLockMutex); OSTRACE(("TEST WR-LOCK %d %d %d (unix)\n", pFile->h, rc, reserved)); *pResOut = reserved; return rc; } +/* +** Set a posix-advisory-lock. +** +** There are two versions of this routine. If compiled with +** SQLITE_ENABLE_SETLK_TIMEOUT then the routine has an extra parameter +** which is a pointer to a unixFile. If the unixFile->iBusyTimeout +** value is set, then it is the number of milliseconds to wait before +** failing the lock. The iBusyTimeout value is always reset back to +** zero on each call. +** +** If SQLITE_ENABLE_SETLK_TIMEOUT is not defined, then do a non-blocking +** attempt to set the lock. +*/ +#ifndef SQLITE_ENABLE_SETLK_TIMEOUT +# define osSetPosixAdvisoryLock(h,x,t) osFcntl(h,F_SETLK,x) +#else +static int osSetPosixAdvisoryLock( + int h, /* The file descriptor on which to take the lock */ + struct flock *pLock, /* The description of the lock */ + unixFile *pFile /* Structure holding timeout value */ +){ + int rc = osFcntl(h,F_SETLK,pLock); + while( rc<0 && pFile->iBusyTimeout>0 ){ + /* On systems that support some kind of blocking file lock with a timeout, + ** make appropriate changes here to invoke that blocking file lock. On + ** generic posix, however, there is no such API. So we simply try the + ** lock once every millisecond until either the timeout expires, or until + ** the lock is obtained. */ + usleep(1000); + rc = osFcntl(h,F_SETLK,pLock); + pFile->iBusyTimeout--; + } + return rc; +} +#endif /* SQLITE_ENABLE_SETLK_TIMEOUT */ + + /* ** Attempt to set a system-lock on the file pFile. The lock is ** described by pLock. @@ -32226,8 +33920,8 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ static int unixFileLock(unixFile *pFile, struct flock *pLock){ int rc; unixInodeInfo *pInode = pFile->pInode; - assert( unixMutexHeld() ); assert( pInode!=0 ); + assert( sqlite3_mutex_held(pInode->pLockMutex) ); if( (pFile->ctrlFlags & (UNIXFILE_EXCL|UNIXFILE_RDONLY))==UNIXFILE_EXCL ){ if( pInode->bProcessLock==0 ){ struct flock lock; @@ -32236,7 +33930,7 @@ static int unixFileLock(unixFile *pFile, struct flock *pLock){ lock.l_start = SHARED_FIRST; lock.l_len = SHARED_SIZE; lock.l_type = F_WRLCK; - rc = osFcntl(pFile->h, F_SETLK, &lock); + rc = osSetPosixAdvisoryLock(pFile->h, &lock, pFile); if( rc<0 ) return rc; pInode->bProcessLock = 1; pInode->nLock++; @@ -32244,7 +33938,7 @@ static int unixFileLock(unixFile *pFile, struct flock *pLock){ rc = 0; } }else{ - rc = osFcntl(pFile->h, F_SETLK, pLock); + rc = osSetPosixAdvisoryLock(pFile->h, pLock, pFile); } return rc; } @@ -32346,8 +34040,8 @@ static int unixLock(sqlite3_file *id, int eFileLock){ /* This mutex is needed because pFile->pInode is shared across threads */ - unixEnterMutex(); pInode = pFile->pInode; + sqlite3_mutex_enter(pInode->pLockMutex); /* If some thread using this PID has a lock via a different unixFile* ** handle that precludes the requested lock, return BUSY. @@ -32490,7 +34184,7 @@ static int unixLock(sqlite3_file *id, int eFileLock){ } end_lock: - unixLeaveMutex(); + sqlite3_mutex_leave(pInode->pLockMutex); OSTRACE(("LOCK %d %s %s (unix)\n", pFile->h, azFileLock(eFileLock), rc==SQLITE_OK ? "ok" : "failed")); return rc; @@ -32503,11 +34197,11 @@ static int unixLock(sqlite3_file *id, int eFileLock){ static void setPendingFd(unixFile *pFile){ unixInodeInfo *pInode = pFile->pInode; UnixUnusedFd *p = pFile->pPreallocatedUnused; + assert( unixFileMutexHeld(pFile) ); p->pNext = pInode->pUnused; pInode->pUnused = p; pFile->h = -1; pFile->pPreallocatedUnused = 0; - nUnusedFd++; } /* @@ -32538,8 +34232,8 @@ static int posixUnlock(sqlite3_file *id, int eFileLock, int handleNFSUnlock){ if( pFile->eFileLock<=eFileLock ){ return SQLITE_OK; } - unixEnterMutex(); pInode = pFile->pInode; + sqlite3_mutex_enter(pInode->pLockMutex); assert( pInode->nShared!=0 ); if( pFile->eFileLock>SHARED_LOCK ){ assert( pInode->eFileLock==pFile->eFileLock ); @@ -32665,14 +34359,14 @@ static int posixUnlock(sqlite3_file *id, int eFileLock, int handleNFSUnlock){ */ pInode->nLock--; assert( pInode->nLock>=0 ); - if( pInode->nLock==0 ){ - closePendingFds(pFile); - } + if( pInode->nLock==0 ) closePendingFds(pFile); } end_unlock: - unixLeaveMutex(); - if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock; + sqlite3_mutex_leave(pInode->pLockMutex); + if( rc==SQLITE_OK ){ + pFile->eFileLock = eFileLock; + } return rc; } @@ -32743,15 +34437,20 @@ static int closeUnixFile(sqlite3_file *id){ static int unixClose(sqlite3_file *id){ int rc = SQLITE_OK; unixFile *pFile = (unixFile *)id; + unixInodeInfo *pInode = pFile->pInode; + + assert( pInode!=0 ); verifyDbFile(pFile); unixUnlock(id, NO_LOCK); + assert( unixFileMutexNotheld(pFile) ); unixEnterMutex(); /* unixFile.pInode is always valid here. Otherwise, a different close ** routine (e.g. nolockClose()) would be called instead. */ assert( pFile->pInode->nLock>0 || pFile->pInode->bProcessLock==0 ); - if( ALWAYS(pFile->pInode) && pFile->pInode->nLock ){ + sqlite3_mutex_enter(pInode->pLockMutex); + if( pInode->nLock ){ /* If there are outstanding locks, do not actually close the file just ** yet because that would clear those locks. Instead, add the file ** descriptor to pInode->pUnused list. It will be automatically closed @@ -32759,6 +34458,7 @@ static int unixClose(sqlite3_file *id){ */ setPendingFd(pFile); } + sqlite3_mutex_leave(pInode->pLockMutex); releaseInodeInfo(pFile); rc = closeUnixFile(id); unixLeaveMutex(); @@ -33356,6 +35056,7 @@ static int semXClose(sqlite3_file *id) { unixFile *pFile = (unixFile*)id; semXUnlock(id, NO_LOCK); assert( pFile ); + assert( unixFileMutexNotheld(pFile) ); unixEnterMutex(); releaseInodeInfo(pFile); unixLeaveMutex(); @@ -33470,8 +35171,7 @@ static int afpCheckReservedLock(sqlite3_file *id, int *pResOut){ *pResOut = 1; return SQLITE_OK; } - unixEnterMutex(); /* Because pFile->pInode is shared across threads */ - + sqlite3_mutex_enter(pFile->pInode->pLockMutex); /* Check if a thread in this process holds such a lock */ if( pFile->pInode->eFileLock>SHARED_LOCK ){ reserved = 1; @@ -33495,7 +35195,7 @@ static int afpCheckReservedLock(sqlite3_file *id, int *pResOut){ } } - unixLeaveMutex(); + sqlite3_mutex_leave(pFile->pInode->pLockMutex); OSTRACE(("TEST WR-LOCK %d %d %d (afp)\n", pFile->h, rc, reserved)); *pResOut = reserved; @@ -33558,8 +35258,8 @@ static int afpLock(sqlite3_file *id, int eFileLock){ /* This mutex is needed because pFile->pInode is shared across threads */ - unixEnterMutex(); pInode = pFile->pInode; + sqlite3_mutex_enter(pInode->pLockMutex); /* If some thread using this PID has a lock via a different unixFile* ** handle that precludes the requested lock, return BUSY. @@ -33695,7 +35395,7 @@ static int afpLock(sqlite3_file *id, int eFileLock){ } afp_end_lock: - unixLeaveMutex(); + sqlite3_mutex_leave(pInode->pLockMutex); OSTRACE(("LOCK %d %s %s (afp)\n", pFile->h, azFileLock(eFileLock), rc==SQLITE_OK ? "ok" : "failed")); return rc; @@ -33727,8 +35427,8 @@ static int afpUnlock(sqlite3_file *id, int eFileLock) { if( pFile->eFileLock<=eFileLock ){ return SQLITE_OK; } - unixEnterMutex(); pInode = pFile->pInode; + sqlite3_mutex_enter(pInode->pLockMutex); assert( pInode->nShared!=0 ); if( pFile->eFileLock>SHARED_LOCK ){ assert( pInode->eFileLock==pFile->eFileLock ); @@ -33797,14 +35497,14 @@ static int afpUnlock(sqlite3_file *id, int eFileLock) { if( rc==SQLITE_OK ){ pInode->nLock--; assert( pInode->nLock>=0 ); - if( pInode->nLock==0 ){ - closePendingFds(pFile); - } + if( pInode->nLock==0 ) closePendingFds(pFile); } } - unixLeaveMutex(); - if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock; + sqlite3_mutex_leave(pInode->pLockMutex); + if( rc==SQLITE_OK ){ + pFile->eFileLock = eFileLock; + } return rc; } @@ -33816,14 +35516,20 @@ static int afpClose(sqlite3_file *id) { unixFile *pFile = (unixFile*)id; assert( id!=0 ); afpUnlock(id, NO_LOCK); + assert( unixFileMutexNotheld(pFile) ); unixEnterMutex(); - if( pFile->pInode && pFile->pInode->nLock ){ - /* If there are outstanding locks, do not actually close the file just - ** yet because that would clear those locks. Instead, add the file - ** descriptor to pInode->aPending. It will be automatically closed when - ** the last lock is cleared. - */ - setPendingFd(pFile); + if( pFile->pInode ){ + unixInodeInfo *pInode = pFile->pInode; + sqlite3_mutex_enter(pInode->pLockMutex); + if( pInode->nLock ){ + /* If there are outstanding locks, do not actually close the file just + ** yet because that would clear those locks. Instead, add the file + ** descriptor to pInode->aPending. It will be automatically closed when + ** the last lock is cleared. + */ + setPendingFd(pFile); + } + sqlite3_mutex_leave(pInode->pLockMutex); } releaseInodeInfo(pFile); sqlite3_free(pFile->lockingContext); @@ -34478,7 +36184,7 @@ static int fcntlSizeHint(unixFile *pFile, i64 nByte){ do{ err = osFallocate(pFile->h, buf.st_size, nSize-buf.st_size); }while( err==EINTR ); - if( err ) return SQLITE_IOERR_WRITE; + if( err && err!=EINVAL ) return SQLITE_IOERR_WRITE; #else /* If the OS does not have posix_fallocate(), fake it. Write a ** single byte to the last byte in each block that falls entirely @@ -34604,6 +36310,12 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){ *(int*)pArg = fileHasMoved(pFile); return SQLITE_OK; } +#ifdef SQLITE_ENABLE_SETLK_TIMEOUT + case SQLITE_FCNTL_LOCK_TIMEOUT: { + pFile->iBusyTimeout = *(int*)pArg; + return SQLITE_OK; + } +#endif #if SQLITE_MAX_MMAP_SIZE>0 case SQLITE_FCNTL_MMAP_SIZE: { i64 newLimit = *(i64*)pArg; @@ -34837,18 +36549,18 @@ static int unixGetpagesize(void){ ** ** The following fields are read-only after the object is created: ** -** fid +** hShm ** zFilename ** -** Either unixShmNode.mutex must be held or unixShmNode.nRef==0 and +** Either unixShmNode.pShmMutex must be held or unixShmNode.nRef==0 and ** unixMutexHeld() is true when reading or writing any other field ** in this structure. */ struct unixShmNode { unixInodeInfo *pInode; /* unixInodeInfo that owns this SHM node */ - sqlite3_mutex *mutex; /* Mutex to access this object */ + sqlite3_mutex *pShmMutex; /* Mutex to access this object */ char *zFilename; /* Name of the mmapped file */ - int h; /* Open file descriptor */ + int hShm; /* Open file descriptor */ int szRegion; /* Size of shared-memory regions */ u16 nRegion; /* Size of array apRegion */ u8 isReadonly; /* True if read-only */ @@ -34870,16 +36582,16 @@ struct unixShmNode { ** The following fields are initialized when this object is created and ** are read-only thereafter: ** -** unixShm.pFile +** unixShm.pShmNode ** unixShm.id ** -** All other fields are read/write. The unixShm.pFile->mutex must be held -** while accessing any read/write fields. +** All other fields are read/write. The unixShm.pShmNode->pShmMutex must +** be held while accessing any read/write fields. */ struct unixShm { unixShmNode *pShmNode; /* The underlying unixShmNode object */ unixShm *pNext; /* Next unixShm with the same unixShmNode */ - u8 hasMutex; /* True if holding the unixShmNode mutex */ + u8 hasMutex; /* True if holding the unixShmNode->pShmMutex */ u8 id; /* Id of this connection within its unixShmNode */ u16 sharedMask; /* Mask of shared locks held */ u16 exclMask; /* Mask of exclusive locks held */ @@ -34909,7 +36621,8 @@ static int unixShmSystemLock( /* Access to the unixShmNode object is serialized by the caller */ pShmNode = pFile->pInode->pShmNode; - assert( pShmNode->nRef==0 || sqlite3_mutex_held(pShmNode->mutex) ); + assert( pShmNode->nRef==0 || sqlite3_mutex_held(pShmNode->pShmMutex) ); + assert( pShmNode->nRef>0 || unixMutexHeld() ); /* Shared locks never span more than one byte */ assert( n==1 || lockType!=F_RDLCK ); @@ -34917,15 +36630,13 @@ static int unixShmSystemLock( /* Locks are within range */ assert( n>=1 && n<=SQLITE_SHM_NLOCK ); - if( pShmNode->h>=0 ){ + if( pShmNode->hShm>=0 ){ /* Initialize the locking parameters */ - memset(&f, 0, sizeof(f)); f.l_type = lockType; f.l_whence = SEEK_SET; f.l_start = ofst; f.l_len = n; - - rc = osFcntl(pShmNode->h, F_SETLK, &f); + rc = osSetPosixAdvisoryLock(pShmNode->hShm, &f, pFile); rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY; } @@ -34997,18 +36708,18 @@ static void unixShmPurge(unixFile *pFd){ int nShmPerMap = unixShmRegionPerMap(); int i; assert( p->pInode==pFd->pInode ); - sqlite3_mutex_free(p->mutex); + sqlite3_mutex_free(p->pShmMutex); for(i=0; inRegion; i+=nShmPerMap){ - if( p->h>=0 ){ + if( p->hShm>=0 ){ osMunmap(p->apRegion[i], p->szRegion); }else{ sqlite3_free(p->apRegion[i]); } } sqlite3_free(p->apRegion); - if( p->h>=0 ){ - robust_close(pFd, p->h, __LINE__); - p->h = -1; + if( p->hShm>=0 ){ + robust_close(pFd, p->hShm, __LINE__); + p->hShm = -1; } p->pInode->pShmNode = 0; sqlite3_free(p); @@ -35050,7 +36761,7 @@ static int unixLockSharedMemory(unixFile *pDbFd, unixShmNode *pShmNode){ lock.l_start = UNIX_SHM_DMS; lock.l_len = 1; lock.l_type = F_WRLCK; - if( osFcntl(pShmNode->h, F_GETLK, &lock)!=0 ) { + if( osFcntl(pShmNode->hShm, F_GETLK, &lock)!=0 ) { rc = SQLITE_IOERR_LOCK; }else if( lock.l_type==F_UNLCK ){ if( pShmNode->isReadonly ){ @@ -35058,7 +36769,12 @@ static int unixLockSharedMemory(unixFile *pDbFd, unixShmNode *pShmNode){ rc = SQLITE_READONLY_CANTINIT; }else{ rc = unixShmSystemLock(pDbFd, F_WRLCK, UNIX_SHM_DMS, 1); - if( rc==SQLITE_OK && robust_ftruncate(pShmNode->h, 0) ){ + /* The first connection to attach must truncate the -shm file. We + ** truncate to 3 bytes (an arbitrary small number, less than the + ** -shm header size) rather than 0 as a system debugging aid, to + ** help detect if a -shm file truncation is legitimate or is the work + ** or a rogue process. */ + if( rc==SQLITE_OK && robust_ftruncate(pShmNode->hShm, 3) ){ rc = unixLogError(SQLITE_IOERR_SHMOPEN,"ftruncate",pShmNode->zFilename); } } @@ -35125,6 +36841,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ /* Check to see if a unixShmNode object already exists. Reuse an existing ** one if present. Create a new one if necessary. */ + assert( unixFileMutexNotheld(pDbFd) ); unixEnterMutex(); pInode = pDbFd->pInode; pShmNode = pInode->pShmNode; @@ -35163,12 +36880,12 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ sqlite3_snprintf(nShmFilename, zShm, "%s-shm", zBasePath); sqlite3FileSuffix3(pDbFd->zPath, zShm); #endif - pShmNode->h = -1; + pShmNode->hShm = -1; pDbFd->pInode->pShmNode = pShmNode; pShmNode->pInode = pDbFd->pInode; if( sqlite3GlobalConfig.bCoreMutex ){ - pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); - if( pShmNode->mutex==0 ){ + pShmNode->pShmMutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); + if( pShmNode->pShmMutex==0 ){ rc = SQLITE_NOMEM_BKPT; goto shm_open_err; } @@ -35176,11 +36893,11 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ if( pInode->bProcessLock==0 ){ if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){ - pShmNode->h = robust_open(zShm, O_RDWR|O_CREAT, (sStat.st_mode&0777)); + pShmNode->hShm = robust_open(zShm, O_RDWR|O_CREAT,(sStat.st_mode&0777)); } - if( pShmNode->h<0 ){ - pShmNode->h = robust_open(zShm, O_RDONLY, (sStat.st_mode&0777)); - if( pShmNode->h<0 ){ + if( pShmNode->hShm<0 ){ + pShmNode->hShm = robust_open(zShm, O_RDONLY, (sStat.st_mode&0777)); + if( pShmNode->hShm<0 ){ rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zShm); goto shm_open_err; } @@ -35191,7 +36908,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ ** is owned by the same user that owns the original database. Otherwise, ** the original owner will not be able to connect. */ - robustFchown(pShmNode->h, sStat.st_uid, sStat.st_gid); + robustFchown(pShmNode->hShm, sStat.st_uid, sStat.st_gid); rc = unixLockSharedMemory(pDbFd, pShmNode); if( rc!=SQLITE_OK && rc!=SQLITE_READONLY_CANTINIT ) goto shm_open_err; @@ -35211,13 +36928,13 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ ** the cover of the unixEnterMutex() mutex and the pointer from the ** new (struct unixShm) object to the pShmNode has been set. All that is ** left to do is to link the new object into the linked list starting - ** at pShmNode->pFirst. This must be done while holding the pShmNode->mutex - ** mutex. + ** at pShmNode->pFirst. This must be done while holding the + ** pShmNode->pShmMutex. */ - sqlite3_mutex_enter(pShmNode->mutex); + sqlite3_mutex_enter(pShmNode->pShmMutex); p->pNext = pShmNode->pFirst; pShmNode->pFirst = p; - sqlite3_mutex_leave(pShmNode->mutex); + sqlite3_mutex_leave(pShmNode->pShmMutex); return rc; /* Jump here on any error */ @@ -35269,7 +36986,7 @@ static int unixShmMap( p = pDbFd->pShm; pShmNode = p->pShmNode; - sqlite3_mutex_enter(pShmNode->mutex); + sqlite3_mutex_enter(pShmNode->pShmMutex); if( pShmNode->isUnlocked ){ rc = unixLockSharedMemory(pDbFd, pShmNode); if( rc!=SQLITE_OK ) goto shmpage_out; @@ -35277,8 +36994,8 @@ static int unixShmMap( } assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 ); assert( pShmNode->pInode==pDbFd->pInode ); - assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); - assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); + assert( pShmNode->hShm>=0 || pDbFd->pInode->bProcessLock==1 ); + assert( pShmNode->hShm<0 || pDbFd->pInode->bProcessLock==0 ); /* Minimum number of regions required to be mapped. */ nReqRegion = ((iRegion+nShmPerMap) / nShmPerMap) * nShmPerMap; @@ -35290,12 +37007,12 @@ static int unixShmMap( pShmNode->szRegion = szRegion; - if( pShmNode->h>=0 ){ + if( pShmNode->hShm>=0 ){ /* The requested region is not mapped into this processes address space. ** Check to see if it has been allocated (i.e. if the wal-index file is ** large enough to contain the requested region). */ - if( osFstat(pShmNode->h, &sStat) ){ + if( osFstat(pShmNode->hShm, &sStat) ){ rc = SQLITE_IOERR_SHMSIZE; goto shmpage_out; } @@ -35323,7 +37040,7 @@ static int unixShmMap( assert( (nByte % pgsz)==0 ); for(iPg=(sStat.st_size/pgsz); iPg<(nByte/pgsz); iPg++){ int x = 0; - if( seekAndWriteFd(pShmNode->h, iPg*pgsz + pgsz-1, "", 1, &x)!=1 ){ + if( seekAndWriteFd(pShmNode->hShm, iPg*pgsz + pgsz-1,"",1,&x)!=1 ){ const char *zFile = pShmNode->zFilename; rc = unixLogError(SQLITE_IOERR_SHMSIZE, "write", zFile); goto shmpage_out; @@ -35346,22 +37063,22 @@ static int unixShmMap( int nMap = szRegion*nShmPerMap; int i; void *pMem; - if( pShmNode->h>=0 ){ + if( pShmNode->hShm>=0 ){ pMem = osMmap(0, nMap, pShmNode->isReadonly ? PROT_READ : PROT_READ|PROT_WRITE, - MAP_SHARED, pShmNode->h, szRegion*(i64)pShmNode->nRegion + MAP_SHARED, pShmNode->hShm, szRegion*(i64)pShmNode->nRegion ); if( pMem==MAP_FAILED ){ rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename); goto shmpage_out; } }else{ - pMem = sqlite3_malloc64(szRegion); + pMem = sqlite3_malloc64(nMap); if( pMem==0 ){ rc = SQLITE_NOMEM_BKPT; goto shmpage_out; } - memset(pMem, 0, szRegion); + memset(pMem, 0, nMap); } for(i=0; iisReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY; - sqlite3_mutex_leave(pShmNode->mutex); + sqlite3_mutex_leave(pShmNode->pShmMutex); return rc; } @@ -35412,12 +37129,12 @@ static int unixShmLock( || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED) || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE) ); assert( n==1 || (flags & SQLITE_SHM_EXCLUSIVE)!=0 ); - assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); - assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); + assert( pShmNode->hShm>=0 || pDbFd->pInode->bProcessLock==1 ); + assert( pShmNode->hShm<0 || pDbFd->pInode->bProcessLock==0 ); mask = (1<<(ofst+n)) - (1<1 || mask==(1<mutex); + sqlite3_mutex_enter(pShmNode->pShmMutex); if( flags & SQLITE_SHM_UNLOCK ){ u16 allMask = 0; /* Mask of locks held by siblings */ @@ -35490,7 +37207,7 @@ static int unixShmLock( } } } - sqlite3_mutex_leave(pShmNode->mutex); + sqlite3_mutex_leave(pShmNode->pShmMutex); OSTRACE(("SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n", p->id, osGetpid(0), p->sharedMask, p->exclMask)); return rc; @@ -35507,6 +37224,9 @@ static void unixShmBarrier( ){ UNUSED_PARAMETER(fd); sqlite3MemoryBarrier(); /* compiler-defined memory barrier */ + assert( fd->pMethods->xLock==nolockLock + || unixFileMutexNotheld((unixFile*)fd) + ); unixEnterMutex(); /* Also mutex, for redundancy */ unixLeaveMutex(); } @@ -35537,22 +37257,23 @@ static int unixShmUnmap( /* Remove connection p from the set of connections associated ** with pShmNode */ - sqlite3_mutex_enter(pShmNode->mutex); + sqlite3_mutex_enter(pShmNode->pShmMutex); for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){} *pp = p->pNext; /* Free the connection p */ sqlite3_free(p); pDbFd->pShm = 0; - sqlite3_mutex_leave(pShmNode->mutex); + sqlite3_mutex_leave(pShmNode->pShmMutex); /* If pShmNode->nRef has reached 0, then close the underlying ** shared-memory file, too */ + assert( unixFileMutexNotheld(pDbFd) ); unixEnterMutex(); assert( pShmNode->nRef>0 ); pShmNode->nRef--; if( pShmNode->nRef==0 ){ - if( deleteFlag && pShmNode->h>=0 ){ + if( deleteFlag && pShmNode->hShm>=0 ){ osUnlink(pShmNode->zFilename); } unixShmPurge(pDbFd); @@ -35874,7 +37595,7 @@ IOMETHODS( IOMETHODS( nolockIoFinder, /* Finder function name */ nolockIoMethods, /* sqlite3_io_methods object name */ - 3, /* shared memory is disabled */ + 3, /* shared memory and mmap are enabled */ nolockClose, /* xClose method */ nolockLock, /* xLock method */ nolockUnlock, /* xUnlock method */ @@ -36370,7 +38091,7 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ ** ** Even if a subsequent open() call does succeed, the consequences of ** not searching for a reusable file descriptor are not dire. */ - if( nUnusedFd>0 && 0==osStat(zPath, &sStat) ){ + if( inodeList!=0 && 0==osStat(zPath, &sStat) ){ unixInodeInfo *pInode; pInode = inodeList; @@ -36380,12 +38101,14 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ } if( pInode ){ UnixUnusedFd **pp; + assert( sqlite3_mutex_notheld(pInode->pLockMutex) ); + sqlite3_mutex_enter(pInode->pLockMutex); for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); pUnused = *pp; if( pUnused ){ - nUnusedFd--; *pp = pUnused->pNext; } + sqlite3_mutex_leave(pInode->pLockMutex); } } unixLeaveMutex(); @@ -36590,7 +38313,6 @@ static int unixOpen( randomnessPid = osGetpid(0); sqlite3_randomness(0,0); } - memset(p, 0, sizeof(unixFile)); if( eType==SQLITE_OPEN_MAIN_DB ){ @@ -38465,6 +40187,7 @@ SQLITE_API int sqlite3_os_init(void){ for(i=0; i<(sizeof(aVfs)/sizeof(sqlite3_vfs)); i++){ sqlite3_vfs_register(&aVfs[i], i==0); } + unixBigLock = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1); return SQLITE_OK; } @@ -38476,6 +40199,7 @@ SQLITE_API int sqlite3_os_init(void){ ** This routine is a no-op for unix. */ SQLITE_API int sqlite3_os_end(void){ + unixBigLock = 0; return SQLITE_OK; } @@ -38967,8 +40691,7 @@ struct winFile { int nFetchOut; /* Number of outstanding xFetch references */ HANDLE hMap; /* Handle for accessing memory mapping */ void *pMapRegion; /* Area memory mapped */ - sqlite3_int64 mmapSize; /* Usable size of mapped region */ - sqlite3_int64 mmapSizeActual; /* Actual size of mapped region */ + sqlite3_int64 mmapSize; /* Size of mapped region */ sqlite3_int64 mmapSizeMax; /* Configured FCNTL_MMAP_SIZE value */ #endif }; @@ -38998,22 +40721,6 @@ struct winVfsAppData { # define SQLITE_WIN32_DBG_BUF_SIZE ((int)(4096-sizeof(DWORD))) #endif -/* - * The value used with sqlite3_win32_set_directory() to specify that - * the data directory should be changed. - */ -#ifndef SQLITE_WIN32_DATA_DIRECTORY_TYPE -# define SQLITE_WIN32_DATA_DIRECTORY_TYPE (1) -#endif - -/* - * The value used with sqlite3_win32_set_directory() to specify that - * the temporary directory should be changed. - */ -#ifndef SQLITE_WIN32_TEMP_DIRECTORY_TYPE -# define SQLITE_WIN32_TEMP_DIRECTORY_TYPE (2) -#endif - /* * If compiled with SQLITE_WIN32_MALLOC on Windows, we will use the * various Win32 API heap functions instead of our own. @@ -40610,13 +42317,13 @@ SQLITE_API char *sqlite3_win32_utf8_to_mbcs_v2(const char *zText, int useAnsi){ } /* -** This function sets the data directory or the temporary directory based on -** the provided arguments. The type argument must be 1 in order to set the -** data directory or 2 in order to set the temporary directory. The zValue -** argument is the name of the directory to use. The return value will be -** SQLITE_OK if successful. +** This function is the same as sqlite3_win32_set_directory (below); however, +** it accepts a UTF-8 string. */ -SQLITE_API int sqlite3_win32_set_directory(DWORD type, LPCWSTR zValue){ +SQLITE_API int sqlite3_win32_set_directory8( + unsigned long type, /* Identifier for directory being set or reset */ + const char *zValue /* New value for directory being set or reset */ +){ char **ppDirectory = 0; #ifndef SQLITE_OMIT_AUTOINIT int rc = sqlite3_initialize(); @@ -40632,20 +42339,53 @@ SQLITE_API int sqlite3_win32_set_directory(DWORD type, LPCWSTR zValue){ ); assert( !ppDirectory || sqlite3MemdebugHasType(*ppDirectory, MEMTYPE_HEAP) ); if( ppDirectory ){ - char *zValueUtf8 = 0; + char *zCopy = 0; if( zValue && zValue[0] ){ - zValueUtf8 = winUnicodeToUtf8(zValue); - if ( zValueUtf8==0 ){ + zCopy = sqlite3_mprintf("%s", zValue); + if ( zCopy==0 ){ return SQLITE_NOMEM_BKPT; } } sqlite3_free(*ppDirectory); - *ppDirectory = zValueUtf8; + *ppDirectory = zCopy; return SQLITE_OK; } return SQLITE_ERROR; } +/* +** This function is the same as sqlite3_win32_set_directory (below); however, +** it accepts a UTF-16 string. +*/ +SQLITE_API int sqlite3_win32_set_directory16( + unsigned long type, /* Identifier for directory being set or reset */ + const void *zValue /* New value for directory being set or reset */ +){ + int rc; + char *zUtf8 = 0; + if( zValue ){ + zUtf8 = sqlite3_win32_unicode_to_utf8(zValue); + if( zUtf8==0 ) return SQLITE_NOMEM_BKPT; + } + rc = sqlite3_win32_set_directory8(type, zUtf8); + if( zUtf8 ) sqlite3_free(zUtf8); + return rc; +} + +/* +** This function sets the data directory or the temporary directory based on +** the provided arguments. The type argument must be 1 in order to set the +** data directory or 2 in order to set the temporary directory. The zValue +** argument is the name of the directory to use. The return value will be +** SQLITE_OK if successful. +*/ +SQLITE_API int sqlite3_win32_set_directory( + unsigned long type, /* Identifier for directory being set or reset */ + void *zValue /* New value for directory being set or reset */ +){ + return sqlite3_win32_set_directory16(type, zValue); +} + /* ** The return value of winGetLastErrorMsg ** is zero if the error message fits in the buffer, or non-zero @@ -41570,6 +43310,29 @@ static int winTruncate(sqlite3_file *id, sqlite3_int64 nByte){ winFile *pFile = (winFile*)id; /* File handle object */ int rc = SQLITE_OK; /* Return code for this function */ DWORD lastErrno; +#if SQLITE_MAX_MMAP_SIZE>0 + sqlite3_int64 oldMmapSize; + if( pFile->nFetchOut>0 ){ + /* File truncation is a no-op if there are outstanding memory mapped + ** pages. This is because truncating the file means temporarily unmapping + ** the file, and that might delete memory out from under existing cursors. + ** + ** This can result in incremental vacuum not truncating the file, + ** if there is an active read cursor when the incremental vacuum occurs. + ** No real harm comes of this - the database file is not corrupted, + ** though some folks might complain that the file is bigger than it + ** needs to be. + ** + ** The only feasible work-around is to defer the truncation until after + ** all references to memory-mapped content are closed. That is doable, + ** but involves adding a few branches in the common write code path which + ** could slow down normal operations slightly. Hence, we have decided for + ** now to simply make trancations a no-op if there are pending reads. We + ** can maybe revisit this decision in the future. + */ + return SQLITE_OK; + } +#endif assert( pFile ); SimulateIOError(return SQLITE_IOERR_TRUNCATE); @@ -41585,6 +43348,15 @@ static int winTruncate(sqlite3_file *id, sqlite3_int64 nByte){ nByte = ((nByte + pFile->szChunk - 1)/pFile->szChunk) * pFile->szChunk; } +#if SQLITE_MAX_MMAP_SIZE>0 + if( pFile->pMapRegion ){ + oldMmapSize = pFile->mmapSize; + }else{ + oldMmapSize = 0; + } + winUnmapfile(pFile); +#endif + /* SetEndOfFile() returns non-zero when successful, or zero when it fails. */ if( winSeekFile(pFile, nByte) ){ rc = winLogError(SQLITE_IOERR_TRUNCATE, pFile->lastErrno, @@ -41597,12 +43369,12 @@ static int winTruncate(sqlite3_file *id, sqlite3_int64 nByte){ } #if SQLITE_MAX_MMAP_SIZE>0 - /* If the file was truncated to a size smaller than the currently - ** mapped region, reduce the effective mapping size as well. SQLite will - ** use read() and write() to access data beyond this point from now on. - */ - if( pFile->pMapRegion && nBytemmapSize ){ - pFile->mmapSize = nByte; + if( rc==SQLITE_OK && oldMmapSize>0 ){ + if( oldMmapSize>nByte ){ + winMapfile(pFile, -1); + }else{ + winMapfile(pFile, oldMmapSize); + } } #endif @@ -42314,15 +44086,16 @@ static SYSTEM_INFO winSysInfo; ** assert( winShmMutexHeld() ); ** winShmLeaveMutex() */ +static sqlite3_mutex *winBigLock = 0; static void winShmEnterMutex(void){ - sqlite3_mutex_enter(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + sqlite3_mutex_enter(winBigLock); } static void winShmLeaveMutex(void){ - sqlite3_mutex_leave(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + sqlite3_mutex_leave(winBigLock); } #ifndef NDEBUG static int winShmMutexHeld(void) { - return sqlite3_mutex_held(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1)); + return sqlite3_mutex_held(winBigLock); } #endif @@ -42987,9 +44760,9 @@ static int winShmMap( static int winUnmapfile(winFile *pFile){ assert( pFile!=0 ); OSTRACE(("UNMAP-FILE pid=%lu, pFile=%p, hMap=%p, pMapRegion=%p, " - "mmapSize=%lld, mmapSizeActual=%lld, mmapSizeMax=%lld\n", + "mmapSize=%lld, mmapSizeMax=%lld\n", osGetCurrentProcessId(), pFile, pFile->hMap, pFile->pMapRegion, - pFile->mmapSize, pFile->mmapSizeActual, pFile->mmapSizeMax)); + pFile->mmapSize, pFile->mmapSizeMax)); if( pFile->pMapRegion ){ if( !osUnmapViewOfFile(pFile->pMapRegion) ){ pFile->lastErrno = osGetLastError(); @@ -43001,7 +44774,6 @@ static int winUnmapfile(winFile *pFile){ } pFile->pMapRegion = 0; pFile->mmapSize = 0; - pFile->mmapSizeActual = 0; } if( pFile->hMap!=NULL ){ if( !osCloseHandle(pFile->hMap) ){ @@ -43112,7 +44884,6 @@ static int winMapfile(winFile *pFd, sqlite3_int64 nByte){ } pFd->pMapRegion = pNew; pFd->mmapSize = nMap; - pFd->mmapSizeActual = nMap; } OSTRACE(("MAP-FILE pid=%lu, pFile=%p, rc=SQLITE_OK\n", @@ -43914,7 +45685,6 @@ static int winOpen( pFile->hMap = NULL; pFile->pMapRegion = 0; pFile->mmapSize = 0; - pFile->mmapSizeActual = 0; pFile->mmapSizeMax = sqlite3GlobalConfig.szMmap; #endif @@ -44745,6 +46515,10 @@ SQLITE_API int sqlite3_os_init(void){ sqlite3_vfs_register(&winLongPathNolockVfs, 0); #endif +#ifndef SQLITE_OMIT_WAL + winBigLock = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1); +#endif + return SQLITE_OK; } @@ -44755,12 +46529,609 @@ SQLITE_API int sqlite3_os_end(void){ sleepObj = NULL; } #endif + +#ifndef SQLITE_OMIT_WAL + winBigLock = 0; +#endif + return SQLITE_OK; } #endif /* SQLITE_OS_WIN */ /************** End of os_win.c **********************************************/ +/************** Begin file memdb.c *******************************************/ +/* +** 2016-09-07 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** This file implements an in-memory VFS. A database is held as a contiguous +** block of memory. +** +** This file also implements interface sqlite3_serialize() and +** sqlite3_deserialize(). +*/ +/* #include "sqliteInt.h" */ +#ifdef SQLITE_ENABLE_DESERIALIZE + +/* +** Forward declaration of objects used by this utility +*/ +typedef struct sqlite3_vfs MemVfs; +typedef struct MemFile MemFile; + +/* Access to a lower-level VFS that (might) implement dynamic loading, +** access to randomness, etc. +*/ +#define ORIGVFS(p) ((sqlite3_vfs*)((p)->pAppData)) + +/* An open file */ +struct MemFile { + sqlite3_file base; /* IO methods */ + sqlite3_int64 sz; /* Size of the file */ + sqlite3_int64 szMax; /* Space allocated to aData */ + unsigned char *aData; /* content of the file */ + int nMmap; /* Number of memory mapped pages */ + unsigned mFlags; /* Flags */ + int eLock; /* Most recent lock against this file */ +}; + +/* +** Methods for MemFile +*/ +static int memdbClose(sqlite3_file*); +static int memdbRead(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst); +static int memdbWrite(sqlite3_file*,const void*,int iAmt, sqlite3_int64 iOfst); +static int memdbTruncate(sqlite3_file*, sqlite3_int64 size); +static int memdbSync(sqlite3_file*, int flags); +static int memdbFileSize(sqlite3_file*, sqlite3_int64 *pSize); +static int memdbLock(sqlite3_file*, int); +/* static int memdbCheckReservedLock(sqlite3_file*, int *pResOut);// not used */ +static int memdbFileControl(sqlite3_file*, int op, void *pArg); +/* static int memdbSectorSize(sqlite3_file*); // not used */ +static int memdbDeviceCharacteristics(sqlite3_file*); +static int memdbFetch(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp); +static int memdbUnfetch(sqlite3_file*, sqlite3_int64 iOfst, void *p); + +/* +** Methods for MemVfs +*/ +static int memdbOpen(sqlite3_vfs*, const char *, sqlite3_file*, int , int *); +/* static int memdbDelete(sqlite3_vfs*, const char *zName, int syncDir); */ +static int memdbAccess(sqlite3_vfs*, const char *zName, int flags, int *); +static int memdbFullPathname(sqlite3_vfs*, const char *zName, int, char *zOut); +static void *memdbDlOpen(sqlite3_vfs*, const char *zFilename); +static void memdbDlError(sqlite3_vfs*, int nByte, char *zErrMsg); +static void (*memdbDlSym(sqlite3_vfs *pVfs, void *p, const char*zSym))(void); +static void memdbDlClose(sqlite3_vfs*, void*); +static int memdbRandomness(sqlite3_vfs*, int nByte, char *zOut); +static int memdbSleep(sqlite3_vfs*, int microseconds); +/* static int memdbCurrentTime(sqlite3_vfs*, double*); */ +static int memdbGetLastError(sqlite3_vfs*, int, char *); +static int memdbCurrentTimeInt64(sqlite3_vfs*, sqlite3_int64*); + +static sqlite3_vfs memdb_vfs = { + 2, /* iVersion */ + 0, /* szOsFile (set when registered) */ + 1024, /* mxPathname */ + 0, /* pNext */ + "memdb", /* zName */ + 0, /* pAppData (set when registered) */ + memdbOpen, /* xOpen */ + 0, /* memdbDelete, */ /* xDelete */ + memdbAccess, /* xAccess */ + memdbFullPathname, /* xFullPathname */ + memdbDlOpen, /* xDlOpen */ + memdbDlError, /* xDlError */ + memdbDlSym, /* xDlSym */ + memdbDlClose, /* xDlClose */ + memdbRandomness, /* xRandomness */ + memdbSleep, /* xSleep */ + 0, /* memdbCurrentTime, */ /* xCurrentTime */ + memdbGetLastError, /* xGetLastError */ + memdbCurrentTimeInt64 /* xCurrentTimeInt64 */ +}; + +static const sqlite3_io_methods memdb_io_methods = { + 3, /* iVersion */ + memdbClose, /* xClose */ + memdbRead, /* xRead */ + memdbWrite, /* xWrite */ + memdbTruncate, /* xTruncate */ + memdbSync, /* xSync */ + memdbFileSize, /* xFileSize */ + memdbLock, /* xLock */ + memdbLock, /* xUnlock - same as xLock in this case */ + 0, /* memdbCheckReservedLock, */ /* xCheckReservedLock */ + memdbFileControl, /* xFileControl */ + 0, /* memdbSectorSize,*/ /* xSectorSize */ + memdbDeviceCharacteristics, /* xDeviceCharacteristics */ + 0, /* xShmMap */ + 0, /* xShmLock */ + 0, /* xShmBarrier */ + 0, /* xShmUnmap */ + memdbFetch, /* xFetch */ + memdbUnfetch /* xUnfetch */ +}; + + + +/* +** Close an memdb-file. +** +** The pData pointer is owned by the application, so there is nothing +** to free. +*/ +static int memdbClose(sqlite3_file *pFile){ + MemFile *p = (MemFile *)pFile; + if( p->mFlags & SQLITE_DESERIALIZE_FREEONCLOSE ) sqlite3_free(p->aData); + return SQLITE_OK; +} + +/* +** Read data from an memdb-file. +*/ +static int memdbRead( + sqlite3_file *pFile, + void *zBuf, + int iAmt, + sqlite_int64 iOfst +){ + MemFile *p = (MemFile *)pFile; + if( iOfst+iAmt>p->sz ){ + memset(zBuf, 0, iAmt); + if( iOfstsz ) memcpy(zBuf, p->aData+iOfst, p->sz - iOfst); + return SQLITE_IOERR_SHORT_READ; + } + memcpy(zBuf, p->aData+iOfst, iAmt); + return SQLITE_OK; +} + +/* +** Try to enlarge the memory allocation to hold at least sz bytes +*/ +static int memdbEnlarge(MemFile *p, sqlite3_int64 newSz){ + unsigned char *pNew; + if( (p->mFlags & SQLITE_DESERIALIZE_RESIZEABLE)==0 || p->nMmap>0 ){ + return SQLITE_FULL; + } + pNew = sqlite3_realloc64(p->aData, newSz); + if( pNew==0 ) return SQLITE_NOMEM; + p->aData = pNew; + p->szMax = newSz; + return SQLITE_OK; +} + +/* +** Write data to an memdb-file. +*/ +static int memdbWrite( + sqlite3_file *pFile, + const void *z, + int iAmt, + sqlite_int64 iOfst +){ + MemFile *p = (MemFile *)pFile; + if( iOfst+iAmt>p->sz ){ + int rc; + if( iOfst+iAmt>p->szMax + && (rc = memdbEnlarge(p, (iOfst+iAmt)*2))!=SQLITE_OK + ){ + return rc; + } + if( iOfst>p->sz ) memset(p->aData+p->sz, 0, iOfst-p->sz); + p->sz = iOfst+iAmt; + } + memcpy(p->aData+iOfst, z, iAmt); + return SQLITE_OK; +} + +/* +** Truncate an memdb-file. +** +** In rollback mode (which is always the case for memdb, as it does not +** support WAL mode) the truncate() method is only used to reduce +** the size of a file, never to increase the size. +*/ +static int memdbTruncate(sqlite3_file *pFile, sqlite_int64 size){ + MemFile *p = (MemFile *)pFile; + if( NEVER(size>p->sz) ) return SQLITE_FULL; + p->sz = size; + return SQLITE_OK; +} + +/* +** Sync an memdb-file. +*/ +static int memdbSync(sqlite3_file *pFile, int flags){ + return SQLITE_OK; +} + +/* +** Return the current file-size of an memdb-file. +*/ +static int memdbFileSize(sqlite3_file *pFile, sqlite_int64 *pSize){ + MemFile *p = (MemFile *)pFile; + *pSize = p->sz; + return SQLITE_OK; +} + +/* +** Lock an memdb-file. +*/ +static int memdbLock(sqlite3_file *pFile, int eLock){ + MemFile *p = (MemFile *)pFile; + p->eLock = eLock; + return SQLITE_OK; +} + +#if 0 /* Never used because memdbAccess() always returns false */ +/* +** Check if another file-handle holds a RESERVED lock on an memdb-file. +*/ +static int memdbCheckReservedLock(sqlite3_file *pFile, int *pResOut){ + *pResOut = 0; + return SQLITE_OK; +} +#endif + +/* +** File control method. For custom operations on an memdb-file. +*/ +static int memdbFileControl(sqlite3_file *pFile, int op, void *pArg){ + MemFile *p = (MemFile *)pFile; + int rc = SQLITE_NOTFOUND; + if( op==SQLITE_FCNTL_VFSNAME ){ + *(char**)pArg = sqlite3_mprintf("memdb(%p,%lld)", p->aData, p->sz); + rc = SQLITE_OK; + } + return rc; +} + +#if 0 /* Not used because of SQLITE_IOCAP_POWERSAFE_OVERWRITE */ +/* +** Return the sector-size in bytes for an memdb-file. +*/ +static int memdbSectorSize(sqlite3_file *pFile){ + return 1024; +} +#endif + +/* +** Return the device characteristic flags supported by an memdb-file. +*/ +static int memdbDeviceCharacteristics(sqlite3_file *pFile){ + return SQLITE_IOCAP_ATOMIC | + SQLITE_IOCAP_POWERSAFE_OVERWRITE | + SQLITE_IOCAP_SAFE_APPEND | + SQLITE_IOCAP_SEQUENTIAL; +} + +/* Fetch a page of a memory-mapped file */ +static int memdbFetch( + sqlite3_file *pFile, + sqlite3_int64 iOfst, + int iAmt, + void **pp +){ + MemFile *p = (MemFile *)pFile; + p->nMmap++; + *pp = (void*)(p->aData + iOfst); + return SQLITE_OK; +} + +/* Release a memory-mapped page */ +static int memdbUnfetch(sqlite3_file *pFile, sqlite3_int64 iOfst, void *pPage){ + MemFile *p = (MemFile *)pFile; + p->nMmap--; + return SQLITE_OK; +} + +/* +** Open an mem file handle. +*/ +static int memdbOpen( + sqlite3_vfs *pVfs, + const char *zName, + sqlite3_file *pFile, + int flags, + int *pOutFlags +){ + MemFile *p = (MemFile*)pFile; + if( (flags & SQLITE_OPEN_MAIN_DB)==0 ){ + return ORIGVFS(pVfs)->xOpen(ORIGVFS(pVfs), zName, pFile, flags, pOutFlags); + } + memset(p, 0, sizeof(*p)); + p->mFlags = SQLITE_DESERIALIZE_RESIZEABLE | SQLITE_DESERIALIZE_FREEONCLOSE; + assert( pOutFlags!=0 ); /* True because flags==SQLITE_OPEN_MAIN_DB */ + *pOutFlags = flags | SQLITE_OPEN_MEMORY; + p->base.pMethods = &memdb_io_methods; + return SQLITE_OK; +} + +#if 0 /* Only used to delete rollback journals, master journals, and WAL + ** files, none of which exist in memdb. So this routine is never used */ +/* +** Delete the file located at zPath. If the dirSync argument is true, +** ensure the file-system modifications are synced to disk before +** returning. +*/ +static int memdbDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){ + return SQLITE_IOERR_DELETE; +} +#endif + +/* +** Test for access permissions. Return true if the requested permission +** is available, or false otherwise. +** +** With memdb, no files ever exist on disk. So always return false. +*/ +static int memdbAccess( + sqlite3_vfs *pVfs, + const char *zPath, + int flags, + int *pResOut +){ + *pResOut = 0; + return SQLITE_OK; +} + +/* +** Populate buffer zOut with the full canonical pathname corresponding +** to the pathname in zPath. zOut is guaranteed to point to a buffer +** of at least (INST_MAX_PATHNAME+1) bytes. +*/ +static int memdbFullPathname( + sqlite3_vfs *pVfs, + const char *zPath, + int nOut, + char *zOut +){ + sqlite3_snprintf(nOut, zOut, "%s", zPath); + return SQLITE_OK; +} + +/* +** Open the dynamic library located at zPath and return a handle. +*/ +static void *memdbDlOpen(sqlite3_vfs *pVfs, const char *zPath){ + return ORIGVFS(pVfs)->xDlOpen(ORIGVFS(pVfs), zPath); +} + +/* +** Populate the buffer zErrMsg (size nByte bytes) with a human readable +** utf-8 string describing the most recent error encountered associated +** with dynamic libraries. +*/ +static void memdbDlError(sqlite3_vfs *pVfs, int nByte, char *zErrMsg){ + ORIGVFS(pVfs)->xDlError(ORIGVFS(pVfs), nByte, zErrMsg); +} + +/* +** Return a pointer to the symbol zSymbol in the dynamic library pHandle. +*/ +static void (*memdbDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void){ + return ORIGVFS(pVfs)->xDlSym(ORIGVFS(pVfs), p, zSym); +} + +/* +** Close the dynamic library handle pHandle. +*/ +static void memdbDlClose(sqlite3_vfs *pVfs, void *pHandle){ + ORIGVFS(pVfs)->xDlClose(ORIGVFS(pVfs), pHandle); +} + +/* +** Populate the buffer pointed to by zBufOut with nByte bytes of +** random data. +*/ +static int memdbRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufOut){ + return ORIGVFS(pVfs)->xRandomness(ORIGVFS(pVfs), nByte, zBufOut); +} + +/* +** Sleep for nMicro microseconds. Return the number of microseconds +** actually slept. +*/ +static int memdbSleep(sqlite3_vfs *pVfs, int nMicro){ + return ORIGVFS(pVfs)->xSleep(ORIGVFS(pVfs), nMicro); +} + +#if 0 /* Never used. Modern cores only call xCurrentTimeInt64() */ +/* +** Return the current time as a Julian Day number in *pTimeOut. +*/ +static int memdbCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut){ + return ORIGVFS(pVfs)->xCurrentTime(ORIGVFS(pVfs), pTimeOut); +} +#endif + +static int memdbGetLastError(sqlite3_vfs *pVfs, int a, char *b){ + return ORIGVFS(pVfs)->xGetLastError(ORIGVFS(pVfs), a, b); +} +static int memdbCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *p){ + return ORIGVFS(pVfs)->xCurrentTimeInt64(ORIGVFS(pVfs), p); +} + +/* +** Translate a database connection pointer and schema name into a +** MemFile pointer. +*/ +static MemFile *memdbFromDbSchema(sqlite3 *db, const char *zSchema){ + MemFile *p = 0; + int rc = sqlite3_file_control(db, zSchema, SQLITE_FCNTL_FILE_POINTER, &p); + if( rc ) return 0; + if( p->base.pMethods!=&memdb_io_methods ) return 0; + return p; +} + +/* +** Return the serialization of a database +*/ +SQLITE_API unsigned char *sqlite3_serialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which database within the connection */ + sqlite3_int64 *piSize, /* Write size here, if not NULL */ + unsigned int mFlags /* Maybe SQLITE_SERIALIZE_NOCOPY */ +){ + MemFile *p; + int iDb; + Btree *pBt; + sqlite3_int64 sz; + int szPage = 0; + sqlite3_stmt *pStmt = 0; + unsigned char *pOut; + char *zSql; + int rc; + +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ){ + (void)SQLITE_MISUSE_BKPT; + return 0; + } +#endif + + if( zSchema==0 ) zSchema = db->aDb[0].zDbSName; + p = memdbFromDbSchema(db, zSchema); + iDb = sqlite3FindDbName(db, zSchema); + if( piSize ) *piSize = -1; + if( iDb<0 ) return 0; + if( p ){ + if( piSize ) *piSize = p->sz; + if( mFlags & SQLITE_SERIALIZE_NOCOPY ){ + pOut = p->aData; + }else{ + pOut = sqlite3_malloc64( p->sz ); + if( pOut ) memcpy(pOut, p->aData, p->sz); + } + return pOut; + } + pBt = db->aDb[iDb].pBt; + if( pBt==0 ) return 0; + szPage = sqlite3BtreeGetPageSize(pBt); + zSql = sqlite3_mprintf("PRAGMA \"%w\".page_count", zSchema); + rc = zSql ? sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0) : SQLITE_NOMEM; + sqlite3_free(zSql); + if( rc ) return 0; + rc = sqlite3_step(pStmt); + if( rc!=SQLITE_ROW ){ + pOut = 0; + }else{ + sz = sqlite3_column_int64(pStmt, 0)*szPage; + if( piSize ) *piSize = sz; + if( mFlags & SQLITE_SERIALIZE_NOCOPY ){ + pOut = 0; + }else{ + pOut = sqlite3_malloc64( sz ); + if( pOut ){ + int nPage = sqlite3_column_int(pStmt, 0); + Pager *pPager = sqlite3BtreePager(pBt); + int pgno; + for(pgno=1; pgno<=nPage; pgno++){ + DbPage *pPage = 0; + unsigned char *pTo = pOut + szPage*(sqlite3_int64)(pgno-1); + rc = sqlite3PagerGet(pPager, pgno, (DbPage**)&pPage, 0); + if( rc==SQLITE_OK ){ + memcpy(pTo, sqlite3PagerGetData(pPage), szPage); + }else{ + memset(pTo, 0, szPage); + } + sqlite3PagerUnref(pPage); + } + } + } + } + sqlite3_finalize(pStmt); + return pOut; +} + +/* Convert zSchema to a MemDB and initialize its content. +*/ +SQLITE_API int sqlite3_deserialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to reopen with the deserialization */ + unsigned char *pData, /* The serialized database content */ + sqlite3_int64 szDb, /* Number bytes in the deserialization */ + sqlite3_int64 szBuf, /* Total size of buffer pData[] */ + unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */ +){ + MemFile *p; + char *zSql; + sqlite3_stmt *pStmt = 0; + int rc; + int iDb; + +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ){ + return SQLITE_MISUSE_BKPT; + } + if( szDb<0 ) return SQLITE_MISUSE_BKPT; + if( szBuf<0 ) return SQLITE_MISUSE_BKPT; +#endif + + sqlite3_mutex_enter(db->mutex); + if( zSchema==0 ) zSchema = db->aDb[0].zDbSName; + iDb = sqlite3FindDbName(db, zSchema); + if( iDb<0 ){ + rc = SQLITE_ERROR; + goto end_deserialize; + } + zSql = sqlite3_mprintf("ATTACH x AS %Q", zSchema); + rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0); + sqlite3_free(zSql); + if( rc ) goto end_deserialize; + db->init.iDb = (u8)iDb; + db->init.reopenMemdb = 1; + rc = sqlite3_step(pStmt); + db->init.reopenMemdb = 0; + if( rc!=SQLITE_DONE ){ + rc = SQLITE_ERROR; + goto end_deserialize; + } + p = memdbFromDbSchema(db, zSchema); + if( p==0 ){ + rc = SQLITE_ERROR; + }else{ + p->aData = pData; + p->sz = szDb; + p->szMax = szBuf; + p->mFlags = mFlags; + rc = SQLITE_OK; + } + +end_deserialize: + sqlite3_finalize(pStmt); + sqlite3_mutex_leave(db->mutex); + return rc; +} + +/* +** This routine is called when the extension is loaded. +** Register the new VFS. +*/ +SQLITE_PRIVATE int sqlite3MemdbInit(void){ + sqlite3_vfs *pLower = sqlite3_vfs_find(0); + int sz = pLower->szOsFile; + memdb_vfs.pAppData = pLower; + /* In all known configurations of SQLite, the size of a default + ** sqlite3_file is greater than the size of a memdb sqlite3_file. + ** Should that ever change, remove the following NEVER() */ + if( NEVER(szpgno, pgno, - sqlite3GlobalConfig.pcache.xPagecount(pCache->pCache), + sqlite3GlobalConfig.pcache2.xPagecount(pCache->pCache), numberOfCachePages(pCache)); #endif pcacheTrace(("%p.SPILL %d\n",pCache,pPg->pgno)); @@ -46034,6 +48405,15 @@ SQLITE_PRIVATE int sqlite3PCachePercentDirty(PCache *pCache){ return nCache ? (int)(((i64)nDirty * 100) / nCache) : 0; } +#ifdef SQLITE_DIRECT_OVERFLOW_READ +/* +** Return true if there are one or more dirty pages in the cache. Else false. +*/ +SQLITE_PRIVATE int sqlite3PCacheIsDirty(PCache *pCache){ + return (pCache->pDirty!=0); +} +#endif + #if defined(SQLITE_CHECK_PAGES) || defined(SQLITE_DEBUG) /* ** For all dirty pages currently in the cache, invoke the specified @@ -46157,7 +48537,8 @@ struct PgHdr1 { }; /* -** A page is pinned if it is no on the LRU list +** A page is pinned if it is not on the LRU list. To be "pinned" means +** that the page is in active use and must not be deallocated. */ #define PAGE_IS_PINNED(p) ((p)->pLruNext==0) #define PAGE_IS_UNPINNED(p) ((p)->pLruNext!=0) @@ -47437,30 +49818,23 @@ struct RowSet { #define ROWSET_NEXT 0x02 /* True if sqlite3RowSetNext() has been called */ /* -** Turn bulk memory into a RowSet object. N bytes of memory -** are available at pSpace. The db pointer is used as a memory context -** for any subsequent allocations that need to occur. -** Return a pointer to the new RowSet object. -** -** It must be the case that N is sufficient to make a Rowset. If not -** an assertion fault occurs. -** -** If N is larger than the minimum, use the surplus as an initial -** allocation of entries available to be filled. +** Allocate a RowSet object. Return NULL if a memory allocation +** error occurs. */ -SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3 *db, void *pSpace, unsigned int N){ - RowSet *p; - assert( N >= ROUND8(sizeof(*p)) ); - p = pSpace; - p->pChunk = 0; - p->db = db; - p->pEntry = 0; - p->pLast = 0; - p->pForest = 0; - p->pFresh = (struct RowSetEntry*)(ROUND8(sizeof(*p)) + (char*)p); - p->nFresh = (u16)((N - ROUND8(sizeof(*p)))/sizeof(struct RowSetEntry)); - p->rsFlags = ROWSET_SORTED; - p->iBatch = 0; +SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3 *db){ + RowSet *p = sqlite3DbMallocRawNN(db, sizeof(*p)); + if( p ){ + int N = sqlite3DbMallocSize(db, p); + p->pChunk = 0; + p->db = db; + p->pEntry = 0; + p->pLast = 0; + p->pForest = 0; + p->pFresh = (struct RowSetEntry*)(ROUND8(sizeof(*p)) + (char*)p); + p->nFresh = (u16)((N - ROUND8(sizeof(*p)))/sizeof(struct RowSetEntry)); + p->rsFlags = ROWSET_SORTED; + p->iBatch = 0; + } return p; } @@ -47469,7 +49843,8 @@ SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3 *db, void *pSpace, unsigned int ** the RowSet has allocated over its lifetime. This routine is ** the destructor for the RowSet. */ -SQLITE_PRIVATE void sqlite3RowSetClear(RowSet *p){ +SQLITE_PRIVATE void sqlite3RowSetClear(void *pArg){ + RowSet *p = (RowSet*)pArg; struct RowSetChunk *pChunk, *pNextChunk; for(pChunk=p->pChunk; pChunk; pChunk = pNextChunk){ pNextChunk = pChunk->pNextChunk; @@ -47483,6 +49858,16 @@ SQLITE_PRIVATE void sqlite3RowSetClear(RowSet *p){ p->rsFlags = ROWSET_SORTED; } +/* +** Deallocate all chunks from a RowSet. This frees all memory that +** the RowSet has allocated over its lifetime. This routine is +** the destructor for the RowSet. +*/ +SQLITE_PRIVATE void sqlite3RowSetDelete(void *pArg){ + sqlite3RowSetClear(pArg); + sqlite3DbFree(((RowSet*)pArg)->db, pArg); +} + /* ** Allocate a new RowSetEntry object that is associated with the ** given RowSet. Return a pointer to the new and completely uninitialized @@ -47970,6 +50355,8 @@ SQLITE_PRIVATE int sqlite3WalHeapMemory(Wal *pWal); SQLITE_PRIVATE int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapshot); SQLITE_PRIVATE void sqlite3WalSnapshotOpen(Wal *pWal, sqlite3_snapshot *pSnapshot); SQLITE_PRIVATE int sqlite3WalSnapshotRecover(Wal *pWal); +SQLITE_PRIVATE int sqlite3WalSnapshotCheck(Wal *pWal, sqlite3_snapshot *pSnapshot); +SQLITE_PRIVATE void sqlite3WalSnapshotUnlock(Wal *pWal); #endif #ifdef SQLITE_ENABLE_ZIPVFS @@ -48665,7 +51052,7 @@ struct Pager { char *zJournal; /* Name of the journal file */ int (*xBusyHandler)(void*); /* Function to call when busy */ void *pBusyHandlerArg; /* Context argument for xBusyHandler */ - int aStat[3]; /* Total cache hits, misses and writes */ + int aStat[4]; /* Total cache hits, misses, writes, spills */ #ifdef SQLITE_TEST int nRead; /* Database pages read */ #endif @@ -48693,6 +51080,7 @@ struct Pager { #define PAGER_STAT_HIT 0 #define PAGER_STAT_MISS 1 #define PAGER_STAT_WRITE 2 +#define PAGER_STAT_SPILL 3 /* ** The following global variables hold counters used for @@ -48790,19 +51178,30 @@ static const unsigned char aJournalMagic[] = { */ #define isOpen(pFd) ((pFd)->pMethods!=0) +#ifdef SQLITE_DIRECT_OVERFLOW_READ /* -** Return true if this pager uses a write-ahead log to read page pgno. -** Return false if the pager reads pgno directly from the database. +** Return true if page pgno can be read directly from the database file +** by the b-tree layer. This is the case if: +** +** * the database file is open, +** * there are no dirty pages in the cache, and +** * the desired page is not currently in the wal file. */ -#if !defined(SQLITE_OMIT_WAL) && defined(SQLITE_DIRECT_OVERFLOW_READ) -SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager, Pgno pgno){ - u32 iRead = 0; - int rc; - if( pPager->pWal==0 ) return 0; - rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iRead); - return rc || iRead; +SQLITE_PRIVATE int sqlite3PagerDirectReadOk(Pager *pPager, Pgno pgno){ + if( pPager->fd->pMethods==0 ) return 0; + if( sqlite3PCacheIsDirty(pPager->pPCache) ) return 0; +#ifndef SQLITE_OMIT_WAL + if( pPager->pWal ){ + u32 iRead = 0; + int rc; + rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iRead); + return (rc==SQLITE_OK && iRead==0); + } +#endif + return 1; } #endif + #ifndef SQLITE_OMIT_WAL # define pagerUseWal(x) ((x)->pWal!=0) #else @@ -48962,8 +51361,12 @@ static int assert_pager_state(Pager *p){ ** to "print *pPager" in gdb: ** ** (gdb) printf "%s", print_pager_state(pPager) +** +** This routine has external linkage in order to suppress compiler warnings +** about an unused function. It is enclosed within SQLITE_DEBUG and so does +** not appear in normal builds. */ -static char *print_pager_state(Pager *p){ +char *print_pager_state(Pager *p){ static char zRet[1024]; sqlite3_snprintf(1024, zRet, @@ -49179,7 +51582,7 @@ static int jrnlBufferSize(Pager *pPager){ #endif #ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE - if( dc&SQLITE_IOCAP_BATCH_ATOMIC ){ + if( pPager->dbSize>0 && (dc&SQLITE_IOCAP_BATCH_ATOMIC) ){ return -1; } #endif @@ -49729,7 +52132,6 @@ static void pager_reset(Pager *pPager){ ** Return the pPager->iDataVersion value */ SQLITE_PRIVATE u32 sqlite3PagerDataVersion(Pager *pPager){ - assert( pPager->eState>PAGER_OPEN ); return pPager->iDataVersion; } @@ -50095,7 +52497,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ rc = pager_truncate(pPager, pPager->dbSize); } - if( rc==SQLITE_OK && bCommit && isOpen(pPager->fd) ){ + if( rc==SQLITE_OK && bCommit ){ rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_COMMIT_PHASETWO, 0); if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK; } @@ -50914,9 +53316,7 @@ static int pager_playback(Pager *pPager, int isHot){ ** assertion that the transaction counter was modified. */ #ifdef SQLITE_DEBUG - if( pPager->fd->pMethods ){ - sqlite3OsFileControlHint(pPager->fd,SQLITE_FCNTL_DB_UNCHANGED,0); - } + sqlite3OsFileControlHint(pPager->fd,SQLITE_FCNTL_DB_UNCHANGED,0); #endif /* If this playback is happening automatically as a result of an IO or @@ -51669,20 +54069,18 @@ static int pagerOpentemp( ** retried. If it returns zero, then the SQLITE_BUSY error is ** returned to the caller of the pager API function. */ -SQLITE_PRIVATE void sqlite3PagerSetBusyhandler( +SQLITE_PRIVATE void sqlite3PagerSetBusyHandler( Pager *pPager, /* Pager object */ int (*xBusyHandler)(void *), /* Pointer to busy-handler function */ void *pBusyHandlerArg /* Argument to pass to xBusyHandler */ ){ + void **ap; pPager->xBusyHandler = xBusyHandler; pPager->pBusyHandlerArg = pBusyHandlerArg; - - if( isOpen(pPager->fd) ){ - void **ap = (void **)&pPager->xBusyHandler; - assert( ((int(*)(void *))(ap[0]))==xBusyHandler ); - assert( ap[1]==pBusyHandlerArg ); - sqlite3OsFileControlHint(pPager->fd, SQLITE_FCNTL_BUSYHANDLER, (void *)ap); - } + ap = (void **)&pPager->xBusyHandler; + assert( ((int(*)(void *))(ap[0]))==xBusyHandler ); + assert( ap[1]==pBusyHandlerArg ); + sqlite3OsFileControlHint(pPager->fd, SQLITE_FCNTL_BUSYHANDLER, (void *)ap); } /* @@ -52068,6 +54466,30 @@ static void pagerFreeMapHdrs(Pager *pPager){ } } +/* Verify that the database file has not be deleted or renamed out from +** under the pager. Return SQLITE_OK if the database is still where it ought +** to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error +** code from sqlite3OsAccess()) if the database has gone missing. +*/ +static int databaseIsUnmoved(Pager *pPager){ + int bHasMoved = 0; + int rc; + + if( pPager->tempFile ) return SQLITE_OK; + if( pPager->dbSize==0 ) return SQLITE_OK; + assert( pPager->zFilename && pPager->zFilename[0] ); + rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_HAS_MOVED, &bHasMoved); + if( rc==SQLITE_NOTFOUND ){ + /* If the HAS_MOVED file-control is unimplemented, assume that the file + ** has not been moved. That is the historical behavior of SQLite: prior to + ** version 3.8.3, it never checked */ + rc = SQLITE_OK; + }else if( rc==SQLITE_OK && bHasMoved ){ + rc = SQLITE_READONLY_DBMOVED; + } + return rc; +} + /* ** Shutdown the page cache. Free all memory and close all files. @@ -52084,8 +54506,7 @@ static void pagerFreeMapHdrs(Pager *pPager){ ** to the caller. */ SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager, sqlite3 *db){ - u8 *pTmp = (u8 *)pPager->pTmpSpace; - + u8 *pTmp = (u8*)pPager->pTmpSpace; assert( db || pagerUseWal(pPager)==0 ); assert( assert_pager_state(pPager) ); disable_simulated_io_errors(); @@ -52094,11 +54515,17 @@ SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager, sqlite3 *db){ /* pPager->errCode = 0; */ pPager->exclusiveMode = 0; #ifndef SQLITE_OMIT_WAL - assert( db || pPager->pWal==0 ); - sqlite3WalClose(pPager->pWal, db, pPager->walSyncFlags, pPager->pageSize, - (db && (db->flags & SQLITE_NoCkptOnClose) ? 0 : pTmp) - ); - pPager->pWal = 0; + { + u8 *a = 0; + assert( db || pPager->pWal==0 ); + if( db && 0==(db->flags & SQLITE_NoCkptOnClose) + && SQLITE_OK==databaseIsUnmoved(pPager) + ){ + a = pTmp; + } + sqlite3WalClose(pPager->pWal, db, pPager->walSyncFlags, pPager->pageSize,a); + pPager->pWal = 0; + } #endif pager_reset(pPager); if( MEMDB ){ @@ -52555,6 +54982,7 @@ static int pagerStress(void *p, PgHdr *pPg){ return SQLITE_OK; } + pPager->aStat[PAGER_STAT_SPILL]++; pPg->pDirty = 0; if( pagerUseWal(pPager) ){ /* Write a single frame for this page to the log. */ @@ -52660,6 +55088,11 @@ SQLITE_PRIVATE int sqlite3PagerOpen( int rc = SQLITE_OK; /* Return code */ int tempFile = 0; /* True for temp files (incl. in-memory files) */ int memDb = 0; /* True if this is an in-memory file */ +#ifdef SQLITE_ENABLE_DESERIALIZE + int memJM = 0; /* Memory journal mode */ +#else +# define memJM 0 +#endif int readOnly = 0; /* True if this is a read-only file */ int journalFileSize; /* Bytes to allocate for each journal fd */ char *zPathname = 0; /* Full path to database file */ @@ -52787,7 +55220,10 @@ SQLITE_PRIVATE int sqlite3PagerOpen( int fout = 0; /* VFS flags returned by xOpen() */ rc = sqlite3OsOpen(pVfs, pPager->zFilename, pPager->fd, vfsFlags, &fout); assert( !memDb ); - readOnly = (fout&SQLITE_OPEN_READONLY); +#ifdef SQLITE_ENABLE_DESERIALIZE + memJM = (fout&SQLITE_OPEN_MEMORY)!=0; +#endif + readOnly = (fout&SQLITE_OPEN_READONLY)!=0; /* If the file was successfully opened for read/write access, ** choose a default page size in case we have to create the @@ -52918,7 +55354,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( setSectorSize(pPager); if( !useJournal ){ pPager->journalMode = PAGER_JOURNALMODE_OFF; - }else if( memDb ){ + }else if( memDb || memJM ){ pPager->journalMode = PAGER_JOURNALMODE_MEMORY; } /* pPager->xBusyHandler = 0; */ @@ -52933,30 +55369,6 @@ SQLITE_PRIVATE int sqlite3PagerOpen( } -/* Verify that the database file has not be deleted or renamed out from -** under the pager. Return SQLITE_OK if the database is still were it ought -** to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error -** code from sqlite3OsAccess()) if the database has gone missing. -*/ -static int databaseIsUnmoved(Pager *pPager){ - int bHasMoved = 0; - int rc; - - if( pPager->tempFile ) return SQLITE_OK; - if( pPager->dbSize==0 ) return SQLITE_OK; - assert( pPager->zFilename && pPager->zFilename[0] ); - rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_HAS_MOVED, &bHasMoved); - if( rc==SQLITE_NOTFOUND ){ - /* If the HAS_MOVED file-control is unimplemented, assume that the file - ** has not been moved. That is the historical behavior of SQLite: prior to - ** version 3.8.3, it never checked */ - rc = SQLITE_OK; - }else if( rc==SQLITE_OK && bHasMoved ){ - rc = SQLITE_READONLY_DBMOVED; - } - return rc; -} - /* ** This function is called after transitioning from PAGER_UNLOCK to @@ -53644,6 +56056,7 @@ SQLITE_PRIVATE void sqlite3PagerUnrefPageOne(DbPage *pPg){ assert( pPg->pgno==1 ); assert( (pPg->flags & PGHDR_MMAP)==0 ); /* Page1 is never memory mapped */ pPager = pPg->pPager; + sqlite3PagerResetLockTimeout(pPager); sqlite3PcacheRelease(pPg); pagerUnlockIfUnused(pPager); } @@ -54239,12 +56652,9 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ */ SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager, const char *zMaster){ int rc = SQLITE_OK; - - if( isOpen(pPager->fd) ){ - void *pArg = (void*)zMaster; - rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC, pArg); - if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK; - } + void *pArg = (void*)zMaster; + rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC, pArg); + if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK; if( rc==SQLITE_OK && !pPager->noSync ){ assert( !MEMDB ); rc = sqlite3OsSync(pPager->fd, pPager->syncFlags); @@ -54339,9 +56749,10 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( ** backup in progress needs to be restarted. */ sqlite3BackupRestart(pPager->pBackup); }else{ + PgHdr *pList; if( pagerUseWal(pPager) ){ - PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache); PgHdr *pPageOne = 0; + pList = sqlite3PcacheDirtyList(pPager->pPCache); if( pList==0 ){ /* Must have at least one page for the WAL commit flag. ** Ticket [2d1a5c67dfc2363e44f29d9bbd57f] 2011-05-18 */ @@ -54362,14 +56773,14 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( ** should be used. No rollback journal is created if batch-atomic-write ** is enabled. */ - sqlite3_file *fd = pPager->fd; #ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE - const int bBatch = zMaster==0 /* An SQLITE_IOCAP_BATCH_ATOMIC commit */ + sqlite3_file *fd = pPager->fd; + int bBatch = zMaster==0 /* An SQLITE_IOCAP_BATCH_ATOMIC commit */ && (sqlite3OsDeviceCharacteristics(fd) & SQLITE_IOCAP_BATCH_ATOMIC) && !pPager->noSync && sqlite3JournalIsInMemory(pPager->jfd); #else -# define bBatch 0 +# define bBatch 0 #endif #ifdef SQLITE_ENABLE_ATOMIC_WRITE @@ -54421,15 +56832,16 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( } } } -#else +#else /* SQLITE_ENABLE_ATOMIC_WRITE */ #ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE if( zMaster ){ rc = sqlite3JournalCreate(pPager->jfd); if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + assert( bBatch==0 ); } #endif rc = pager_incr_changecounter(pPager, 0); -#endif +#endif /* !SQLITE_ENABLE_ATOMIC_WRITE */ if( rc!=SQLITE_OK ) goto commit_phase_one_exit; /* Write the master journal name into the journal file. If a master @@ -54453,23 +56865,36 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( rc = syncJournal(pPager, 0); if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + pList = sqlite3PcacheDirtyList(pPager->pPCache); +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE if( bBatch ){ - /* The pager is now in DBMOD state. But regardless of what happens - ** next, attempting to play the journal back into the database would - ** be unsafe. Close it now to make sure that does not happen. */ - sqlite3OsClose(pPager->jfd); rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, 0); - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - } - rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache)); - if( bBatch ){ if( rc==SQLITE_OK ){ - rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, 0); + rc = pager_write_pagelist(pPager, pList); + if( rc==SQLITE_OK ){ + rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, 0); + } + if( rc!=SQLITE_OK ){ + sqlite3OsFileControlHint(fd, SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, 0); + } + } + + if( (rc&0xFF)==SQLITE_IOERR && rc!=SQLITE_IOERR_NOMEM ){ + rc = sqlite3JournalCreate(pPager->jfd); + if( rc!=SQLITE_OK ){ + sqlite3OsClose(pPager->jfd); + goto commit_phase_one_exit; + } + bBatch = 0; }else{ - sqlite3OsFileControl(fd, SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, 0); + sqlite3OsClose(pPager->jfd); } } +#endif /* SQLITE_ENABLE_BATCH_ATOMIC_WRITE */ + if( bBatch==0 ){ + rc = pager_write_pagelist(pPager, pList); + } if( rc!=SQLITE_OK ){ assert( rc!=SQLITE_IOERR_BLOCKED ); goto commit_phase_one_exit; @@ -54690,8 +57115,12 @@ SQLITE_PRIVATE int *sqlite3PagerStats(Pager *pPager){ #endif /* -** Parameter eStat must be either SQLITE_DBSTATUS_CACHE_HIT or -** SQLITE_DBSTATUS_CACHE_MISS. Before returning, *pnVal is incremented by the +** Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE, +** or _WRITE+1. The SQLITE_DBSTATUS_CACHE_WRITE+1 case is a translation +** of SQLITE_DBSTATUS_CACHE_SPILL. The _SPILL case is not contiguous because +** it was added later. +** +** Before returning, *pnVal is incremented by the ** current cache hit or miss count, according to the value of eStat. If the ** reset parameter is non-zero, the cache hit or miss count is zeroed before ** returning. @@ -54701,15 +57130,18 @@ SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *pPager, int eStat, int reset, i assert( eStat==SQLITE_DBSTATUS_CACHE_HIT || eStat==SQLITE_DBSTATUS_CACHE_MISS || eStat==SQLITE_DBSTATUS_CACHE_WRITE + || eStat==SQLITE_DBSTATUS_CACHE_WRITE+1 ); assert( SQLITE_DBSTATUS_CACHE_HIT+1==SQLITE_DBSTATUS_CACHE_MISS ); assert( SQLITE_DBSTATUS_CACHE_HIT+2==SQLITE_DBSTATUS_CACHE_WRITE ); - assert( PAGER_STAT_HIT==0 && PAGER_STAT_MISS==1 && PAGER_STAT_WRITE==2 ); + assert( PAGER_STAT_HIT==0 && PAGER_STAT_MISS==1 + && PAGER_STAT_WRITE==2 && PAGER_STAT_SPILL==3 ); - *pnVal += pPager->aStat[eStat - SQLITE_DBSTATUS_CACHE_HIT]; + eStat -= SQLITE_DBSTATUS_CACHE_HIT; + *pnVal += pPager->aStat[eStat]; if( reset ){ - pPager->aStat[eStat - SQLITE_DBSTATUS_CACHE_HIT] = 0; + pPager->aStat[eStat] = 0; } } @@ -54913,6 +57345,16 @@ SQLITE_PRIVATE sqlite3_file *sqlite3PagerFile(Pager *pPager){ return pPager->fd; } +#ifdef SQLITE_ENABLE_SETLK_TIMEOUT +/* +** Reset the lock timeout for pager. +*/ +SQLITE_PRIVATE void sqlite3PagerResetLockTimeout(Pager *pPager){ + int x = 0; + sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_LOCK_TIMEOUT, &x); +} +#endif + /* ** Return the file handle for the journal file (if it exists). ** This will be either the rollback journal or the WAL file. @@ -54943,7 +57385,11 @@ SQLITE_PRIVATE void sqlite3PagerSetCodec( void (*xCodecFree)(void*), void *pCodec ){ - if( pPager->xCodecFree ) pPager->xCodecFree(pPager->pCodec); + if( pPager->xCodecFree ){ + pPager->xCodecFree(pPager->pCodec); + }else{ + pager_reset(pPager); + } pPager->xCodec = pPager->memDb ? 0 : xCodec; pPager->xCodecSizeChng = xCodecSizeChng; pPager->xCodecFree = xCodecFree; @@ -55204,13 +57650,6 @@ SQLITE_PRIVATE int sqlite3PagerLockingMode(Pager *pPager, int eMode){ SQLITE_PRIVATE int sqlite3PagerSetJournalMode(Pager *pPager, int eMode){ u8 eOld = pPager->journalMode; /* Prior journalmode */ -#ifdef SQLITE_DEBUG - /* The print_pager_state() routine is intended to be used by the debugger - ** only. We invoke it once here to suppress a compiler warning. */ - print_pager_state(pPager); -#endif - - /* The eMode parameter is always valid */ assert( eMode==PAGER_JOURNALMODE_DELETE || eMode==PAGER_JOURNALMODE_TRUNCATE @@ -55373,6 +57812,7 @@ SQLITE_PRIVATE int sqlite3PagerCheckpoint( pPager->walSyncFlags, pPager->pageSize, (u8 *)pPager->pTmpSpace, pnLog, pnCkpt ); + sqlite3PagerResetLockTimeout(pPager); } return rc; } @@ -55578,6 +58018,38 @@ SQLITE_PRIVATE int sqlite3PagerSnapshotRecover(Pager *pPager){ } return rc; } + +/* +** The caller currently has a read transaction open on the database. +** If this is not a WAL database, SQLITE_ERROR is returned. Otherwise, +** this function takes a SHARED lock on the CHECKPOINTER slot and then +** checks if the snapshot passed as the second argument is still +** available. If so, SQLITE_OK is returned. +** +** If the snapshot is not available, SQLITE_ERROR is returned. Or, if +** the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error +** occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER +** lock is released before returning. +*/ +SQLITE_PRIVATE int sqlite3PagerSnapshotCheck(Pager *pPager, sqlite3_snapshot *pSnapshot){ + int rc; + if( pPager->pWal ){ + rc = sqlite3WalSnapshotCheck(pPager->pWal, pSnapshot); + }else{ + rc = SQLITE_ERROR; + } + return rc; +} + +/* +** Release a lock obtained by an earlier successful call to +** sqlite3PagerSnapshotCheck(). +*/ +SQLITE_PRIVATE void sqlite3PagerSnapshotUnlock(Pager *pPager){ + assert( pPager->pWal ); + return sqlite3WalSnapshotUnlock(pPager->pWal); +} + #endif /* SQLITE_ENABLE_SNAPSHOT */ #endif /* !SQLITE_OMIT_WAL */ @@ -55859,6 +58331,18 @@ SQLITE_PRIVATE int sqlite3WalTrace = 0; # define WALTRACE(X) #endif +/* +** WAL mode depends on atomic aligned 32-bit loads and stores in a few +** places. The following macros try to make this explicit. +*/ +#if GCC_VESRION>=5004000 +# define AtomicLoad(PTR) __atomic_load_n((PTR),__ATOMIC_RELAXED) +# define AtomicStore(PTR,VAL) __atomic_store_n((PTR),(VAL),__ATOMIC_RELAXED) +#else +# define AtomicLoad(PTR) (*(PTR)) +# define AtomicStore(PTR,VAL) (*(PTR) = (VAL)) +#endif + /* ** The maximum (and only) versions of the wal and wal-index formats ** that may be interpreted by this version of SQLite. @@ -56155,7 +58639,11 @@ struct WalIterator { ** page and SQLITE_OK is returned. If an error (an OOM or VFS error) occurs, ** then an SQLite error code is returned and *ppPage is set to 0. */ -static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ +static SQLITE_NOINLINE int walIndexPageRealloc( + Wal *pWal, /* The WAL context */ + int iPage, /* The page we seek */ + volatile u32 **ppPage /* Write the page pointer here */ +){ int rc = SQLITE_OK; /* Enlarge the pWal->apWiData[] array if required */ @@ -56174,21 +58662,20 @@ static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ } /* Request a pointer to the required page from the VFS */ - if( pWal->apWiData[iPage]==0 ){ - if( pWal->exclusiveMode==WAL_HEAPMEMORY_MODE ){ - pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ); - if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM_BKPT; - }else{ - rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, - pWal->writeLock, (void volatile **)&pWal->apWiData[iPage] - ); - assert( pWal->apWiData[iPage]!=0 || rc!=SQLITE_OK || pWal->writeLock==0 ); - testcase( pWal->apWiData[iPage]==0 && rc==SQLITE_OK ); - if( (rc&0xff)==SQLITE_READONLY ){ - pWal->readOnly |= WAL_SHM_RDONLY; - if( rc==SQLITE_READONLY ){ - rc = SQLITE_OK; - } + assert( pWal->apWiData[iPage]==0 ); + if( pWal->exclusiveMode==WAL_HEAPMEMORY_MODE ){ + pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ); + if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM_BKPT; + }else{ + rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, + pWal->writeLock, (void volatile **)&pWal->apWiData[iPage] + ); + assert( pWal->apWiData[iPage]!=0 || rc!=SQLITE_OK || pWal->writeLock==0 ); + testcase( pWal->apWiData[iPage]==0 && rc==SQLITE_OK ); + if( (rc&0xff)==SQLITE_READONLY ){ + pWal->readOnly |= WAL_SHM_RDONLY; + if( rc==SQLITE_READONLY ){ + rc = SQLITE_OK; } } } @@ -56197,6 +58684,16 @@ static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ assert( iPage==0 || *ppPage || rc!=SQLITE_OK ); return rc; } +static int walIndexPage( + Wal *pWal, /* The WAL context */ + int iPage, /* The page we seek */ + volatile u32 **ppPage /* Write the page pointer here */ +){ + if( pWal->nWiData<=iPage || (*ppPage = pWal->apWiData[iPage])==0 ){ + return walIndexPageRealloc(pWal, iPage, ppPage); + } + return SQLITE_OK; +} /* ** Return a pointer to the WalCkptInfo structure in the wal-index. @@ -56468,48 +58965,51 @@ static int walNextHash(int iPriorHash){ return (iPriorHash+1)&(HASHTABLE_NSLOT-1); } +/* +** An instance of the WalHashLoc object is used to describe the location +** of a page hash table in the wal-index. This becomes the return value +** from walHashGet(). +*/ +typedef struct WalHashLoc WalHashLoc; +struct WalHashLoc { + volatile ht_slot *aHash; /* Start of the wal-index hash table */ + volatile u32 *aPgno; /* aPgno[1] is the page of first frame indexed */ + u32 iZero; /* One less than the frame number of first indexed*/ +}; + /* ** Return pointers to the hash table and page number array stored on ** page iHash of the wal-index. The wal-index is broken into 32KB pages ** numbered starting from 0. ** -** Set output variable *paHash to point to the start of the hash table -** in the wal-index file. Set *piZero to one less than the frame +** Set output variable pLoc->aHash to point to the start of the hash table +** in the wal-index file. Set pLoc->iZero to one less than the frame ** number of the first frame indexed by this hash table. If a ** slot in the hash table is set to N, it refers to frame number -** (*piZero+N) in the log. +** (pLoc->iZero+N) in the log. ** -** Finally, set *paPgno so that *paPgno[1] is the page number of the -** first frame indexed by the hash table, frame (*piZero+1). +** Finally, set pLoc->aPgno so that pLoc->aPgno[1] is the page number of the +** first frame indexed by the hash table, frame (pLoc->iZero+1). */ static int walHashGet( Wal *pWal, /* WAL handle */ int iHash, /* Find the iHash'th table */ - volatile ht_slot **paHash, /* OUT: Pointer to hash index */ - volatile u32 **paPgno, /* OUT: Pointer to page number array */ - u32 *piZero /* OUT: Frame associated with *paPgno[0] */ + WalHashLoc *pLoc /* OUT: Hash table location */ ){ int rc; /* Return code */ - volatile u32 *aPgno; - rc = walIndexPage(pWal, iHash, &aPgno); + rc = walIndexPage(pWal, iHash, &pLoc->aPgno); assert( rc==SQLITE_OK || iHash>0 ); if( rc==SQLITE_OK ){ - u32 iZero; - volatile ht_slot *aHash; - - aHash = (volatile ht_slot *)&aPgno[HASHTABLE_NPAGE]; + pLoc->aHash = (volatile ht_slot *)&pLoc->aPgno[HASHTABLE_NPAGE]; if( iHash==0 ){ - aPgno = &aPgno[WALINDEX_HDR_SIZE/sizeof(u32)]; - iZero = 0; + pLoc->aPgno = &pLoc->aPgno[WALINDEX_HDR_SIZE/sizeof(u32)]; + pLoc->iZero = 0; }else{ - iZero = HASHTABLE_NPAGE_ONE + (iHash-1)*HASHTABLE_NPAGE; + pLoc->iZero = HASHTABLE_NPAGE_ONE + (iHash-1)*HASHTABLE_NPAGE; } - - *paPgno = &aPgno[-1]; - *paHash = aHash; - *piZero = iZero; + pLoc->aPgno = &pLoc->aPgno[-1]; } return rc; } @@ -56555,9 +59055,7 @@ static u32 walFramePgno(Wal *pWal, u32 iFrame){ ** actually needed. */ static void walCleanupHash(Wal *pWal){ - volatile ht_slot *aHash = 0; /* Pointer to hash table to clear */ - volatile u32 *aPgno = 0; /* Page number array for hash table */ - u32 iZero = 0; /* frame == (aHash[x]+iZero) */ + WalHashLoc sLoc; /* Hash table location */ int iLimit = 0; /* Zero values greater than this */ int nByte; /* Number of bytes to zero in aPgno[] */ int i; /* Used to iterate through aHash[] */ @@ -56575,24 +59073,24 @@ static void walCleanupHash(Wal *pWal){ */ assert( pWal->nWiData>walFramePage(pWal->hdr.mxFrame) ); assert( pWal->apWiData[walFramePage(pWal->hdr.mxFrame)] ); - walHashGet(pWal, walFramePage(pWal->hdr.mxFrame), &aHash, &aPgno, &iZero); + walHashGet(pWal, walFramePage(pWal->hdr.mxFrame), &sLoc); /* Zero all hash-table entries that correspond to frame numbers greater ** than pWal->hdr.mxFrame. */ - iLimit = pWal->hdr.mxFrame - iZero; + iLimit = pWal->hdr.mxFrame - sLoc.iZero; assert( iLimit>0 ); for(i=0; iiLimit ){ - aHash[i] = 0; + if( sLoc.aHash[i]>iLimit ){ + sLoc.aHash[i] = 0; } } /* Zero the entries in the aPgno array that correspond to frames with ** frame numbers greater than pWal->hdr.mxFrame. */ - nByte = (int)((char *)aHash - (char *)&aPgno[iLimit+1]); - memset((void *)&aPgno[iLimit+1], 0, nByte); + nByte = (int)((char *)sLoc.aHash - (char *)&sLoc.aPgno[iLimit+1]); + memset((void *)&sLoc.aPgno[iLimit+1], 0, nByte); #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT /* Verify that the every entry in the mapping region is still reachable @@ -56602,10 +59100,10 @@ static void walCleanupHash(Wal *pWal){ int j; /* Loop counter */ int iKey; /* Hash key */ for(j=1; j<=iLimit; j++){ - for(iKey=walHash(aPgno[j]); aHash[iKey]; iKey=walNextHash(iKey)){ - if( aHash[iKey]==j ) break; + for(iKey=walHash(sLoc.aPgno[j]);sLoc.aHash[iKey];iKey=walNextHash(iKey)){ + if( sLoc.aHash[iKey]==j ) break; } - assert( aHash[iKey]==j ); + assert( sLoc.aHash[iKey]==j ); } } #endif /* SQLITE_ENABLE_EXPENSIVE_ASSERT */ @@ -56618,11 +59116,9 @@ static void walCleanupHash(Wal *pWal){ */ static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ int rc; /* Return code */ - u32 iZero = 0; /* One less than frame number of aPgno[1] */ - volatile u32 *aPgno = 0; /* Page number array */ - volatile ht_slot *aHash = 0; /* Hash table */ + WalHashLoc sLoc; /* Wal-index hash table location */ - rc = walHashGet(pWal, walFramePage(iFrame), &aHash, &aPgno, &iZero); + rc = walHashGet(pWal, walFramePage(iFrame), &sLoc); /* Assuming the wal-index file was successfully mapped, populate the ** page number array and hash table entry. @@ -56632,15 +59128,16 @@ static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ int idx; /* Value to write to hash-table slot */ int nCollide; /* Number of hash collisions */ - idx = iFrame - iZero; + idx = iFrame - sLoc.iZero; assert( idx <= HASHTABLE_NSLOT/2 + 1 ); /* If this is the first entry to be added to this hash-table, zero the ** entire hash table and aPgno[] array before proceeding. */ if( idx==1 ){ - int nByte = (int)((u8 *)&aHash[HASHTABLE_NSLOT] - (u8 *)&aPgno[1]); - memset((void*)&aPgno[1], 0, nByte); + int nByte = (int)((u8 *)&sLoc.aHash[HASHTABLE_NSLOT] + - (u8 *)&sLoc.aPgno[1]); + memset((void*)&sLoc.aPgno[1], 0, nByte); } /* If the entry in aPgno[] is already set, then the previous writer @@ -56649,18 +59146,18 @@ static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ ** Remove the remnants of that writers uncommitted transaction from ** the hash-table before writing any new entries. */ - if( aPgno[idx] ){ + if( sLoc.aPgno[idx] ){ walCleanupHash(pWal); - assert( !aPgno[idx] ); + assert( !sLoc.aPgno[idx] ); } /* Write the aPgno[] array entry and the hash-table slot. */ nCollide = idx; - for(iKey=walHash(iPage); aHash[iKey]; iKey=walNextHash(iKey)){ + for(iKey=walHash(iPage); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){ if( (nCollide--)==0 ) return SQLITE_CORRUPT_BKPT; } - aPgno[idx] = iPage; - aHash[iKey] = (ht_slot)idx; + sLoc.aPgno[idx] = iPage; + sLoc.aHash[iKey] = (ht_slot)idx; #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT /* Verify that the number of entries in the hash table exactly equals @@ -56669,7 +59166,7 @@ static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ { int i; /* Loop counter */ int nEntry = 0; /* Number of entries in the hash table */ - for(i=0; iaSegment[p->nSegment])[iZero]; - iZero++; + aIndex = &((ht_slot *)&p->aSegment[p->nSegment])[sLoc.iZero]; + sLoc.iZero++; for(j=0; jaSegment[i].iZero = iZero; + walMergesort((u32 *)sLoc.aPgno, aTmp, aIndex, &nEntry); + p->aSegment[i].iZero = sLoc.iZero; p->aSegment[i].nEntry = nEntry; p->aSegment[i].aIndex = aIndex; - p->aSegment[i].aPgno = (u32 *)aPgno; + p->aSegment[i].aPgno = (u32 *)sLoc.aPgno; } } sqlite3_free(aTmp); if( rc!=SQLITE_OK ){ walIteratorFree(p); + p = 0; } *pp = p; return rc; @@ -57376,13 +59875,6 @@ static int walCheckpoint( pInfo = walCkptInfo(pWal); if( pInfo->nBackfillhdr.mxFrame ){ - /* Allocate the iterator */ - rc = walIteratorInit(pWal, &pIter); - if( rc!=SQLITE_OK ){ - return rc; - } - assert( pIter ); - /* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked ** in the SQLITE_CHECKPOINT_PASSIVE mode. */ assert( eMode!=SQLITE_CHECKPOINT_PASSIVE || xBusy==0 ); @@ -57419,10 +59911,15 @@ static int walCheckpoint( } } - if( pInfo->nBackfillnBackfillnBackfill, &pIter); + assert( rc==SQLITE_OK || pIter==0 ); + } + + if( pIter && (rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(0),1))==SQLITE_OK ){ - i64 nSize; /* Current size of database file */ u32 nBackfill = pInfo->nBackfill; pInfo->nBackfillAttempted = mxSafeFrame; @@ -57435,6 +59932,7 @@ static int walCheckpoint( */ if( rc==SQLITE_OK ){ i64 nReq = ((i64)mxPage * szPage); + i64 nSize; /* Current size of database file */ rc = sqlite3OsFileSize(pWal->pDbFd, &nSize); if( rc==SQLITE_OK && nSizepDbFd, SQLITE_FCNTL_SIZE_HINT, &nReq); @@ -58142,7 +60640,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ } #endif for(i=1; iaReadMark[i]; + u32 thisMark = AtomicLoad(pInfo->aReadMark+i); if( mxReadMark<=thisMark && thisMark<=mxFrame ){ assert( thisMark!=READMARK_NOT_USED ); mxReadMark = thisMark; @@ -58155,7 +60653,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ for(i=1; iaReadMark[i] = mxFrame; + mxReadMark = AtomicStore(pInfo->aReadMark+i,mxFrame); mxI = i; walUnlockExclusive(pWal, WAL_READ_LOCK(i), 1); break; @@ -58207,9 +60705,9 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ ** we can guarantee that the checkpointer that set nBackfill could not ** see any pages past pWal->hdr.mxFrame, this problem does not come up. */ - pWal->minFrame = pInfo->nBackfill+1; + pWal->minFrame = AtomicLoad(&pInfo->nBackfill)+1; walShmBarrier(pWal); - if( pInfo->aReadMark[mxI]!=mxReadMark + if( AtomicLoad(pInfo->aReadMark+mxI)!=mxReadMark || memcmp((void *)walIndexHdr(pWal), &pWal->hdr, sizeof(WalIndexHdr)) ){ walUnlockShared(pWal, WAL_READ_LOCK(mxI)); @@ -58260,16 +60758,14 @@ SQLITE_PRIVATE int sqlite3WalSnapshotRecover(Wal *pWal){ }else{ u32 i = pInfo->nBackfillAttempted; for(i=pInfo->nBackfillAttempted; i>pInfo->nBackfill; i--){ - volatile ht_slot *dummy; - volatile u32 *aPgno; /* Array of page numbers */ - u32 iZero; /* Frame corresponding to aPgno[0] */ + WalHashLoc sLoc; /* Hash table location */ u32 pgno; /* Page number in db file */ i64 iDbOff; /* Offset of db file entry */ i64 iWalOff; /* Offset of wal file entry */ - rc = walHashGet(pWal, walFramePage(i), &dummy, &aPgno, &iZero); + rc = walHashGet(pWal, walFramePage(i), &sLoc); if( rc!=SQLITE_OK ) break; - pgno = aPgno[i-iZero]; + pgno = sLoc.aPgno[i-sLoc.iZero]; iDbOff = (i64)(pgno-1) * szPage; if( iDbOff+szPage<=szDb ){ @@ -58310,7 +60806,7 @@ SQLITE_PRIVATE int sqlite3WalSnapshotRecover(Wal *pWal){ ** ** If the database contents have changes since the previous read ** transaction, then *pChanged is set to 1 before returning. The -** Pager layer will use this to know that is cache is stale and +** Pager layer will use this to know that its cache is stale and ** needs to be flushed. */ SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){ @@ -58372,7 +60868,7 @@ SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){ /* Check that the wal file has not been wrapped. Assuming that it has ** not, also check that no checkpointer has attempted to checkpoint any ** frames beyond pSnapshot->mxFrame. If either of these conditions are - ** true, return SQLITE_BUSY_SNAPSHOT. Otherwise, overwrite pWal->hdr + ** true, return SQLITE_ERROR_SNAPSHOT. Otherwise, overwrite pWal->hdr ** with *pSnapshot and set *pChanged as appropriate for opening the ** snapshot. */ if( !memcmp(pSnapshot->aSalt, pWal->hdr.aSalt, sizeof(pWal->hdr.aSalt)) @@ -58382,11 +60878,12 @@ SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){ memcpy(&pWal->hdr, pSnapshot, sizeof(WalIndexHdr)); *pChanged = bChanged; }else{ - rc = SQLITE_BUSY_SNAPSHOT; + rc = SQLITE_ERROR_SNAPSHOT; } /* Release the shared CKPT lock obtained above. */ walUnlockShared(pWal, WAL_CKPT_LOCK); + pWal->minFrame = 1; } @@ -58469,22 +60966,21 @@ SQLITE_PRIVATE int sqlite3WalFindFrame( ** table after the current read-transaction had started. */ iMinHash = walFramePage(pWal->minFrame); - for(iHash=walFramePage(iLast); iHash>=iMinHash && iRead==0; iHash--){ - volatile ht_slot *aHash; /* Pointer to hash table */ - volatile u32 *aPgno; /* Pointer to array of page numbers */ - u32 iZero; /* Frame number corresponding to aPgno[0] */ + for(iHash=walFramePage(iLast); iHash>=iMinHash; iHash--){ + WalHashLoc sLoc; /* Hash table location */ int iKey; /* Hash slot index */ int nCollide; /* Number of hash collisions remaining */ int rc; /* Error code */ - rc = walHashGet(pWal, iHash, &aHash, &aPgno, &iZero); + rc = walHashGet(pWal, iHash, &sLoc); if( rc!=SQLITE_OK ){ return rc; } nCollide = HASHTABLE_NSLOT; - for(iKey=walHash(pgno); aHash[iKey]; iKey=walNextHash(iKey)){ - u32 iFrame = aHash[iKey] + iZero; - if( iFrame<=iLast && iFrame>=pWal->minFrame && aPgno[aHash[iKey]]==pgno ){ + 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 ){ assert( iFrame>iRead || CORRUPT_DB ); iRead = iFrame; } @@ -58492,6 +60988,7 @@ SQLITE_PRIVATE int sqlite3WalFindFrame( return SQLITE_CORRUPT_BKPT; } } + if( iRead ) break; } #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT @@ -59358,6 +61855,43 @@ SQLITE_API int sqlite3_snapshot_cmp(sqlite3_snapshot *p1, sqlite3_snapshot *p2){ if( pHdr1->mxFrame>pHdr2->mxFrame ) return +1; return 0; } + +/* +** The caller currently has a read transaction open on the database. +** This function takes a SHARED lock on the CHECKPOINTER slot and then +** checks if the snapshot passed as the second argument is still +** available. If so, SQLITE_OK is returned. +** +** If the snapshot is not available, SQLITE_ERROR is returned. Or, if +** the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error +** occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER +** lock is released before returning. +*/ +SQLITE_PRIVATE int sqlite3WalSnapshotCheck(Wal *pWal, sqlite3_snapshot *pSnapshot){ + int rc; + rc = walLockShared(pWal, WAL_CKPT_LOCK); + if( rc==SQLITE_OK ){ + WalIndexHdr *pNew = (WalIndexHdr*)pSnapshot; + if( memcmp(pNew->aSalt, pWal->hdr.aSalt, sizeof(pWal->hdr.aSalt)) + || pNew->mxFramenBackfillAttempted + ){ + rc = SQLITE_ERROR_SNAPSHOT; + walUnlockShared(pWal, WAL_CKPT_LOCK); + } + } + return rc; +} + +/* +** Release a lock obtained by an earlier successful call to +** sqlite3WalSnapshotCheck(). +*/ +SQLITE_PRIVATE void sqlite3WalSnapshotUnlock(Wal *pWal){ + assert( pWal ); + walUnlockShared(pWal, WAL_CKPT_LOCK); +} + + #endif /* SQLITE_ENABLE_SNAPSHOT */ #ifdef SQLITE_ENABLE_ZIPVFS @@ -59906,20 +62440,20 @@ struct BtCursor { u8 curFlags; /* zero or more BTCF_* flags defined below */ u8 curPagerFlags; /* Flags to send to sqlite3PagerGet() */ u8 hints; /* As configured by CursorSetHints() */ - int nOvflAlloc; /* Allocated size of aOverflow[] array */ + int skipNext; /* Prev() is noop if negative. Next() is noop if positive. + ** Error code if eState==CURSOR_FAULT */ Btree *pBtree; /* The Btree to which this cursor belongs */ - BtShared *pBt; /* The BtShared this cursor points to */ - BtCursor *pNext; /* Forms a linked list of all cursors */ Pgno *aOverflow; /* Cache of overflow page locations */ - CellInfo info; /* A parse of the cell we are pointing at */ - i64 nKey; /* Size of pKey, or last integer key */ void *pKey; /* Saved key that was cursor last known position */ - Pgno pgnoRoot; /* The root page of this tree */ - int skipNext; /* Prev() is noop if negative. Next() is noop if positive. - ** Error code if eState==CURSOR_FAULT */ /* All fields above are zeroed when the cursor is allocated. See ** sqlite3BtreeCursorZero(). Fields that follow must be manually ** initialized. */ +#define BTCURSOR_FIRST_UNINIT pBt /* Name of first uninitialized field */ + BtShared *pBt; /* The BtShared this cursor points to */ + BtCursor *pNext; /* Forms a linked list of all cursors */ + CellInfo info; /* A parse of the cell we are pointing at */ + i64 nKey; /* Size of pKey, or last integer key */ + Pgno pgnoRoot; /* The root page of this tree */ i8 iPage; /* Index of current page in apPage */ u8 curIntKey; /* Value of apPage[0]->intKey */ u16 ix; /* Current index for apPage[iPage] */ @@ -59969,8 +62503,8 @@ struct BtCursor { ** Do nothing else with this cursor. Any attempt to use the cursor ** should return the error code stored in BtCursor.skipNext */ -#define CURSOR_INVALID 0 -#define CURSOR_VALID 1 +#define CURSOR_VALID 0 +#define CURSOR_INVALID 1 #define CURSOR_SKIPNEXT 2 #define CURSOR_REQUIRESEEK 3 #define CURSOR_FAULT 4 @@ -60287,10 +62821,10 @@ static void SQLITE_NOINLINE btreeEnterAll(sqlite3 *db){ skipOk = 0; } } - db->skipBtreeMutex = skipOk; + db->noSharedCache = skipOk; } SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3 *db){ - if( db->skipBtreeMutex==0 ) btreeEnterAll(db); + if( db->noSharedCache==0 ) btreeEnterAll(db); } static void SQLITE_NOINLINE btreeLeaveAll(sqlite3 *db){ int i; @@ -60302,7 +62836,7 @@ static void SQLITE_NOINLINE btreeLeaveAll(sqlite3 *db){ } } SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3 *db){ - if( db->skipBtreeMutex==0 ) btreeLeaveAll(db); + if( db->noSharedCache==0 ) btreeLeaveAll(db); } #ifndef NDEBUG @@ -61267,7 +63801,11 @@ static int btreeRestoreCursorPosition(BtCursor *pCur){ ** back to where it ought to be if this routine returns true. */ SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur){ - return pCur->eState!=CURSOR_VALID; + assert( EIGHT_BYTE_ALIGNMENT(pCur) + || pCur==sqlite3BtreeFakeValidCursor() ); + assert( offsetof(BtCursor, eState)==0 ); + assert( sizeof(pCur->eState)==1 ); + return CURSOR_VALID != *(u8*)pCur; } /* @@ -62634,7 +65172,8 @@ static int btreeInvokeBusyHandler(void *pArg){ BtShared *pBt = (BtShared*)pArg; assert( pBt->db ); assert( sqlite3_mutex_held(pBt->db->mutex) ); - return sqlite3InvokeBusyHandler(&pBt->db->busyHandler); + return sqlite3InvokeBusyHandler(&pBt->db->busyHandler, + sqlite3PagerFile(pBt->pPager)); } /* @@ -62812,7 +65351,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( } pBt->openFlags = (u8)flags; pBt->db = db; - sqlite3PagerSetBusyhandler(pBt->pPager, btreeInvokeBusyHandler, pBt); + sqlite3PagerSetBusyHandler(pBt->pPager, btreeInvokeBusyHandler, pBt); p->pBt = pBt; pBt->pCursor = 0; @@ -63374,6 +65913,10 @@ static void setDefaultSyncFlag(BtShared *pBt, u8 safety_level){ # define setDefaultSyncFlag(pBt,safety_level) #endif +/* Forward declaration */ +static int newDatabase(BtShared*); + + /* ** Get a reference to pPage1 of the database file. This will ** also acquire a readlock on that file. @@ -63405,6 +65948,9 @@ static int lockBtree(BtShared *pBt){ if( nPage==0 || memcmp(24+(u8*)pPage1->aData, 92+(u8*)pPage1->aData,4)!=0 ){ nPage = nPageFile; } + if( (pBt->db->flags & SQLITE_ResetDatabase)!=0 ){ + nPage = 0; + } if( nPage>0 ){ u32 pageSize; u32 usableSize; @@ -63503,7 +66049,7 @@ static int lockBtree(BtShared *pBt){ pageSize-usableSize); return rc; } - if( (pBt->db->flags & SQLITE_WriteSchema)==0 && nPage>nPageFile ){ + if( sqlite3WritableSchema(pBt->db)==0 && nPage>nPageFile ){ rc = SQLITE_CORRUPT_BKPT; goto page1_init_failed; } @@ -63691,7 +66237,7 @@ SQLITE_PRIVATE int sqlite3BtreeNewDb(Btree *p){ ** when A already has a read lock, we encourage A to give up and let B ** proceed. */ -SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ +SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag, int *pSchemaVersion){ BtShared *pBt = p->pBt; int rc = SQLITE_OK; @@ -63707,6 +66253,12 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ } assert( pBt->inTransaction==TRANS_WRITE || IfNotOmitAV(pBt->bDoTruncate)==0 ); + if( (p->db->flags & SQLITE_ResetDatabase) + && sqlite3PagerIsreadonly(pBt->pPager)==0 + ){ + pBt->btsFlags &= ~BTS_READ_ONLY; + } + /* Write transactions are not possible on a read-only database */ if( (pBt->btsFlags & BTS_READ_ONLY)!=0 && wrflag ){ rc = SQLITE_READONLY; @@ -63766,6 +66318,11 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ rc = sqlite3PagerBegin(pBt->pPager,wrflag>1,sqlite3TempInMemory(p->db)); if( rc==SQLITE_OK ){ rc = newDatabase(pBt); + }else if( rc==SQLITE_BUSY_SNAPSHOT && pBt->inTransaction==TRANS_NONE ){ + /* if there was no transaction opened when this function was + ** called and SQLITE_BUSY_SNAPSHOT is returned, change the error + ** code to SQLITE_BUSY. */ + rc = SQLITE_BUSY; } } } @@ -63775,6 +66332,7 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ } }while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE && btreeInvokeBusyHandler(pBt) ); + sqlite3PagerResetLockTimeout(pBt->pPager); if( rc==SQLITE_OK ){ if( p->inTrans==TRANS_NONE ){ @@ -63816,14 +66374,18 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ } } - trans_begun: - if( rc==SQLITE_OK && wrflag ){ - /* This call makes sure that the pager has the correct number of - ** open savepoints. If the second parameter is greater than 0 and - ** the sub-journal is not already open, then it will be opened here. - */ - rc = sqlite3PagerOpenSavepoint(pBt->pPager, p->db->nSavepoint); + if( rc==SQLITE_OK ){ + if( pSchemaVersion ){ + *pSchemaVersion = get4byte(&pBt->pPage1->aData[40]); + } + if( wrflag ){ + /* This call makes sure that the pager has the correct number of + ** open savepoints. If the second parameter is greater than 0 and + ** the sub-journal is not already open, then it will be opened here. + */ + rc = sqlite3PagerOpenSavepoint(pBt->pPager, p->db->nSavepoint); + } } btreeIntegrity(p); @@ -63961,6 +66523,7 @@ static int relocatePage( eType==PTRMAP_BTREE || eType==PTRMAP_ROOTPAGE ); assert( sqlite3_mutex_held(pBt->mutex) ); assert( pDbPage->pBt==pBt ); + if( iDbPage<3 ) return SQLITE_CORRUPT_BKPT; /* Move page iDbPage from its current location to page number iFreePage */ TRACE(("AUTOVACUUM: Moving %d to free page %d (ptr page %d type %d)\n", @@ -64748,7 +67311,7 @@ SQLITE_PRIVATE int sqlite3BtreeCursorSize(void){ ** of run-time by skipping the initialization of those elements. */ SQLITE_PRIVATE void sqlite3BtreeCursorZero(BtCursor *p){ - memset(p, 0, offsetof(BtCursor, iPage)); + memset(p, 0, offsetof(BtCursor, BTCURSOR_FIRST_UNINIT)); } /* @@ -64791,11 +67354,19 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ ** Using this cache reduces the number of calls to btreeParseCell(). */ #ifndef NDEBUG + static int cellInfoEqual(CellInfo *a, CellInfo *b){ + if( a->nKey!=b->nKey ) return 0; + if( a->pPayload!=b->pPayload ) return 0; + if( a->nPayload!=b->nPayload ) return 0; + if( a->nLocal!=b->nLocal ) return 0; + if( a->nSize!=b->nSize ) return 0; + return 1; + } static void assertCellInfo(BtCursor *pCur){ CellInfo info; memset(&info, 0, sizeof(info)); btreeParseCell(pCur->pPage, pCur->ix, &info); - assert( CORRUPT_DB || memcmp(&info, &pCur->info, sizeof(info))==0 ); + assert( CORRUPT_DB || cellInfoEqual(&info, &pCur->info) ); } #else #define assertCellInfo(x) @@ -65071,14 +67642,15 @@ static int accessPayload( */ if( (pCur->curFlags & BTCF_ValidOvfl)==0 ){ int nOvfl = (pCur->info.nPayload-pCur->info.nLocal+ovflSize-1)/ovflSize; - if( nOvfl>pCur->nOvflAlloc ){ + if( pCur->aOverflow==0 + || nOvfl*(int)sizeof(Pgno) > sqlite3MallocSize(pCur->aOverflow) + ){ Pgno *aNew = (Pgno*)sqlite3Realloc( pCur->aOverflow, nOvfl*2*sizeof(Pgno) ); if( aNew==0 ){ return SQLITE_NOMEM_BKPT; }else{ - pCur->nOvflAlloc = nOvfl*2; pCur->aOverflow = aNew; } } @@ -65123,9 +67695,6 @@ static int accessPayload( /* Need to read this page properly. It contains some of the ** range of data that is being read (eOp==0) or written (eOp!=0). */ -#ifdef SQLITE_DIRECT_OVERFLOW_READ - sqlite3_file *fd; /* File from which to do direct overflow read */ -#endif int a = amt; if( a + offset > ovflSize ){ a = ovflSize - offset; @@ -65136,7 +67705,7 @@ static int accessPayload( ** ** 1) this is a read operation, and ** 2) data is required from the start of this overflow page, and - ** 3) there is no open write-transaction, and + ** 3) there are no dirty pages in the page-cache ** 4) the database is file-backed, and ** 5) the page is not in the WAL file ** 6) at least 4 bytes have already been read into the output buffer @@ -65147,11 +67716,10 @@ static int accessPayload( */ if( eOp==0 /* (1) */ && offset==0 /* (2) */ - && pBt->inTransaction==TRANS_READ /* (3) */ - && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (4) */ - && 0==sqlite3PagerUseWal(pBt->pPager, nextPage) /* (5) */ + && sqlite3PagerDirectReadOk(pBt->pPager, nextPage) /* (3,4,5) */ && &pBuf[-4]>=pBufStart /* (6) */ ){ + sqlite3_file *fd = sqlite3PagerFile(pBt->pPager); u8 aSave[4]; u8 *aWrite = &pBuf[-4]; assert( aWrite>=pBufStart ); /* due to (6) */ @@ -65561,6 +68129,23 @@ 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. @@ -65965,7 +68550,16 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur){ pPage = pCur->pPage; idx = ++pCur->ix; - assert( pPage->isInit ); + if( !pPage->isInit ){ + /* The only known way for this to happen is for there to be a + ** recursive SQL function that does a DELETE operation as part of a + ** SELECT which deletes content out from under an active cursor + ** in a corrupt database file where the table being DELETE-ed from + ** has pages in common with the table being queried. See TH3 + ** module cov1/btree78.test testcase 220 (2018-06-08) for an + ** example. */ + return SQLITE_CORRUPT_BKPT; + } /* If the database file is corrupt, it is possible for the value of idx ** to be invalid here. This can only occur if a second cursor modifies @@ -66592,9 +69186,8 @@ static void freePage(MemPage *pPage, int *pRC){ } /* -** Free any overflow pages associated with the given Cell. Write the -** local Cell size (the number of bytes on the original page, omitting -** overflow) into *pnSize. +** Free any overflow pages associated with the given Cell. Store +** size information about the cell in pInfo. */ static int clearCell( MemPage *pPage, /* The page that contains the Cell */ @@ -66612,7 +69205,9 @@ static int clearCell( if( pInfo->nLocal==pInfo->nPayload ){ return SQLITE_OK; /* No overflow pages. Return without doing anything */ } - if( pCell+pInfo->nSize-1 > pPage->aData+pPage->maskPage ){ + testcase( pCell + pInfo->nSize == pPage->aDataEnd ); + testcase( pCell + (pInfo->nSize-1) == pPage->aDataEnd ); + if( pCell + pInfo->nSize > pPage->aDataEnd ){ /* Cell extends past end of page */ return SQLITE_CORRUPT_PAGE(pPage); } @@ -67798,7 +70393,7 @@ static int balance_nonroot( } /* Load b.apCell[] with pointers to all cells in pOld. If pOld - ** constains overflow cells, include them in the b.apCell[] array + ** contains overflow cells, include them in the b.apCell[] array ** in the correct spot. ** ** Note that when there are multiple overflow cells, it is always the @@ -68538,6 +71133,94 @@ static int balance(BtCursor *pCur){ return rc; } +/* Overwrite content from pX into pDest. Only do the write if the +** content is different from what is already there. +*/ +static int btreeOverwriteContent( + MemPage *pPage, /* MemPage on which writing will occur */ + u8 *pDest, /* Pointer to the place to start writing */ + const BtreePayload *pX, /* Source of data to write */ + int iOffset, /* Offset of first byte to write */ + int iAmt /* Number of bytes to be written */ +){ + int nData = pX->nData - iOffset; + if( nData<=0 ){ + /* Overwritting with zeros */ + int i; + for(i=0; ipDbPage); + if( rc ) return rc; + memset(pDest + i, 0, iAmt - i); + } + }else{ + if( nDatapData) + iOffset, iAmt)!=0 ){ + int rc = sqlite3PagerWrite(pPage->pDbPage); + if( rc ) return rc; + memcpy(pDest, ((u8*)pX->pData) + iOffset, iAmt); + } + } + return SQLITE_OK; +} + +/* +** Overwrite the cell that cursor pCur is pointing to with fresh content +** contained in pX. +*/ +static int btreeOverwriteCell(BtCursor *pCur, const BtreePayload *pX){ + int iOffset; /* Next byte of pX->pData to write */ + int nTotal = pX->nData + pX->nZero; /* Total bytes of to write */ + int rc; /* Return code */ + MemPage *pPage = pCur->pPage; /* Page being written */ + BtShared *pBt; /* Btree */ + Pgno ovflPgno; /* Next overflow page to write */ + u32 ovflPageSize; /* Size to write on overflow page */ + + if( pCur->info.pPayload + pCur->info.nLocal > pPage->aDataEnd ){ + return SQLITE_CORRUPT_BKPT; + } + /* Overwrite the local portion first */ + rc = btreeOverwriteContent(pPage, pCur->info.pPayload, pX, + 0, pCur->info.nLocal); + if( rc ) return rc; + if( pCur->info.nLocal==nTotal ) return SQLITE_OK; + + /* Now overwrite the overflow pages */ + iOffset = pCur->info.nLocal; + assert( nTotal>=0 ); + assert( iOffset>=0 ); + ovflPgno = get4byte(pCur->info.pPayload + iOffset); + pBt = pPage->pBt; + ovflPageSize = pBt->usableSize - 4; + do{ + rc = btreeGetPage(pBt, ovflPgno, &pPage, 0); + if( rc ) return rc; + if( sqlite3PagerPageRefcount(pPage->pDbPage)!=1 ){ + rc = SQLITE_CORRUPT_BKPT; + }else{ + if( iOffset+ovflPageSize<(u32)nTotal ){ + ovflPgno = get4byte(pPage->aData); + }else{ + ovflPageSize = nTotal - iOffset; + } + rc = btreeOverwriteContent(pPage, pPage->aData+4, pX, + iOffset, ovflPageSize); + } + sqlite3PagerUnref(pPage->pDbPage); + if( rc ) return rc; + iOffset += ovflPageSize; + }while( iOffsetpgnoRoot, pX->nKey, 0); /* If BTREE_SAVEPOSITION is set, the cursor must already be pointing - ** to a row with the same key as the new entry being inserted. */ - assert( (flags & BTREE_SAVEPOSITION)==0 || - ((pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey) ); + ** to a row with the same key as the new entry being inserted. + */ +#ifdef SQLITE_DEBUG + if( flags & BTREE_SAVEPOSITION ){ + assert( pCur->curFlags & BTCF_ValidNKey ); + assert( pX->nKey==pCur->info.nKey ); + assert( pCur->info.nSize!=0 ); + assert( loc==0 ); + } +#endif - /* If the cursor is currently on the last row and we are appending a - ** new row onto the end, set the "loc" to avoid an unnecessary - ** btreeMoveto() call */ + /* On the other hand, BTREE_SAVEPOSITION==0 does not imply + ** that the cursor is not pointing to a row to be overwritten. + ** So do a complete check. + */ if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey ){ - loc = 0; + /* The cursor is pointing to the entry that is to be + ** overwritten */ + assert( pX->nData>=0 && pX->nZero>=0 ); + if( pCur->info.nSize!=0 + && pCur->info.nPayload==(u32)pX->nData+pX->nZero + ){ + /* New entry is the same size as the old. Do an overwrite */ + return btreeOverwriteCell(pCur, pX); + } + assert( loc==0 ); }else if( loc==0 ){ + /* The cursor is *not* pointing to the cell to be overwritten, nor + ** to an adjacent cell. Move the cursor so that it is pointing either + ** to the cell to be overwritten or an adjacent cell. + */ rc = sqlite3BtreeMovetoUnpacked(pCur, 0, pX->nKey, flags!=0, &loc); if( rc ) return rc; } - }else if( loc==0 && (flags & BTREE_SAVEPOSITION)==0 ){ - if( pX->nMem ){ - UnpackedRecord r; - r.pKeyInfo = pCur->pKeyInfo; - r.aMem = pX->aMem; - r.nField = pX->nMem; - r.default_rc = 0; - r.errCode = 0; - r.r1 = 0; - r.r2 = 0; - r.eqSeen = 0; - rc = sqlite3BtreeMovetoUnpacked(pCur, &r, 0, flags!=0, &loc); - }else{ - rc = btreeMoveto(pCur, pX->pKey, pX->nKey, flags!=0, &loc); + }else{ + /* This is an index or a WITHOUT ROWID table */ + + /* If BTREE_SAVEPOSITION is set, the cursor must already be pointing + ** to a row with the same key as the new entry being inserted. + */ + assert( (flags & BTREE_SAVEPOSITION)==0 || loc==0 ); + + /* If the cursor is not already pointing either to the cell to be + ** overwritten, or if a new cell is being inserted, if the cursor is + ** not pointing to an immediately adjacent cell, then move the cursor + ** so that it does. + */ + if( loc==0 && (flags & BTREE_SAVEPOSITION)==0 ){ + if( pX->nMem ){ + UnpackedRecord r; + r.pKeyInfo = pCur->pKeyInfo; + r.aMem = pX->aMem; + r.nField = pX->nMem; + r.default_rc = 0; + r.errCode = 0; + r.r1 = 0; + r.r2 = 0; + r.eqSeen = 0; + rc = sqlite3BtreeMovetoUnpacked(pCur, &r, 0, flags!=0, &loc); + }else{ + rc = btreeMoveto(pCur, pX->pKey, pX->nKey, flags!=0, &loc); + } + if( rc ) return rc; } - if( rc ) return rc; + + /* If the cursor is currently pointing to an entry to be overwritten + ** and the new content is the same as as the old, then use the + ** overwrite optimization. + */ + if( loc==0 ){ + getCellInfo(pCur); + if( pCur->info.nKey==pX->nKey ){ + BtreePayload x2; + x2.pData = pX->pKey; + x2.nData = pX->nKey; + x2.nZero = 0; + return btreeOverwriteCell(pCur, &x2); + } + } + } assert( pCur->eState==CURSOR_VALID || (pCur->eState==CURSOR_INVALID && loc) ); @@ -69495,14 +72229,14 @@ static void checkAppendMsg( pCheck->nErr++; va_start(ap, zFormat); if( pCheck->errMsg.nChar ){ - sqlite3StrAccumAppend(&pCheck->errMsg, "\n", 1); + sqlite3_str_append(&pCheck->errMsg, "\n", 1); } if( pCheck->zPfx ){ - sqlite3XPrintf(&pCheck->errMsg, pCheck->zPfx, pCheck->v1, pCheck->v2); + sqlite3_str_appendf(&pCheck->errMsg, pCheck->zPfx, pCheck->v1, pCheck->v2); } - sqlite3VXPrintf(&pCheck->errMsg, zFormat, ap); + sqlite3_str_vappendf(&pCheck->errMsg, zFormat, ap); va_end(ap); - if( pCheck->errMsg.accError==STRACCUM_NOMEM ){ + if( pCheck->errMsg.accError==SQLITE_NOMEM ){ pCheck->mallocFailed = 1; } } @@ -69537,8 +72271,7 @@ static void setPageReferenced(IntegrityCk *pCheck, Pgno iPg){ ** Also check that the page number is in bounds. */ static int checkRef(IntegrityCk *pCheck, Pgno iPage){ - if( iPage==0 ) return 1; - if( iPage>pCheck->nPage ){ + if( iPage>pCheck->nPage || iPage==0 ){ checkAppendMsg(pCheck, "invalid page number %d", iPage); return 1; } @@ -69593,17 +72326,12 @@ static void checkList( ){ int i; int expected = N; - int iFirst = iPage; - while( N-- > 0 && pCheck->mxErr ){ + int nErrAtStart = pCheck->nErr; + while( iPage!=0 && pCheck->mxErr ){ DbPage *pOvflPage; unsigned char *pOvflData; - if( iPage<1 ){ - checkAppendMsg(pCheck, - "%d of %d pages missing from overflow list starting at %d", - N+1, expected, iFirst); - break; - } if( checkRef(pCheck, iPage) ) break; + N--; if( sqlite3PagerGet(pCheck->pPager, (Pgno)iPage, &pOvflPage, 0) ){ checkAppendMsg(pCheck, "failed to get page %d", iPage); break; @@ -69647,10 +72375,12 @@ static void checkList( #endif iPage = get4byte(pOvflData); sqlite3PagerUnref(pOvflPage); - - if( isFreeList && N<(iPage!=0) ){ - checkAppendMsg(pCheck, "free-page count in header is too small"); - } + } + if( N && nErrAtStart==pCheck->nErr ){ + checkAppendMsg(pCheck, + "%s is %d but should be %d", + isFreeList ? "size" : "overflow list length", + expected-N, expected); } } #endif /* SQLITE_OMIT_INTEGRITY_CHECK */ @@ -70044,6 +72774,24 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( /* Check all the tables. */ +#ifndef SQLITE_OMIT_AUTOVACUUM + if( pBt->autoVacuum ){ + int mx = 0; + int mxInHdr; + for(i=0; (int)ipPage1->aData[52]); + if( mx!=mxInHdr ){ + checkAppendMsg(&sCheck, + "max rootpage (%d) disagrees with header (%d)", + mx, mxInHdr + ); + } + }else if( get4byte(&pBt->pPage1->aData[64])!=0 ){ + checkAppendMsg(&sCheck, + "incremental_vacuum enabled with a max rootpage of zero" + ); + } +#endif testcase( pBt->db->flags & SQLITE_CellSizeCk ); pBt->db->flags &= ~SQLITE_CellSizeCk; for(i=0; (int)ipPager) ); sqlite3BtreeLeave(p); @@ -70325,11 +73073,11 @@ SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBtree, int iVersion){ pBt->btsFlags &= ~BTS_NO_WAL; if( iVersion==1 ) pBt->btsFlags |= BTS_NO_WAL; - rc = sqlite3BtreeBeginTrans(pBtree, 0); + rc = sqlite3BtreeBeginTrans(pBtree, 0, 0); if( rc==SQLITE_OK ){ u8 *aData = pBt->pPage1->aData; if( aData[18]!=(u8)iVersion || aData[19]!=(u8)iVersion ){ - rc = sqlite3BtreeBeginTrans(pBtree, 2); + rc = sqlite3BtreeBeginTrans(pBtree, 2, 0); if( rc==SQLITE_OK ){ rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); if( rc==SQLITE_OK ){ @@ -70769,7 +73517,7 @@ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ ** before this function exits. */ if( rc==SQLITE_OK && 0==sqlite3BtreeIsInReadTrans(p->pSrc) ){ - rc = sqlite3BtreeBeginTrans(p->pSrc, 0); + rc = sqlite3BtreeBeginTrans(p->pSrc, 0, 0); bCloseTrans = 1; } @@ -70785,10 +73533,10 @@ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ /* Lock the destination database, if it is not locked already. */ if( SQLITE_OK==rc && p->bDestLocked==0 - && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2)) + && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2, + (int*)&p->iDestSchema)) ){ p->bDestLocked = 1; - sqlite3BtreeGetMeta(p->pDest, BTREE_SCHEMA_VERSION, &p->iDestSchema); } /* Do not allow backup if the destination database is in WAL mode @@ -71232,8 +73980,7 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ if( p->flags & MEM_Null ){ /* Cannot be both MEM_Null and some other type */ - assert( (p->flags & (MEM_Int|MEM_Real|MEM_Str|MEM_Blob - |MEM_RowSet|MEM_Frame|MEM_Agg))==0 ); + assert( (p->flags & (MEM_Int|MEM_Real|MEM_Str|MEM_Blob|MEM_Agg))==0 ); /* If MEM_Null is set, then either the value is a pure NULL (the usual ** case) or it is a pointer set using sqlite3_bind_pointer() or @@ -71283,6 +74030,51 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ } #endif +#ifdef SQLITE_DEBUG +/* +** Check that string value of pMem agrees with its integer or real value. +** +** 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. +** If a table contains a numeric value and an index is based on the +** corresponding string value, then it is important that the string be +** derived from the numeric value, not the other way around, to ensure +** that the index and table are consistent. See ticket +** https://www.sqlite.org/src/info/343634942dd54ab (2018-01-31) for +** an example. +** +** This routine looks at pMem to verify that if it has both a numeric +** representation and a string representation then the string rep has +** been derived from the numeric and not the other way around. It returns +** true if everything is ok and false if there is a problem. +** +** This routine is for use inside of assert() statements only. +*/ +SQLITE_PRIVATE int sqlite3VdbeMemConsistentDualRep(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); + } + z = p->z; + i = j = 0; + incr = 1; + if( p->enc!=SQLITE_UTF8 ){ + incr = 2; + if( p->enc==SQLITE_UTF16BE ) z++; + } + while( zBuf[j] ){ + if( zBuf[j++]!=z[i] ) return 0; + i += incr; + } + return 1; +} +#endif /* SQLITE_DEBUG */ /* ** If pMem is an object with a valid string representation, this routine @@ -71301,7 +74093,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ #ifndef SQLITE_OMIT_UTF16 int rc; #endif - assert( (pMem->flags&MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( desiredEnc==SQLITE_UTF8 || desiredEnc==SQLITE_UTF16LE || desiredEnc==SQLITE_UTF16BE ); if( !(pMem->flags&MEM_Str) || pMem->enc==desiredEnc ){ @@ -71334,7 +74126,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ */ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ assert( sqlite3VdbeCheckMemInvariants(pMem) ); - assert( (pMem->flags&MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); testcase( pMem->db==0 ); /* If the bPreserve flag is set to true, then the memory cell must already @@ -71422,7 +74214,7 @@ static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ */ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - assert( (pMem->flags&MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); if( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ){ if( ExpandBlob(pMem) ) return SQLITE_NOMEM; if( pMem->szMalloc==0 || pMem->z!=pMem->zMalloc ){ @@ -71447,7 +74239,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ int nByte; assert( pMem->flags & MEM_Zero ); assert( pMem->flags&MEM_Blob ); - assert( (pMem->flags&MEM_RowSet)==0 ); + 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. */ @@ -71502,7 +74294,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ assert( !(fg&MEM_Zero) ); assert( !(fg&(MEM_Str|MEM_Blob)) ); assert( fg&(MEM_Int|MEM_Real) ); - assert( (pMem->flags&MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); @@ -71523,7 +74315,8 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ assert( fg & MEM_Real ); sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->u.r); } - pMem->n = sqlite3Strlen30(pMem->z); + 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); @@ -71560,6 +74353,35 @@ SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){ return ctx.isError; } +/* +** Memory cell pAccum contains the context of an aggregate function. +** This routine calls the xValue method for that function and stores +** the results in memory cell pMem. +** +** SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK +** otherwise. +*/ +#ifndef SQLITE_OMIT_WINDOWFUNC +SQLITE_PRIVATE int sqlite3VdbeMemAggValue(Mem *pAccum, Mem *pOut, FuncDef *pFunc){ + sqlite3_context ctx; + Mem t; + assert( pFunc!=0 ); + assert( pFunc->xValue!=0 ); + assert( (pAccum->flags & MEM_Null)!=0 || pFunc==pAccum->u.pDef ); + assert( pAccum->db==0 || sqlite3_mutex_held(pAccum->db->mutex) ); + memset(&ctx, 0, sizeof(ctx)); + memset(&t, 0, sizeof(t)); + t.flags = MEM_Null; + t.db = pAccum->db; + sqlite3VdbeMemSetNull(pOut); + ctx.pOut = pOut; + ctx.pMem = pAccum; + ctx.pFunc = pFunc; + pFunc->xValue(&ctx); + return ctx.isError; +} +#endif /* SQLITE_OMIT_WINDOWFUNC */ + /* ** If the memory cell contains a value that must be freed by ** invoking the external callback in Mem.xDel, then this routine @@ -71578,15 +74400,8 @@ static SQLITE_NOINLINE void vdbeMemClearExternAndSetNull(Mem *p){ testcase( p->flags & MEM_Dyn ); } if( p->flags&MEM_Dyn ){ - assert( (p->flags&MEM_RowSet)==0 ); assert( p->xDel!=SQLITE_DYNAMIC && p->xDel!=0 ); p->xDel((void *)p->z); - }else if( p->flags&MEM_RowSet ){ - sqlite3RowSetClear(p->u.pRowSet); - }else if( p->flags&MEM_Frame ){ - VdbeFrame *pFrame = p->u.pFrame; - pFrame->pParent = pFrame->v->pDelFrame; - pFrame->v->pDelFrame = pFrame; } p->flags = MEM_Null; } @@ -71717,6 +74532,16 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ } } +/* +** Return 1 if pMem represents true, and return 0 if pMem represents false. +** 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; + if( pMem->flags & MEM_Null ) return ifNull; + return sqlite3VdbeRealValue(pMem)!=0.0; +} + /* ** The MEM structure is already a MEM_Real. Try to also make it a ** MEM_Int if we can. @@ -71724,7 +74549,7 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem *pMem){ i64 ix; assert( pMem->flags & MEM_Real ); - assert( (pMem->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); @@ -71751,7 +74576,7 @@ SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem *pMem){ */ SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - assert( (pMem->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem->u.i = sqlite3VdbeIntValue(pMem); @@ -71772,6 +74597,18 @@ SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem *pMem){ return SQLITE_OK; } +/* 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. +** +** 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){ + double r2 = (double)i; + return memcmp(&r1, &r2, sizeof(r1))==0; +} + /* ** Convert pMem so that it has types MEM_Real or MEM_Int or both. ** Invalidate any prior representations. @@ -71791,7 +74628,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ }else{ i64 i = pMem->u.i; sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc); - if( rc==1 && pMem->u.r==(double)i ){ + if( rc==1 && sqlite3RealSameAsInt(pMem->u.r, i) ){ pMem->u.i = i; MemSetTypeFlag(pMem, MEM_Int); }else{ @@ -71923,7 +74760,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ } /* A no-op destructor */ -static void sqlite3NoopDestructor(void *p){ UNUSED_PARAMETER(p); } +SQLITE_PRIVATE void sqlite3NoopDestructor(void *p){ UNUSED_PARAMETER(p); } /* ** Set the value stored in *pMem should already be a NULL. @@ -71957,26 +74794,36 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem *pMem, double val){ } #endif +#ifdef SQLITE_DEBUG +/* +** Return true if the Mem holds a RowSet object. This routine is intended +** for use inside of assert() statements. +*/ +SQLITE_PRIVATE int sqlite3VdbeMemIsRowSet(const Mem *pMem){ + return (pMem->flags&(MEM_Blob|MEM_Dyn))==(MEM_Blob|MEM_Dyn) + && pMem->xDel==sqlite3RowSetDelete; +} +#endif + /* ** Delete any previous value and set the value of pMem to be an ** empty boolean index. +** +** Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation +** error occurs. */ -SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem *pMem){ +SQLITE_PRIVATE int sqlite3VdbeMemSetRowSet(Mem *pMem){ sqlite3 *db = pMem->db; + RowSet *p; assert( db!=0 ); - assert( (pMem->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); sqlite3VdbeMemRelease(pMem); - pMem->zMalloc = sqlite3DbMallocRawNN(db, 64); - if( db->mallocFailed ){ - pMem->flags = MEM_Null; - pMem->szMalloc = 0; - }else{ - assert( pMem->zMalloc ); - pMem->szMalloc = sqlite3DbMallocSize(db, pMem->zMalloc); - pMem->u.pRowSet = sqlite3RowSetInit(db, pMem->zMalloc, pMem->szMalloc); - assert( pMem->u.pRowSet!=0 ); - pMem->flags = MEM_RowSet; - } + p = sqlite3RowSetInit(db); + if( p==0 ) return SQLITE_NOMEM; + pMem->z = (char*)p; + pMem->flags = MEM_Blob|MEM_Dyn; + pMem->xDel = sqlite3RowSetDelete; + return SQLITE_OK; } /* @@ -72009,7 +74856,21 @@ SQLITE_PRIVATE void sqlite3VdbeMemAboutToChange(Vdbe *pVdbe, Mem *pMem){ Mem *pX; for(i=0, pX=pVdbe->aMem; inMem; i++, pX++){ if( pX->pScopyFrom==pMem ){ - pX->flags |= MEM_Undefined; + /* If pX is marked as a shallow copy of pMem, then verify that + ** no significant changes have been made to pX since the OP_SCopy. + ** A significant change would indicated a missed call to this + ** function for pX. Minor changes, such as adding or removing a + ** 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_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 ); + + /* pMem is the register that is changing. But also mark pX as + ** undefined so that we can quickly detect the shallow-copy error */ + pX->flags = MEM_Undefined; pX->pScopyFrom = 0; } } @@ -72030,7 +74891,7 @@ static SQLITE_NOINLINE void vdbeClrCopy(Mem *pTo, const Mem *pFrom, int eType){ sqlite3VdbeMemShallowCopy(pTo, pFrom, eType); } SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem *pTo, const Mem *pFrom, int srcType){ - assert( (pFrom->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pFrom) ); assert( pTo->db==pFrom->db ); if( VdbeMemDynamic(pTo) ){ vdbeClrCopy(pTo,pFrom,srcType); return; } memcpy(pTo, pFrom, MEMCELLSIZE); @@ -72048,7 +74909,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem *pTo, const Mem *pFrom, int sr SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem *pTo, const Mem *pFrom){ int rc = SQLITE_OK; - assert( (pFrom->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pFrom) ); if( VdbeMemDynamic(pTo) ) vdbeMemClearExternAndSetNull(pTo); memcpy(pTo, pFrom, MEMCELLSIZE); pTo->flags &= ~MEM_Dyn; @@ -72106,7 +74967,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( u16 flags = 0; /* New value for pMem->flags */ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - assert( (pMem->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); /* If z is a NULL pointer, set pMem to contain an SQL NULL. */ if( !z ){ @@ -72228,7 +75089,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( /* Note: the calls to BtreeKeyFetch() and DataFetch() below assert() ** that both the BtShared and database handle mutexes are held. */ - assert( (pMem->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem) ); zData = (char *)sqlite3BtreePayloadFetch(pCur, &available); assert( zData!=0 ); @@ -72252,7 +75113,7 @@ static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){ assert( pVal!=0 ); assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) ); assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) ); - assert( (pVal->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pVal) ); assert( (pVal->flags & (MEM_Null))==0 ); if( pVal->flags & (MEM_Blob|MEM_Str) ){ if( ExpandBlob(pVal) ) return 0; @@ -72274,6 +75135,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) ); return pVal->z; }else{ return 0; @@ -72294,8 +75156,9 @@ SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ if( !pVal ) return 0; assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) ); assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) ); - assert( (pVal->flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pVal) ); if( (pVal->flags&(MEM_Str|MEM_Term))==(MEM_Str|MEM_Term) && pVal->enc==enc ){ + assert( sqlite3VdbeMemConsistentDualRep(pVal) ); return pVal->z; } if( pVal->flags&MEM_Null ){ @@ -72599,12 +75462,16 @@ static int valueFromExpr( 0, SQLITE_DYNAMIC); } #endif - #ifdef SQLITE_ENABLE_STAT3_OR_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; + } *ppVal = pVal; return rc; @@ -72856,11 +75723,11 @@ SQLITE_PRIVATE int sqlite3Stat4Column( int iCol, /* Column to extract */ sqlite3_value **ppVal /* OUT: Extracted value */ ){ - u32 t; /* a column type code */ + u32 t = 0; /* a column type code */ int nHdr; /* Size of the header in the record */ int iHdr; /* Next unread header byte */ int iField; /* Next unread data byte */ - int szField; /* Size of the current data field */ + int szField = 0; /* Size of the current data field */ int i; /* Column index */ u8 *a = (u8*)pRec; /* Typecast byte array */ Mem *pMem = *ppVal; /* Write result into this Mem object */ @@ -73024,6 +75891,13 @@ 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 ); + } +#endif } /* @@ -73045,6 +75919,11 @@ SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe *pA, Vdbe *pB){ zTmp = pA->zSql; pA->zSql = pB->zSql; pB->zSql = zTmp; +#ifdef SQLITE_ENABLE_NORMALIZE + zTmp = pA->zNormSql; + pA->zNormSql = pB->zNormSql; + pB->zNormSql = zTmp; +#endif pB->expmask = pA->expmask; pB->prepFlags = pA->prepFlags; memcpy(pB->aCounter, pA->aCounter, sizeof(pB->aCounter)); @@ -73153,14 +76032,6 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe *p, int op, int p1, int p2, int p3){ #endif #ifdef SQLITE_DEBUG if( p->db->flags & SQLITE_VdbeAddopTrace ){ - int jj, kk; - Parse *pParse = p->pParse; - for(jj=kk=0; jjnColCache; jj++){ - struct yColCache *x = pParse->aColCache + jj; - printf(" r[%d]={%d:%d}", x->iReg, x->iTable, x->iColumn); - kk++; - } - if( kk ) printf("\n"); sqlite3VdbePrintOp(0, i, &p->aOp[i]); test_addop_breakpoint(); } @@ -73263,6 +76134,49 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Dup8( return sqlite3VdbeAddOp4(p, op, p1, p2, p3, p4copy, p4type); } +#ifndef SQLITE_OMIT_EXPLAIN +/* +** Return the address of the current EXPLAIN QUERY PLAN baseline. +** 0 means "none". +*/ +SQLITE_PRIVATE int sqlite3VdbeExplainParent(Parse *pParse){ + VdbeOp *pOp; + if( pParse->addrExplain==0 ) return 0; + pOp = sqlite3VdbeGetOp(pParse->pVdbe, pParse->addrExplain); + return pOp->p2; +} + +/* +** Add a new OP_Explain 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 ){ + char *zMsg; + Vdbe *v; + va_list ap; + int iThis; + va_start(ap, zFmt); + zMsg = sqlite3VMPrintf(pParse->db, zFmt, ap); + va_end(ap); + v = pParse->pVdbe; + iThis = v->nOp; + sqlite3VdbeAddOp4(v, OP_Explain, iThis, pParse->addrExplain, 0, + zMsg, P4_DYNAMIC); + if( bPush) pParse->addrExplain = iThis; + } +} + +/* +** Pop the EXPLAIN QUERY PLAN stack one level. +*/ +SQLITE_PRIVATE void sqlite3VdbeExplainPop(Parse *pParse){ + pParse->addrExplain = sqlite3VdbeExplainParent(pParse); +} +#endif /* SQLITE_OMIT_EXPLAIN */ + /* ** Add an OP_ParseSchema opcode. This routine is broken out from ** sqlite3VdbeAddOp4() since it needs to also needs to mark all btrees @@ -73352,6 +76266,12 @@ SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe *v, int x){ assert( jnLabel ); 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); + } +#endif + assert( p->aLabel[j]==(-1) ); /* Labels may only be resolved once */ p->aLabel[j] = v->nOp; } } @@ -73501,6 +76421,32 @@ SQLITE_PRIVATE int sqlite3VdbeAssertMayAbort(Vdbe *v, int mayAbort){ } #endif /* SQLITE_DEBUG - the sqlite3AssertMayAbort() function */ +#ifdef SQLITE_DEBUG +/* +** Increment the nWrite counter in the VDBE if the cursor is not an +** ephemeral cursor, or if the cursor argument is NULL. +*/ +SQLITE_PRIVATE void sqlite3VdbeIncrWriteCounter(Vdbe *p, VdbeCursor *pC){ + if( pC==0 + || (pC->eCurType!=CURTYPE_SORTER + && pC->eCurType!=CURTYPE_PSEUDO + && !pC->isEphemeral) + ){ + p->nWrite++; + } +} +#endif + +#ifdef SQLITE_DEBUG +/* +** Assert if an Abort at this point in time might result in a corrupt +** database. +*/ +SQLITE_PRIVATE void sqlite3VdbeAssertAbortable(Vdbe *p){ + assert( p->nWrite==0 || p->usesStmtJournal ); +} +#endif + /* ** This routine is called after all opcodes have been inserted. It loops ** through all the opcodes and fixes up some details. @@ -73561,7 +76507,6 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ break; } case OP_Next: - case OP_NextIfOpen: case OP_SorterNext: { pOp->p4.xAdvance = sqlite3BtreeNext; pOp->p4type = P4_ADVANCE; @@ -73571,8 +76516,7 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ assert( pOp->p2>=0 ); break; } - case OP_Prev: - case OP_PrevIfOpen: { + case OP_Prev: { pOp->p4.xAdvance = sqlite3BtreePrevious; pOp->p4type = P4_ADVANCE; /* The code generator never codes any of these opcodes as a jump @@ -73660,6 +76604,17 @@ SQLITE_PRIVATE void sqlite3VdbeVerifyNoResultRow(Vdbe *p){ } #endif +/* +** Generate code (a single OP_Abortable opcode) that will +** verify that the VDBE program can safely call Abort in the current +** context. +*/ +#if defined(SQLITE_DEBUG) +SQLITE_PRIVATE void sqlite3VdbeVerifyAbortable(Vdbe *p, int onError){ + if( onError==OE_Abort ) sqlite3VdbeAddOp0(p, OP_Abortable); +} +#endif + /* ** This function returns a pointer to the array of opcodes associated with ** the Vdbe passed as the first argument. It is the callers responsibility @@ -74204,23 +77159,23 @@ static void displayP4Expr(StrAccum *p, Expr *pExpr){ const char *zOp = 0; switch( pExpr->op ){ case TK_STRING: - sqlite3XPrintf(p, "%Q", pExpr->u.zToken); + sqlite3_str_appendf(p, "%Q", pExpr->u.zToken); break; case TK_INTEGER: - sqlite3XPrintf(p, "%d", pExpr->u.iValue); + sqlite3_str_appendf(p, "%d", pExpr->u.iValue); break; case TK_NULL: - sqlite3XPrintf(p, "NULL"); + sqlite3_str_appendf(p, "NULL"); break; case TK_REGISTER: { - sqlite3XPrintf(p, "r[%d]", pExpr->iTable); + sqlite3_str_appendf(p, "r[%d]", pExpr->iTable); break; } case TK_COLUMN: { if( pExpr->iColumn<0 ){ - sqlite3XPrintf(p, "rowid"); + sqlite3_str_appendf(p, "rowid"); }else{ - sqlite3XPrintf(p, "c%d", (int)pExpr->iColumn); + sqlite3_str_appendf(p, "c%d", (int)pExpr->iColumn); } break; } @@ -74252,18 +77207,18 @@ static void displayP4Expr(StrAccum *p, Expr *pExpr){ case TK_NOTNULL: zOp = "NOTNULL"; break; default: - sqlite3XPrintf(p, "%s", "expr"); + sqlite3_str_appendf(p, "%s", "expr"); break; } if( zOp ){ - sqlite3XPrintf(p, "%s(", zOp); + sqlite3_str_appendf(p, "%s(", zOp); displayP4Expr(p, pExpr->pLeft); if( pExpr->pRight ){ - sqlite3StrAccumAppend(p, ",", 1); + sqlite3_str_append(p, ",", 1); displayP4Expr(p, pExpr->pRight); } - sqlite3StrAccumAppend(p, ")", 1); + sqlite3_str_append(p, ")", 1); } } #endif /* VDBE_DISPLAY_P4 && defined(SQLITE_ENABLE_CURSOR_HINTS) */ @@ -74284,14 +77239,15 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ int j; KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; assert( pKeyInfo->aSortOrder!=0 ); - sqlite3XPrintf(&x, "k(%d", pKeyInfo->nKeyField); + 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"; - sqlite3XPrintf(&x, ",%s%s", pKeyInfo->aSortOrder[j] ? "-" : "", zColl); + sqlite3_str_appendf(&x, ",%s%s", + pKeyInfo->aSortOrder[j] ? "-" : "", zColl); } - sqlite3StrAccumAppend(&x, ")", 1); + sqlite3_str_append(&x, ")", 1); break; } #ifdef SQLITE_ENABLE_CURSOR_HINTS @@ -74302,31 +77258,31 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ #endif case P4_COLLSEQ: { CollSeq *pColl = pOp->p4.pColl; - sqlite3XPrintf(&x, "(%.20s)", pColl->zName); + sqlite3_str_appendf(&x, "(%.20s)", pColl->zName); break; } case P4_FUNCDEF: { FuncDef *pDef = pOp->p4.pFunc; - sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); + sqlite3_str_appendf(&x, "%s(%d)", pDef->zName, pDef->nArg); break; } #if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) case P4_FUNCCTX: { FuncDef *pDef = pOp->p4.pCtx->pFunc; - sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); + sqlite3_str_appendf(&x, "%s(%d)", pDef->zName, pDef->nArg); break; } #endif case P4_INT64: { - sqlite3XPrintf(&x, "%lld", *pOp->p4.pI64); + sqlite3_str_appendf(&x, "%lld", *pOp->p4.pI64); break; } case P4_INT32: { - sqlite3XPrintf(&x, "%d", pOp->p4.i); + sqlite3_str_appendf(&x, "%d", pOp->p4.i); break; } case P4_REAL: { - sqlite3XPrintf(&x, "%.16g", *pOp->p4.pReal); + sqlite3_str_appendf(&x, "%.16g", *pOp->p4.pReal); break; } case P4_MEM: { @@ -74334,9 +77290,9 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ if( pMem->flags & MEM_Str ){ zP4 = pMem->z; }else if( pMem->flags & MEM_Int ){ - sqlite3XPrintf(&x, "%lld", pMem->u.i); + sqlite3_str_appendf(&x, "%lld", pMem->u.i); }else if( pMem->flags & MEM_Real ){ - sqlite3XPrintf(&x, "%.16g", pMem->u.r); + sqlite3_str_appendf(&x, "%.16g", pMem->u.r); }else if( pMem->flags & MEM_Null ){ zP4 = "NULL"; }else{ @@ -74348,7 +77304,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ #ifndef SQLITE_OMIT_VIRTUALTABLE case P4_VTAB: { sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab; - sqlite3XPrintf(&x, "vtab:%p", pVtab); + sqlite3_str_appendf(&x, "vtab:%p", pVtab); break; } #endif @@ -74358,14 +77314,14 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ int n = ai[0]; /* The first element of an INTARRAY is always the ** count of the number of elements to follow */ for(i=1; i<=n; i++){ - sqlite3XPrintf(&x, ",%d", ai[i]); + sqlite3_str_appendf(&x, ",%d", ai[i]); } zTemp[0] = '['; - sqlite3StrAccumAppend(&x, "]", 1); + sqlite3_str_append(&x, "]", 1); break; } case P4_SUBPROGRAM: { - sqlite3XPrintf(&x, "program"); + sqlite3_str_appendf(&x, "program"); break; } case P4_DYNBLOB: @@ -74374,7 +77330,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ break; } case P4_TABLE: { - sqlite3XPrintf(&x, "%s", pOp->p4.pTab->zName); + sqlite3_str_appendf(&x, "%s", pOp->p4.pTab->zName); break; } default: { @@ -74475,7 +77431,7 @@ SQLITE_PRIVATE void sqlite3VdbeLeave(Vdbe *p){ /* ** Print a single opcode. This routine is used for debugging only. */ -SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE *pOut, int pc, Op *pOp){ +SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE *pOut, int pc, VdbeOp *pOp){ char *zP4; char zPtr[50]; char zCom[100]; @@ -74544,9 +77500,8 @@ static void releaseMemArray(Mem *p, int N){ */ testcase( p->flags & MEM_Agg ); testcase( p->flags & MEM_Dyn ); - testcase( p->flags & MEM_Frame ); - testcase( p->flags & MEM_RowSet ); - if( p->flags&(MEM_Agg|MEM_Dyn|MEM_Frame|MEM_RowSet) ){ + testcase( p->xDel==sqlite3VdbeFrameMemDel ); + if( p->flags&(MEM_Agg|MEM_Dyn) ){ sqlite3VdbeMemRelease(p); }else if( p->szMalloc ){ sqlite3DbFreeNN(db, p->zMalloc); @@ -74558,6 +77513,35 @@ static void releaseMemArray(Mem *p, int N){ } } +#ifdef SQLITE_DEBUG +/* +** Verify that pFrame is a valid VdbeFrame pointer. Return true if it is +** and false if something is wrong. +** +** This routine is intended for use inside of assert() statements only. +*/ +SQLITE_PRIVATE int sqlite3VdbeFrameIsValid(VdbeFrame *pFrame){ + if( pFrame->iFrameMagic!=SQLITE_FRAME_MAGIC ) return 0; + return 1; +} +#endif + + +/* +** This is a destructor on a Mem object (which is really an sqlite3_value) +** that deletes the Frame object that is attached to it as a blob. +** +** This routine does not delete the Frame right away. It merely adds the +** frame to a list of frames to be deleted when the Vdbe halts. +*/ +SQLITE_PRIVATE void sqlite3VdbeFrameMemDel(void *pArg){ + VdbeFrame *pFrame = (VdbeFrame*)pArg; + assert( sqlite3VdbeFrameIsValid(pFrame) ); + pFrame->pParent = pFrame->v->pDelFrame; + pFrame->v->pDelFrame = pFrame; +} + + /* ** Delete a VdbeFrame object and its contents. VdbeFrame objects are ** allocated by the OP_Program opcode in sqlite3VdbeExec(). @@ -74566,6 +77550,7 @@ SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame *p){ int i; Mem *aMem = VdbeFrameMem(p); VdbeCursor **apCsr = (VdbeCursor **)&aMem[p->nChildMem]; + assert( sqlite3VdbeFrameIsValid(p) ); for(i=0; inChildCsr; i++){ sqlite3VdbeFreeCursor(p->v, apCsr[i]); } @@ -74586,6 +77571,9 @@ SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame *p){ ** p->explain==2, only OP_Explain instructions are listed and these ** are shown in a different format. p->explain==2 is used to implement ** EXPLAIN QUERY PLAN. +** 2018-04-24: In p->explain==2 mode, the OP_Init opcodes of triggers +** are also shown, so that the boundaries between the main program and +** each trigger are clear. ** ** When p->explain==1, first the main program is listed, then each of ** the trigger subprograms are listed one by one. @@ -74648,7 +77636,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( } } - do{ + while(1){ /* Loop exits via break */ i = p->pc++; if( i>=nRow ){ p->rc = SQLITE_OK; @@ -74694,7 +77682,10 @@ SQLITE_PRIVATE int sqlite3VdbeList( nRow += pOp->p4.pProgram->nOp; } } - }while( p->explain==2 && pOp->opcode!=OP_Explain ); + if( p->explain<2 ) break; + if( pOp->opcode==OP_Explain ) break; + if( pOp->opcode==OP_Init && p->pc>1 ) break; + } if( rc==SQLITE_OK ){ if( db->u1.isInterrupted ){ @@ -75856,7 +78847,7 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ */ sqlite3VdbeHalt(p); - /* If the VDBE has be run even partially, then transfer the error code + /* If the VDBE has been run even partially, then transfer the error code ** and error message from the VDBE into the main database structure. But ** if the VDBE has just been set to run but has not actually executed any ** instructions yet, leave the main database error information unchanged. @@ -75886,6 +78877,9 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = 0; p->pResultSet = 0; +#ifdef SQLITE_DEBUG + p->nWrite = 0; +#endif /* Save profiling information from this VDBE run. */ @@ -76001,6 +78995,9 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ vdbeFreeOpArray(db, p->aOp, p->nOp); sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); +#ifdef SQLITE_ENABLE_NORMALIZE + sqlite3DbFree(db, p->zNormSql); +#endif #ifdef SQLITE_ENABLE_STMT_SCANSTATUS { int i; @@ -76765,7 +79762,7 @@ static int isAllZero(const char *z, int n){ ** is less than, equal to, or greater than the second, respectively. ** If one blob is a prefix of the other, then the shorter is the lessor. */ -static SQLITE_NOINLINE int sqlite3BlobCompare(const Mem *pB1, const Mem *pB2){ +SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3BlobCompare(const Mem *pB1, const Mem *pB2){ int c; int n1 = pB1->n; int n2 = pB2->n; @@ -76808,13 +79805,10 @@ static int sqlite3IntFloatCompare(i64 i, double r){ i64 y; double s; if( r<-9223372036854775808.0 ) return +1; - if( r>9223372036854775807.0 ) return -1; + if( r>=9223372036854775808.0 ) return -1; y = (i64)r; if( iy ){ - if( y==SMALLEST_INT64 && r>0.0 ) return -1; - return +1; - } + if( i>y ) return +1; s = (double)i; if( sr ) return +1; @@ -76838,7 +79832,7 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const C f1 = pMem1->flags; f2 = pMem2->flags; combined_flags = f1|f2; - assert( (combined_flags & MEM_RowSet)==0 ); + assert( !sqlite3VdbeMemIsRowSet(pMem1) && !sqlite3VdbeMemIsRowSet(pMem2) ); /* If one value is NULL, it is less than the other. If both values ** are NULL, return 0. @@ -76983,7 +79977,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( u32 idx1; /* Offset of first type in header */ int rc = 0; /* Return value */ Mem *pRhs = pPKey2->aMem; /* Next field of pPKey2 to compare */ - KeyInfo *pKeyInfo = pPKey2->pKeyInfo; + KeyInfo *pKeyInfo; const unsigned char *aKey1 = (const unsigned char *)pKey1; Mem mem1; @@ -77078,7 +80072,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( if( (d1+mem1.n) > (unsigned)nKey1 ){ pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ - }else if( pKeyInfo->aColl[i] ){ + }else if( (pKeyInfo = pPKey2->pKeyInfo)->aColl[i] ){ mem1.enc = pKeyInfo->enc; mem1.db = pKeyInfo->db; mem1.flags = MEM_Str; @@ -77129,7 +80123,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( } if( rc!=0 ){ - if( pKeyInfo->aSortOrder[i] ){ + if( pPKey2->pKeyInfo->aSortOrder[i] ){ rc = -rc; } assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, rc) ); @@ -77138,10 +80132,11 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( } i++; + if( i==pPKey2->nField ) break; pRhs++; d1 += sqlite3VdbeSerialTypeLen(serial_type); idx1 += sqlite3VarintLen(serial_type); - }while( idx1<(unsigned)szHdr1 && inField && d1<=(unsigned)nKey1 ); + }while( idx1<(unsigned)szHdr1 && d1<=(unsigned)nKey1 ); /* No memory allocation is ever used on mem1. Prove this using ** the following assert(). If the assert() fails, it indicates a @@ -77153,7 +80148,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( ** value. */ assert( CORRUPT_DB || vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, pPKey2->default_rc) - || pKeyInfo->db->mallocFailed + || pPKey2->pKeyInfo->db->mallocFailed ); pPKey2->eqSeen = 1; return pPKey2->default_rc; @@ -77404,7 +80399,9 @@ SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ (void)getVarint32((u8*)m.z, szHdr); testcase( szHdr==3 ); testcase( szHdr==m.n ); - if( unlikely(szHdr<3 || (int)szHdr>m.n) ){ + testcase( szHdr>0x7fffffff ); + assert( m.n>=0 ); + if( unlikely(szHdr<3 || szHdr>(unsigned)m.n) ){ goto idx_rowid_corruption; } @@ -77479,7 +80476,7 @@ SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare( if( rc ){ return rc; } - *res = sqlite3VdbeRecordCompare(m.n, m.z, pUnpacked); + *res = sqlite3VdbeRecordCompareWithSkip(m.n, m.z, pUnpacked, 0); sqlite3VdbeMemRelease(&m); return SQLITE_OK; } @@ -77511,11 +80508,19 @@ SQLITE_PRIVATE void sqlite3VdbeCountChanges(Vdbe *v){ ** programs obsolete. Removing user-defined functions or collating ** sequences, or changing an authorization function are the types of ** things that make prepared statements obsolete. +** +** If iCode is 1, then expiration is advisory. The statement should +** be reprepared before being restarted, but if it is already running +** it is allowed to run to completion. +** +** Internally, this function just sets the Vdbe.expired flag on all +** prepared statements. The flag is set to 1 for an immediate expiration +** and set to 2 for an advisory expiration. */ -SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3 *db){ +SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3 *db, int iCode){ Vdbe *p; for(p = db->pVdbe; p; p=p->pNext){ - p->expired = 1; + p->expired = iCode+1; } } @@ -78077,14 +81082,12 @@ SQLITE_API void sqlite3_result_double(sqlite3_context *pCtx, double rVal){ SQLITE_API void sqlite3_result_error(sqlite3_context *pCtx, const char *z, int n){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; - pCtx->fErrorOrAux = 1; sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF8, SQLITE_TRANSIENT); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API void sqlite3_result_error16(sqlite3_context *pCtx, const void *z, int n){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; - pCtx->fErrorOrAux = 1; sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF16NATIVE, SQLITE_TRANSIENT); } #endif @@ -78190,8 +81193,7 @@ SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context *pCtx, u64 n){ return SQLITE_OK; } SQLITE_API void sqlite3_result_error_code(sqlite3_context *pCtx, int errCode){ - pCtx->isError = errCode; - pCtx->fErrorOrAux = 1; + pCtx->isError = errCode ? errCode : -1; #ifdef SQLITE_DEBUG if( pCtx->pVdbe ) pCtx->pVdbe->rcApp = errCode; #endif @@ -78205,7 +81207,6 @@ SQLITE_API void sqlite3_result_error_code(sqlite3_context *pCtx, int errCode){ SQLITE_API void sqlite3_result_error_toobig(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_TOOBIG; - pCtx->fErrorOrAux = 1; sqlite3VdbeMemSetStr(pCtx->pOut, "string or blob too big", -1, SQLITE_UTF8, SQLITE_STATIC); } @@ -78215,7 +81216,6 @@ SQLITE_API void sqlite3_result_error_nomem(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetNull(pCtx->pOut); pCtx->isError = SQLITE_NOMEM_BKPT; - pCtx->fErrorOrAux = 1; sqlite3OomFault(pCtx->pOut->db); } @@ -78497,28 +81497,6 @@ SQLITE_PRIVATE sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context *p){ return *piTime; } -/* -** The following is the implementation of an SQL function that always -** fails with an error message stating that the function is used in the -** wrong context. The sqlite3_overload_function() API might construct -** SQL function that use this routine so that the functions will exist -** for name resolution but are actually overloaded by the xFindFunction -** method of virtual tables. -*/ -SQLITE_PRIVATE void sqlite3InvalidFunction( - sqlite3_context *context, /* The function calling context */ - int NotUsed, /* Number of arguments to the function */ - sqlite3_value **NotUsed2 /* Value of each argument */ -){ - const char *zName = context->pFunc->zName; - char *zErr; - UNUSED_PARAMETER2(NotUsed, NotUsed2); - zErr = sqlite3_mprintf( - "unable to use function %s in the requested context", zName); - sqlite3_result_error(context, zErr, -1); - sqlite3_free(zErr); -} - /* ** Create a new aggregate context for p and return a pointer to ** its pMem->z element. @@ -78622,10 +81600,7 @@ SQLITE_API void sqlite3_set_auxdata( pAuxData->iAuxArg = iArg; pAuxData->pNextAux = pVdbe->pAuxData; pVdbe->pAuxData = pAuxData; - if( pCtx->fErrorOrAux==0 ){ - pCtx->isError = 0; - pCtx->fErrorOrAux = 1; - } + if( pCtx->isError==0 ) pCtx->isError = -1; }else if( pAuxData->xDeleteAux ){ pAuxData->xDeleteAux(pAuxData->pAux); } @@ -78705,7 +81680,7 @@ static const Mem *columnNullValue(void){ /* .xDel = */ (void(*)(void*))0, #ifdef SQLITE_DEBUG /* .pScopyFrom = */ (Mem*)0, - /* .pFiller = */ (void*)0, + /* .mScopyFlags= */ 0, #endif }; return &nullMem; @@ -79381,7 +82356,9 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ Vdbe *pVdbe = (Vdbe*)pStmt; u32 v; #ifdef SQLITE_ENABLE_API_ARMOR - if( !pStmt ){ + if( !pStmt + || (op!=SQLITE_STMTSTATUS_MEMUSED && (op<0||op>=ArraySize(pVdbe->aCounter))) + ){ (void)SQLITE_MISUSE_BKPT; return 0; } @@ -79435,6 +82412,16 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt){ #endif } +#ifdef SQLITE_ENABLE_NORMALIZE +/* +** Return the normalized SQL associated with a prepared statement. +*/ +SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt){ + Vdbe *p = (Vdbe *)pStmt; + return p ? p->zNormSql : 0; +} +#endif /* SQLITE_ENABLE_NORMALIZE */ + #ifdef SQLITE_ENABLE_PREUPDATE_HOOK /* ** Allocate and populate an UnpackedRecord structure based on the serialized @@ -79787,17 +82774,17 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( while( *zRawSql ){ const char *zStart = zRawSql; while( *(zRawSql++)!='\n' && *zRawSql ); - sqlite3StrAccumAppend(&out, "-- ", 3); + sqlite3_str_append(&out, "-- ", 3); assert( (zRawSql - zStart) > 0 ); - sqlite3StrAccumAppend(&out, zStart, (int)(zRawSql-zStart)); + sqlite3_str_append(&out, zStart, (int)(zRawSql-zStart)); } }else if( p->nVar==0 ){ - sqlite3StrAccumAppend(&out, zRawSql, sqlite3Strlen30(zRawSql)); + sqlite3_str_append(&out, zRawSql, sqlite3Strlen30(zRawSql)); }else{ while( zRawSql[0] ){ n = findNextHostParameter(zRawSql, &nToken); assert( n>0 ); - sqlite3StrAccumAppend(&out, zRawSql, n); + sqlite3_str_append(&out, zRawSql, n); zRawSql += n; assert( zRawSql[0] || nToken==0 ); if( nToken==0 ) break; @@ -79823,11 +82810,11 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( assert( idx>0 && idx<=p->nVar ); pVar = &p->aVar[idx-1]; if( pVar->flags & MEM_Null ){ - sqlite3StrAccumAppend(&out, "NULL", 4); + sqlite3_str_append(&out, "NULL", 4); }else if( pVar->flags & MEM_Int ){ - sqlite3XPrintf(&out, "%lld", pVar->u.i); + sqlite3_str_appendf(&out, "%lld", pVar->u.i); }else if( pVar->flags & MEM_Real ){ - sqlite3XPrintf(&out, "%!.15g", pVar->u.r); + sqlite3_str_appendf(&out, "%!.15g", pVar->u.r); }else if( pVar->flags & MEM_Str ){ int nOut; /* Number of bytes of the string text to include in output */ #ifndef SQLITE_OMIT_UTF16 @@ -79837,7 +82824,7 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( utf8.db = db; sqlite3VdbeMemSetStr(&utf8, pVar->z, pVar->n, enc, SQLITE_STATIC); if( SQLITE_NOMEM==sqlite3VdbeChangeEncoding(&utf8, SQLITE_UTF8) ){ - out.accError = STRACCUM_NOMEM; + out.accError = SQLITE_NOMEM; out.nAlloc = 0; } pVar = &utf8; @@ -79850,38 +82837,38 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( while( nOutn && (pVar->z[nOut]&0xc0)==0x80 ){ nOut++; } } #endif - sqlite3XPrintf(&out, "'%.*q'", nOut, pVar->z); + sqlite3_str_appendf(&out, "'%.*q'", nOut, pVar->z); #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOutn ){ - sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); + sqlite3_str_appendf(&out, "/*+%d bytes*/", pVar->n-nOut); } #endif #ifndef SQLITE_OMIT_UTF16 if( enc!=SQLITE_UTF8 ) sqlite3VdbeMemRelease(&utf8); #endif }else if( pVar->flags & MEM_Zero ){ - sqlite3XPrintf(&out, "zeroblob(%d)", pVar->u.nZero); + sqlite3_str_appendf(&out, "zeroblob(%d)", pVar->u.nZero); }else{ int nOut; /* Number of bytes of the blob to include in output */ assert( pVar->flags & MEM_Blob ); - sqlite3StrAccumAppend(&out, "x'", 2); + sqlite3_str_append(&out, "x'", 2); nOut = pVar->n; #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOut>SQLITE_TRACE_SIZE_LIMIT ) nOut = SQLITE_TRACE_SIZE_LIMIT; #endif for(i=0; iz[i]&0xff); + sqlite3_str_appendf(&out, "%02x", pVar->z[i]&0xff); } - sqlite3StrAccumAppend(&out, "'", 1); + sqlite3_str_append(&out, "'", 1); #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOutn ){ - sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); + sqlite3_str_appendf(&out, "/*+%d bytes*/", pVar->n-nOut); } #endif } } } - if( out.accError ) sqlite3StrAccumReset(&out); + if( out.accError ) sqlite3_str_reset(&out); return sqlite3StrAccumFinish(&out); } @@ -80013,32 +83000,56 @@ 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, 2 or 3, that indices how many different ways the -** branch can go. It is usually 2. "I" is the direction the branch -** goes. 0 means falls through. 1 means branch is taken. 2 means the -** second alternative branch is taken. +** 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. ** ** iSrcLine is the source code line (from the __LINE__ macro) that -** generated the VDBE instruction. This instrumentation assumes that all -** source code is in a single file (the amalgamation). Special values 1 -** and 2 for the iSrcLine parameter mean that this particular branch is -** always taken or never taken, respectively. +** generated the VDBE instruction combined with flag bits. The source +** code line number is in the lower 24 bits of iSrcLine and the upper +** 8 bytes are flags. The lower three bits of the flags indicate +** values for I that should never occur. For example, if the branch is +** always taken, the flags should be 0x05 since the fall-through and +** 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 +** interested in equal or not-equal. In other words, I==0 and I==2 +** should be treated the same. +** +** Since only a line number is retained, not the filename, this macro +** only works for amalgamation builds. But that is ok, since these macros +** should be no-ops except for special builds used to measure test coverage. */ #if !defined(SQLITE_VDBE_COVERAGE) # define VdbeBranchTaken(I,M) #else # define VdbeBranchTaken(I,M) vdbeTakeBranch(pOp->iSrcLine,I,M) - static void vdbeTakeBranch(int iSrcLine, u8 I, u8 M){ - if( iSrcLine<=2 && ALWAYS(iSrcLine>0) ){ - M = iSrcLine; - /* Assert the truth of VdbeCoverageAlwaysTaken() and - ** VdbeCoverageNeverTaken() */ - assert( (M & I)==I ); - }else{ - if( sqlite3GlobalConfig.xVdbeBranch==0 ) return; /*NO_TEST*/ - sqlite3GlobalConfig.xVdbeBranch(sqlite3GlobalConfig.pVdbeBranchArg, - iSrcLine,I,M); - } + static void vdbeTakeBranch(u32 iSrcLine, u8 I, u8 M){ + u8 mNever; + assert( I<=2 ); /* 0: fall through, 1: taken, 2: alternate taken */ + assert( M<=4 ); /* 2: two-way branch, 3: three-way branch, 4: OP_Jump */ + assert( I> 24; + assert( (I & mNever)==0 ); + if( sqlite3GlobalConfig.xVdbeBranch==0 ) return; /*NO_TEST*/ + I |= mNever; + if( M==2 ) I |= 0x04; + if( M==4 ){ + I |= 0x08; + if( (mNever&0x08)!=0 && (I&0x05)!=0) I |= 0x05; /*NO_TEST*/ + } + sqlite3GlobalConfig.xVdbeBranch(sqlite3GlobalConfig.pVdbeBranchArg, + iSrcLine&0xffffff, I, M); } #endif @@ -80155,6 +83166,11 @@ static void applyNumericAffinity(Mem *pRec, int bTryForInt){ pRec->flags |= MEM_Real; if( bTryForInt ) sqlite3VdbeIntegerAffinity(pRec); } + /* TEXT->NUMERIC is many->one. Hence, it is important to invalidate the + ** string representation after computing a numeric equivalent, because the + ** string representation might not be the canonical representation for the + ** numeric value. Ticket [343634942dd54ab57b7024] 2018-01-31. */ + pRec->flags &= ~MEM_Str; } /* @@ -80364,7 +83380,7 @@ static void memTracePrint(Mem *p){ }else if( p->flags & MEM_Real ){ printf(" r:%g", p->u.r); #endif - }else if( p->flags & MEM_RowSet ){ + }else if( sqlite3VdbeMemIsRowSet(p) ){ printf(" (rowset)"); }else{ char zBuf[200]; @@ -80623,7 +83639,7 @@ SQLITE_PRIVATE int sqlite3VdbeExec( assert( pOp>=aOp && pOp<&aOp[p->nOp]); #ifdef VDBE_PROFILE - start = sqlite3Hwtime(); + start = sqlite3NProfileCnt ? sqlite3NProfileCnt : sqlite3Hwtime(); #endif nVmStep++; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS @@ -80890,6 +83906,9 @@ case OP_Yield: { /* in1, jump */ */ case OP_HaltIfNull: { /* in3 */ pIn3 = &aMem[pOp->p3]; +#ifdef SQLITE_DEBUG + if( pOp->p2==OE_Abort ){ sqlite3VdbeAssertAbortable(p); } +#endif if( (pIn3->flags & MEM_Null)==0 ) break; /* Fall through into OP_Halt */ } @@ -80929,6 +83948,9 @@ case OP_Halt: { int pcx; pcx = (int)(pOp - aOp); +#ifdef SQLITE_DEBUG + if( pOp->p2==OE_Abort ){ sqlite3VdbeAssertAbortable(p); } +#endif if( pOp->p1==SQLITE_OK && p->pFrame ){ /* Halt the sub-program. Return control to the parent frame. */ pFrame = p->pFrame; @@ -81112,6 +84134,9 @@ case OP_Null: { /* out2 */ assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); pOut->flags = nullFlag = pOp->p1 ? (MEM_Null|MEM_Cleared) : MEM_Null; pOut->n = 0; +#ifdef SQLITE_DEBUG + pOut->uTemp = 0; +#endif while( cnt>0 ){ pOut++; memAboutToChange(p, pOut); @@ -81233,6 +84258,7 @@ case OP_Copy: { pOut = &aMem[pOp->p2]; assert( pOut!=pIn1 ); while( 1 ){ + memAboutToChange(p, pOut); sqlite3VdbeMemShallowCopy(pOut, pIn1, MEM_Ephem); Deephemeralize(pOut); #ifdef SQLITE_DEBUG @@ -81265,7 +84291,8 @@ case OP_SCopy: { /* out2 */ assert( pOut!=pIn1 ); sqlite3VdbeMemShallowCopy(pOut, pIn1, MEM_Ephem); #ifdef SQLITE_DEBUG - if( pOut->pScopyFrom==0 ) pOut->pScopyFrom = pIn1; + pOut->pScopyFrom = pIn1; + pOut->mScopyFlags = pIn1->flags; #endif break; } @@ -81899,7 +84926,12 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ if( (flags1 | flags3)&MEM_Str ){ if( (flags1 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn1,0); - testcase( flags3!=pIn3->flags ); /* Possible if pIn1==pIn3 */ + assert( flags3==pIn3->flags ); + /* testcase( flags3!=pIn3->flags ); + ** this used to be possible with pIn1==pIn3, but not since + ** the column cache was removed. The following assignment + ** is essentially a no-op. But, it provides defense-in-depth + ** in case our analysis is incorrect, so it is left in. */ flags3 = pIn3->flags; } if( (flags3 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ @@ -82113,11 +85145,11 @@ case OP_Compare: { */ case OP_Jump: { /* jump */ if( iCompare<0 ){ - VdbeBranchTaken(0,3); pOp = &aOp[pOp->p1 - 1]; + VdbeBranchTaken(0,4); pOp = &aOp[pOp->p1 - 1]; }else if( iCompare==0 ){ - VdbeBranchTaken(1,3); pOp = &aOp[pOp->p2 - 1]; + VdbeBranchTaken(1,4); pOp = &aOp[pOp->p2 - 1]; }else{ - VdbeBranchTaken(2,3); pOp = &aOp[pOp->p3 - 1]; + VdbeBranchTaken(2,4); pOp = &aOp[pOp->p3 - 1]; } break; } @@ -82147,18 +85179,8 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ int v1; /* Left operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ int v2; /* Right operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ - pIn1 = &aMem[pOp->p1]; - if( pIn1->flags & MEM_Null ){ - v1 = 2; - }else{ - v1 = sqlite3VdbeIntValue(pIn1)!=0; - } - pIn2 = &aMem[pOp->p2]; - if( pIn2->flags & MEM_Null ){ - v2 = 2; - }else{ - v2 = sqlite3VdbeIntValue(pIn2)!=0; - } + v1 = sqlite3VdbeBooleanValue(&aMem[pOp->p1], 2); + v2 = sqlite3VdbeBooleanValue(&aMem[pOp->p2], 2); if( pOp->opcode==OP_And ){ static const unsigned char and_logic[] = { 0, 0, 0, 0, 1, 2, 0, 2, 2 }; v1 = and_logic[v1*3+v2]; @@ -82176,6 +85198,35 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ break; } +/* Opcode: IsTrue P1 P2 P3 P4 * +** Synopsis: r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4 +** +** This opcode implements the IS TRUE, IS FALSE, IS NOT TRUE, and +** IS NOT FALSE operators. +** +** Interpret the value in register P1 as a boolean value. Store that +** boolean (a 0 or 1) in register P2. Or if the value in register P1 is +** NULL, then the P3 is stored in register P2. Invert the answer if P4 +** is 1. +** +** The logic is summarized like this: +** +**
        +**
      • If P3==0 and P4==0 then r[P2] := r[P1] IS TRUE +**
      • If P3==1 and P4==1 then r[P2] := r[P1] IS FALSE +**
      • If P3==0 and P4==1 then r[P2] := r[P1] IS NOT TRUE +**
      • If P3==1 and P4==0 then r[P2] := r[P1] IS NOT FALSE +**
      +*/ +case OP_IsTrue: { /* in1, out2 */ + assert( pOp->p4type==P4_INT32 ); + assert( pOp->p4.i==0 || pOp->p4.i==1 ); + assert( pOp->p3==0 || pOp->p3==1 ); + sqlite3VdbeMemSetInt64(&aMem[pOp->p2], + sqlite3VdbeBooleanValue(&aMem[pOp->p1], pOp->p3) ^ pOp->p4.i); + break; +} + /* Opcode: Not P1 P2 * * * ** Synopsis: r[P2]= !r[P1] ** @@ -82186,16 +85237,16 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ case OP_Not: { /* same as TK_NOT, in1, out2 */ pIn1 = &aMem[pOp->p1]; pOut = &aMem[pOp->p2]; - sqlite3VdbeMemSetNull(pOut); if( (pIn1->flags & MEM_Null)==0 ){ - pOut->flags = MEM_Int; - pOut->u.i = !sqlite3VdbeIntValue(pIn1); + sqlite3VdbeMemSetInt64(pOut, !sqlite3VdbeBooleanValue(pIn1,0)); + }else{ + sqlite3VdbeMemSetNull(pOut); } break; } /* Opcode: BitNot P1 P2 * * * -** Synopsis: r[P1]= ~r[P1] +** Synopsis: r[P2]= ~r[P1] ** ** Interpret the content of register P1 as an integer. Store the ** ones-complement of the P1 value into register P2. If P1 holds @@ -82256,30 +85307,25 @@ case OP_Once: { /* jump */ ** is considered true if it is numeric and non-zero. If the value ** in P1 is NULL then take the jump if and only if P3 is non-zero. */ +case OP_If: { /* jump, in1 */ + int c; + c = sqlite3VdbeBooleanValue(&aMem[pOp->p1], pOp->p3); + VdbeBranchTaken(c!=0, 2); + if( c ) goto jump_to_p2; + break; +} + /* Opcode: IfNot P1 P2 P3 * * ** ** Jump to P2 if the value in register P1 is False. The value ** is considered false if it has a numeric value of zero. If the value ** in P1 is NULL then take the jump if and only if P3 is non-zero. */ -case OP_If: /* jump, in1 */ case OP_IfNot: { /* jump, in1 */ int c; - pIn1 = &aMem[pOp->p1]; - if( pIn1->flags & MEM_Null ){ - c = pOp->p3; - }else{ -#ifdef SQLITE_OMIT_FLOATING_POINT - c = sqlite3VdbeIntValue(pIn1)!=0; -#else - c = sqlite3VdbeRealValue(pIn1)!=0.0; -#endif - if( pOp->opcode==OP_IfNot ) c = !c; - } + c = !sqlite3VdbeBooleanValue(&aMem[pOp->p1], !pOp->p3); VdbeBranchTaken(c!=0, 2); - if( c ){ - goto jump_to_p2; - } + if( c ) goto jump_to_p2; break; } @@ -82340,7 +85386,7 @@ case OP_IfNullRow: { /* jump */ ** P2 is the column number for the argument to the sqlite_offset() function. ** This opcode does not use P2 itself, but the P2 value is used by the ** code generator. The P1, P2, and P3 operands to this opcode are the -** as as for OP_Column. +** same as for OP_Column. ** ** This opcode is only available if SQLite is compiled with the ** -DSQLITE_ENABLE_OFFSET_SQL_FUNC option. @@ -82815,17 +85861,25 @@ case OP_MakeRecord: { if( nVarintdb->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } /* Make sure the output register has a buffer large enough to store ** the new record. The output register (pOp->p3) is not allowed to ** be one of the input registers (because the following call to ** sqlite3VdbeMemClearAndResize() could clobber the value before it is used). */ - if( sqlite3VdbeMemClearAndResize(pOut, (int)nByte) ){ - goto no_mem; + if( nByte+nZero<=pOut->szMalloc ){ + /* The output register is already large enough to hold the record. + ** No error checks or buffer enlargement is required */ + pOut->z = pOut->zMalloc; + }else{ + /* Need to make sure that the output is not too big and then enlarge + ** the output register to hold the full result */ + if( nByte+nZero>db->aLimit[SQLITE_LIMIT_LENGTH] ){ + goto too_big; + } + if( sqlite3VdbeMemClearAndResize(pOut, (int)nByte) ){ + goto no_mem; + } } zNewRecord = (u8 *)pOut->z; @@ -83015,7 +86069,7 @@ case OP_Savepoint: { } } if( isSchemaChange ){ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); sqlite3ResetAllSchemasOfConnection(db); db->mDbFlags |= DBFLAG_SchemaChange; } @@ -83157,8 +86211,7 @@ case OP_AutoCommit: { */ case OP_Transaction: { Btree *pBt; - int iMeta; - int iGen; + int iMeta = 0; assert( p->bIsReader ); assert( p->readOnly==0 || pOp->p2==0 ); @@ -83171,7 +86224,7 @@ case OP_Transaction: { pBt = db->aDb[pOp->p1].pBt; if( pBt ){ - rc = sqlite3BtreeBeginTrans(pBt, pOp->p2); + rc = sqlite3BtreeBeginTrans(pBt, pOp->p2, &iMeta); testcase( rc==SQLITE_BUSY_SNAPSHOT ); testcase( rc==SQLITE_BUSY_RECOVERY ); if( rc!=SQLITE_OK ){ @@ -83204,19 +86257,17 @@ case OP_Transaction: { p->nStmtDefCons = db->nDeferredCons; p->nStmtDefImmCons = db->nDeferredImmCons; } - - /* Gather the schema version number for checking: + } + assert( pOp->p5==0 || pOp->p4type==P4_INT32 ); + if( pOp->p5 + && (iMeta!=pOp->p3 + || db->aDb[pOp->p1].pSchema->iGeneration!=pOp->p4.i) + ){ + /* ** IMPLEMENTATION-OF: R-03189-51135 As each SQL statement runs, the schema ** version is checked to ensure that the schema has not changed since the ** SQL statement was prepared. */ - sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&iMeta); - iGen = db->aDb[pOp->p1].pSchema->iGeneration; - }else{ - iGen = iMeta = 0; - } - assert( pOp->p5==0 || pOp->p4type==P4_INT32 ); - if( pOp->p5 && (iMeta!=pOp->p3 || iGen!=pOp->p4.i) ){ sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = sqlite3DbStrDup(db, "database schema has changed"); /* If the schema-cookie from the database file matches the cookie @@ -83285,6 +86336,8 @@ case OP_ReadCookie: { /* out2 */ */ case OP_SetCookie: { Db *pDb; + + sqlite3VdbeIncrWriteCounter(p, 0); assert( pOp->p2p1>=0 && pOp->p1nDb ); assert( DbMaskTest(p->btreeMask, pOp->p1) ); @@ -83305,7 +86358,7 @@ case OP_SetCookie: { if( pOp->p1==1 ){ /* Invalidate all prepared statements whenever the TEMP database ** schema is changed. Ticket #1644 */ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); p->expired = 0; } if( rc ) goto abort_due_to_error; @@ -83323,59 +86376,78 @@ case OP_SetCookie: { ** values need not be contiguous but all P1 values should be small integers. ** It is an error for P1 to be negative. ** -** If P5!=0 then use the content of register P2 as the root page, not -** the value of P2 itself. -** -** There will be a read lock on the database whenever there is an -** open cursor. If the database was unlocked prior to this instruction -** then a read lock is acquired as part of this instruction. A read -** lock allows other processes to read the database but prohibits -** any other process from modifying the database. The read lock is -** released when all cursors are closed. If this instruction attempts -** to get a read lock but fails, the script terminates with an -** SQLITE_BUSY error code. +** Allowed P5 bits: +**
        +**
      • 0x02 OPFLAG_SEEKEQ: This cursor will only be used for +** equality lookups (implemented as a pair of opcodes OP_SeekGE/OP_IdxGT +** of OP_SeekLE/OP_IdxGT) +**
      ** ** The P4 value may be either an integer (P4_INT32) or a pointer to ** a KeyInfo structure (P4_KEYINFO). If it is a pointer to a KeyInfo -** structure, then said structure defines the content and collating -** sequence of the index being opened. Otherwise, if P4 is an integer -** value, it is set to the number of columns in the table. +** object, then table being opened must be an [index b-tree] where the +** KeyInfo object defines the content and collating +** sequence of that index b-tree. Otherwise, if P4 is an integer +** value, then the table being opened must be a [table b-tree] with a +** number of columns no less than the value of P4. ** ** See also: OpenWrite, ReopenIdx */ /* Opcode: ReopenIdx P1 P2 P3 P4 P5 ** Synopsis: root=P2 iDb=P3 ** -** The ReopenIdx opcode works exactly like ReadOpen except that it first -** checks to see if the cursor on P1 is already open with a root page -** number of P2 and if it is this opcode becomes a no-op. In other words, +** The ReopenIdx opcode works like OP_OpenRead except that it first +** checks to see if the cursor on P1 is already open on the same +** b-tree and if it is this opcode becomes a no-op. In other words, ** if the cursor is already open, do not reopen it. ** -** The ReopenIdx opcode may only be used with P5==0 and with P4 being -** a P4_KEYINFO object. Furthermore, the P3 value must be the same as -** every other ReopenIdx or OpenRead for the same cursor number. +** The ReopenIdx opcode may only be used with P5==0 or P5==OPFLAG_SEEKEQ +** and with P4 being a P4_KEYINFO object. Furthermore, the P3 value must +** be the same as every other ReopenIdx or OpenRead for the same cursor +** number. ** -** See the OpenRead opcode documentation for additional information. +** Allowed P5 bits: +**
        +**
      • 0x02 OPFLAG_SEEKEQ: This cursor will only be used for +** equality lookups (implemented as a pair of opcodes OP_SeekGE/OP_IdxGT +** of OP_SeekLE/OP_IdxGT) +**
      +** +** See also: OP_OpenRead, OP_OpenWrite */ /* Opcode: OpenWrite P1 P2 P3 P4 P5 ** Synopsis: root=P2 iDb=P3 ** ** Open a read/write cursor named P1 on the table or index whose root -** page is P2. Or if P5!=0 use the content of register P2 to find the -** root page. +** page is P2 (or whose root page is held in register P2 if the +** OPFLAG_P2ISREG bit is set in P5 - see below). ** ** The P4 value may be either an integer (P4_INT32) or a pointer to ** a KeyInfo structure (P4_KEYINFO). If it is a pointer to a KeyInfo -** structure, then said structure defines the content and collating -** sequence of the index being opened. Otherwise, if P4 is an integer -** value, it is set to the number of columns in the table, or to the -** largest index of any column of the table that is actually used. +** object, then table being opened must be an [index b-tree] where the +** KeyInfo object defines the content and collating +** sequence of that index b-tree. Otherwise, if P4 is an integer +** value, then the table being opened must be a [table b-tree] with a +** number of columns no less than the value of P4. ** -** This instruction works just like OpenRead except that it opens the cursor -** in read/write mode. For a given table, there can be one or more read-only -** cursors or a single read/write cursor but not both. +** Allowed P5 bits: +**
        +**
      • 0x02 OPFLAG_SEEKEQ: This cursor will only be used for +** equality lookups (implemented as a pair of opcodes OP_SeekGE/OP_IdxGT +** of OP_SeekLE/OP_IdxGT) +**
      • 0x08 OPFLAG_FORDELETE: This cursor is used only to seek +** and subsequently delete entries in an index btree. This is a +** hint to the storage engine that the storage engine is allowed to +** ignore. The hint is not used by the official SQLite b*tree storage +** engine, but is used by COMDB2. +**
      • 0x10 OPFLAG_P2ISREG: Use the content of register P2 +** as the root page, not the value of P2 itself. +**
      +** +** This instruction works like OpenRead except that it opens the cursor +** in read/write mode. ** -** See also OpenRead. +** See also: OP_OpenRead, OP_ReopenIdx */ case OP_ReopenIdx: { int nField; @@ -83404,7 +86476,7 @@ case OP_OpenWrite: assert( pOp->opcode==OP_OpenRead || pOp->opcode==OP_ReopenIdx || p->readOnly==0 ); - if( p->expired ){ + if( p->expired==1 ){ rc = SQLITE_ABORT_ROLLBACK; goto abort_due_to_error; } @@ -83431,6 +86503,7 @@ case OP_OpenWrite: if( pOp->p5 & OPFLAG_P2ISREG ){ assert( p2>0 ); assert( p2<=(p->nMem+1 - p->nCursor) ); + assert( pOp->opcode==OP_OpenWrite ); pIn2 = &aMem[p2]; assert( memIsValid(pIn2) ); assert( (pIn2->flags & MEM_Int)!=0 ); @@ -83559,7 +86632,7 @@ case OP_OpenEphemeral: { 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); + rc = sqlite3BtreeBeginTrans(pCx->pBtx, 1, 0); } if( rc==SQLITE_OK ){ /* If a transient index is required, create it by calling @@ -83786,10 +86859,10 @@ case OP_ColumnsUsed: { ** ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ -case OP_SeekLT: /* jump, in3 */ -case OP_SeekLE: /* jump, in3 */ -case OP_SeekGE: /* jump, in3 */ -case OP_SeekGT: { /* jump, in3 */ +case OP_SeekLT: /* jump, in3, group */ +case OP_SeekLE: /* jump, in3, group */ +case OP_SeekGE: /* jump, in3, group */ +case OP_SeekGT: { /* jump, in3, group */ int res; /* Comparison result */ int oc; /* Opcode */ VdbeCursor *pC; /* The cursor to seek */ @@ -83967,6 +87040,25 @@ case OP_SeekGT: { /* jump, in3 */ break; } +/* Opcode: SeekHit P1 P2 * * * +** Synopsis: seekHit=P2 +** +** Set the seekHit flag on cursor P1 to the value in P2. +** The seekHit flag is used by the IfNoHope opcode. +** +** P1 must be a valid b-tree cursor. P2 must be a boolean value, +** either 0 or 1. +*/ +case OP_SeekHit: { + VdbeCursor *pC; + assert( pOp->p1>=0 && pOp->p1nCursor ); + pC = p->apCsr[pOp->p1]; + assert( pC!=0 ); + assert( pOp->p2==0 || pOp->p2==1 ); + pC->seekHit = pOp->p2 & 1; + break; +} + /* Opcode: Found P1 P2 P3 P4 * ** Synopsis: key=r[P3@P4] ** @@ -84001,7 +87093,34 @@ case OP_SeekGT: { /* jump, in3 */ ** advanced in either direction. In other words, the Next and Prev ** opcodes do not work after this operation. ** -** See also: Found, NotExists, NoConflict +** See also: Found, NotExists, NoConflict, IfNoHope +*/ +/* Opcode: IfNoHope P1 P2 P3 P4 * +** Synopsis: key=r[P3@P4] +** +** Register P3 is the first of P4 registers that form an unpacked +** record. +** +** Cursor P1 is on an index btree. If the seekHit flag is set on P1, then +** this opcode is a no-op. But if the seekHit flag of P1 is clear, then +** check to see if there is any entry in P1 that matches the +** prefix identified by P3 and P4. If no entry matches the prefix, +** jump to P2. Otherwise fall through. +** +** This opcode behaves like OP_NotFound if the seekHit +** flag is clear and it behaves like OP_Noop if the seekHit flag is set. +** +** This opcode is used in IN clause processing for a multi-column key. +** If an IN clause is attached to an element of the key other than the +** left-most element, and if there are no matches on the most recent +** seek over the whole key, then it might be that one of the key element +** to the left is prohibiting a match, and hence there is "no hope" of +** any match regardless of how many IN clause elements are checked. +** In such a case, we abandon the IN clause search early, using this +** opcode. The opcode name comes from the fact that the +** jump is taken if there is "no hope" of achieving a match. +** +** See also: NotFound, SeekHit */ /* Opcode: NoConflict P1 P2 P3 P4 * ** Synopsis: key=r[P3@P4] @@ -84026,6 +87145,14 @@ case OP_SeekGT: { /* jump, in3 */ ** ** See also: NotFound, Found, NotExists */ +case OP_IfNoHope: { /* jump, in3 */ + VdbeCursor *pC; + assert( pOp->p1>=0 && pOp->p1nCursor ); + pC = p->apCsr[pOp->p1]; + assert( pC!=0 ); + if( pC->seekHit ) break; + /* Fall through into OP_NotFound */ +} case OP_NoConflict: /* jump, in3 */ case OP_NotFound: /* jump, in3 */ case OP_Found: { /* jump, in3 */ @@ -84163,18 +87290,26 @@ case OP_SeekRowid: { /* jump, in3 */ 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); - if( (pIn3->flags & MEM_Int)==0 ) goto jump_to_p2; + isNotInt = (pIn3->flags & MEM_Int)==0; + pIn3->flags = origFlags; + if( isNotInt ) goto jump_to_p2; } /* Fall through into OP_NotExists */ case OP_NotExists: /* jump, in3 */ pIn3 = &aMem[pOp->p3]; - assert( pIn3->flags & MEM_Int ); + assert( (pIn3->flags & MEM_Int)!=0 || pOp->opcode==OP_SeekRowid ); assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); #ifdef SQLITE_DEBUG - pC->seekOp = 0; + pC->seekOp = OP_SeekRowid; #endif assert( pC->isTable ); assert( pC->eCurType==CURTYPE_BTREE ); @@ -84249,6 +87384,7 @@ case OP_NewRowid: { /* out2 */ assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); + assert( pC->isTable ); assert( pC->eCurType==CURTYPE_BTREE ); assert( pC->uc.pCursor!=0 ); { @@ -84417,6 +87553,7 @@ case OP_InsertInt: { assert( (pOp->p5 & OPFLAG_ISNOOP) || pC->isTable ); assert( pOp->p4type==P4_TABLE || pOp->p4type>=P4_STATIC ); REGISTER_TRACE(pOp->p2, pData); + sqlite3VdbeIncrWriteCounter(p, pC); if( pOp->opcode==OP_Insert ){ pKey = &aMem[pOp->p3]; @@ -84531,6 +87668,7 @@ case OP_Delete: { assert( pC->eCurType==CURTYPE_BTREE ); assert( pC->uc.pCursor!=0 ); assert( pC->deferredMoveto==0 ); + sqlite3VdbeIncrWriteCounter(p, pC); #ifdef SQLITE_DEBUG if( pOp->p4type==P4_TABLE && HasRowid(pOp->p4.pTab) && pOp->p5==0 ){ @@ -84699,10 +87837,10 @@ case OP_SorterData: { ** If the P1 cursor must be pointing to a valid row (not a NULL row) ** of a real table, not a pseudo-table. ** -** If P3!=0 then this opcode is allowed to make an ephermeral pointer +** If P3!=0 then this opcode is allowed to make an ephemeral pointer ** into the database page. That means that the content of the output ** register will be invalidated as soon as the cursor moves - including -** moves caused by other cursors that "save" the the current cursors +** moves caused by other cursors that "save" the current cursors ** position in order that they can write to the same table. If P3==0 ** then a copy of the data is made into memory. P3!=0 is faster, but ** P3==0 is safer. @@ -84825,6 +87963,9 @@ case OP_NullRow: { assert( pC->uc.pCursor!=0 ); sqlite3BtreeClearCursor(pC->uc.pCursor); } +#ifdef SQLITE_DEBUG + if( pC->seekOp==0 ) pC->seekOp = OP_NullRow; +#endif break; } @@ -84943,7 +88084,7 @@ case OP_Sort: { /* jump */ p->aCounter[SQLITE_STMTSTATUS_SORT]++; /* Fall through into OP_Rewind */ } -/* Opcode: Rewind P1 P2 * * * +/* Opcode: Rewind P1 P2 * * P5 ** ** 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. @@ -84951,6 +88092,10 @@ 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. @@ -84975,6 +88120,9 @@ 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; } @@ -85011,12 +88159,7 @@ case OP_Rewind: { /* jump */ ** If P5 is positive and the jump is taken, then event counter ** number P5-1 in the prepared statement is incremented. ** -** See also: Prev, NextIfOpen -*/ -/* Opcode: NextIfOpen P1 P2 P3 P4 P5 -** -** This opcode works just like Next except that if cursor P1 is not -** open it behaves a no-op. +** See also: Prev */ /* Opcode: Prev P1 P2 P3 P4 P5 ** @@ -85044,11 +88187,6 @@ case OP_Rewind: { /* jump */ ** If P5 is positive and the jump is taken, then event counter ** number P5-1 in the prepared statement is incremented. */ -/* Opcode: PrevIfOpen P1 P2 P3 P4 P5 -** -** This opcode works just like Prev except that if cursor P1 is not -** open it behaves a no-op. -*/ /* Opcode: SorterNext P1 P2 * * P5 ** ** This opcode works just like OP_Next except that P1 must be a @@ -85063,10 +88201,6 @@ case OP_SorterNext: { /* jump */ assert( isSorter(pC) ); rc = sqlite3VdbeSorterNext(db, pC); goto next_tail; -case OP_PrevIfOpen: /* jump */ -case OP_NextIfOpen: /* jump */ - if( p->apCsr[pOp->p1]==0 ) break; - /* Fall through */ case OP_Prev: /* jump */ case OP_Next: /* jump */ assert( pOp->p1>=0 && pOp->p1nCursor ); @@ -85077,17 +88211,17 @@ case OP_Next: /* jump */ assert( pC->eCurType==CURTYPE_BTREE ); assert( pOp->opcode!=OP_Next || pOp->p4.xAdvance==sqlite3BtreeNext ); assert( pOp->opcode!=OP_Prev || pOp->p4.xAdvance==sqlite3BtreePrevious ); - assert( pOp->opcode!=OP_NextIfOpen || pOp->p4.xAdvance==sqlite3BtreeNext ); - assert( pOp->opcode!=OP_PrevIfOpen || pOp->p4.xAdvance==sqlite3BtreePrevious); - /* The Next opcode is only used after SeekGT, SeekGE, and Rewind. + /* The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. ** The Prev opcode is only used after SeekLT, SeekLE, and Last. */ - assert( pOp->opcode!=OP_Next || pOp->opcode!=OP_NextIfOpen + assert( pOp->opcode!=OP_Next || pC->seekOp==OP_SeekGT || pC->seekOp==OP_SeekGE - || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found); - assert( pOp->opcode!=OP_Prev || pOp->opcode!=OP_PrevIfOpen + || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found + || pC->seekOp==OP_NullRow); + assert( pOp->opcode!=OP_Prev || pC->seekOp==OP_SeekLT || pC->seekOp==OP_SeekLE - || pC->seekOp==OP_Last ); + || pC->seekOp==OP_Last + || pC->seekOp==OP_NullRow); rc = pOp->p4.xAdvance(pC->uc.pCursor, pOp->p3); next_tail: @@ -85149,6 +88283,7 @@ case OP_IdxInsert: { /* in2 */ assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; + sqlite3VdbeIncrWriteCounter(p, pC); assert( pC!=0 ); assert( isSorter(pC)==(pOp->opcode==OP_SorterInsert) ); pIn2 = &aMem[pOp->p2]; @@ -85195,6 +88330,7 @@ case OP_IdxDelete: { pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( pC->eCurType==CURTYPE_BTREE ); + sqlite3VdbeIncrWriteCounter(p, pC); pCrsr = pC->uc.pCursor; assert( pCrsr!=0 ); assert( pOp->p5==0 ); @@ -85368,7 +88504,13 @@ case OP_IdxGE: { /* jump */ } r.aMem = &aMem[pOp->p3]; #ifdef SQLITE_DEBUG - { int i; for(i=0; ip3+i, &aMem[pOp->p3+i]); + } + } #endif res = 0; /* Not needed. Only used to silence a warning. */ rc = sqlite3VdbeIdxKeyCompare(db, pC, &r, &res); @@ -85417,6 +88559,7 @@ case OP_Destroy: { /* out2 */ int iMoved; int iDb; + sqlite3VdbeIncrWriteCounter(p, 0); assert( p->readOnly==0 ); assert( pOp->p1>1 ); pOut = out2Prerelease(p, pOp); @@ -85466,6 +88609,7 @@ case OP_Destroy: { /* out2 */ case OP_Clear: { int nChange; + sqlite3VdbeIncrWriteCounter(p, 0); nChange = 0; assert( p->readOnly==0 ); assert( DbMaskTest(p->btreeMask, pOp->p2) ); @@ -85515,13 +88659,14 @@ case OP_ResetSorter: { ** Allocate a new b-tree in the main database file if P1==0 or in the ** TEMP database file if P1==1 or in an attached database if ** P1>1. The P3 argument must be 1 (BTREE_INTKEY) for a rowid table -** it must be 2 (BTREE_BLOBKEY) for a index or WITHOUT ROWID table. +** it must be 2 (BTREE_BLOBKEY) for an index or WITHOUT ROWID table. ** The root page number of the new b-tree is stored in register P2. */ case OP_CreateBtree: { /* out2 */ int pgno; Db *pDb; + sqlite3VdbeIncrWriteCounter(p, 0); pOut = out2Prerelease(p, pOp); pgno = 0; assert( pOp->p3==BTREE_INTKEY || pOp->p3==BTREE_BLOBKEY ); @@ -85541,6 +88686,7 @@ case OP_CreateBtree: { /* out2 */ ** Run the SQL statement or statements specified in the P4 string. */ case OP_SqlExec: { + sqlite3VdbeIncrWriteCounter(p, 0); db->nSqlExec++; rc = sqlite3_exec(db, pOp->p4.z, 0, 0, 0); db->nSqlExec--; @@ -85551,7 +88697,8 @@ case OP_SqlExec: { /* Opcode: ParseSchema P1 * * P4 * ** ** Read and parse all entries from the SQLITE_MASTER table of database P1 -** that match the WHERE clause P4. +** that match the WHERE clause P4. If P4 is a NULL pointer, then the +** entire schema for P1 is reparsed. ** ** This opcode invokes the parser to create a new virtual machine, ** then runs the new virtual machine. It is thus a re-entrant opcode. @@ -85575,11 +88722,22 @@ case OP_ParseSchema: { iDb = pOp->p1; assert( iDb>=0 && iDbnDb ); assert( DbHasProperty(db, iDb, DB_SchemaLoaded) ); - /* Used to be a conditional */ { + +#ifndef SQLITE_OMIT_ALTERTABLE + if( pOp->p4.z==0 ){ + sqlite3SchemaClear(db->aDb[iDb].pSchema); + db->mDbFlags &= ~DBFLAG_SchemaKnownOk; + rc = sqlite3InitOne(db, iDb, &p->zErrMsg, INITFLAG_AlterTable); + db->mDbFlags |= DBFLAG_SchemaChange; + p->expired = 0; + }else +#endif + { zMaster = MASTER_NAME; initData.db = db; - initData.iDb = pOp->p1; + initData.iDb = iDb; initData.pzErrMsg = &p->zErrMsg; + initData.mInitFlags = 0; zSql = sqlite3MPrintf(db, "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid", db->aDb[iDb].zDbSName, zMaster, pOp->p4.z); @@ -85630,6 +88788,7 @@ case OP_LoadAnalysis: { ** schema consistent with what is on disk. */ case OP_DropTable: { + sqlite3VdbeIncrWriteCounter(p, 0); sqlite3UnlinkAndDeleteTable(db, pOp->p1, pOp->p4.z); break; } @@ -85643,6 +88802,7 @@ case OP_DropTable: { ** schema consistent with what is on disk. */ case OP_DropIndex: { + sqlite3VdbeIncrWriteCounter(p, 0); sqlite3UnlinkAndDeleteIndex(db, pOp->p1, pOp->p4.z); break; } @@ -85656,6 +88816,7 @@ case OP_DropIndex: { ** schema consistent with what is on disk. */ case OP_DropTrigger: { + sqlite3VdbeIncrWriteCounter(p, 0); sqlite3UnlinkAndDeleteTrigger(db, pOp->p1, pOp->p4.z); break; } @@ -85729,11 +88890,11 @@ case OP_RowSetAdd: { /* in1, in2 */ pIn1 = &aMem[pOp->p1]; pIn2 = &aMem[pOp->p2]; assert( (pIn2->flags & MEM_Int)!=0 ); - if( (pIn1->flags & MEM_RowSet)==0 ){ - sqlite3VdbeMemSetRowSet(pIn1); - if( (pIn1->flags & MEM_RowSet)==0 ) goto no_mem; + if( (pIn1->flags & MEM_Blob)==0 ){ + if( sqlite3VdbeMemSetRowSet(pIn1) ) goto no_mem; } - sqlite3RowSetInsert(pIn1->u.pRowSet, pIn2->u.i); + assert( sqlite3VdbeMemIsRowSet(pIn1) ); + sqlite3RowSetInsert((RowSet*)pIn1->z, pIn2->u.i); break; } @@ -85749,8 +88910,9 @@ case OP_RowSetRead: { /* jump, in1, out3 */ i64 val; pIn1 = &aMem[pOp->p1]; - if( (pIn1->flags & MEM_RowSet)==0 - || sqlite3RowSetNext(pIn1->u.pRowSet, &val)==0 + assert( (pIn1->flags & MEM_Blob)==0 || sqlite3VdbeMemIsRowSet(pIn1) ); + if( (pIn1->flags & MEM_Blob)==0 + || sqlite3RowSetNext((RowSet*)pIn1->z, &val)==0 ){ /* The boolean index is empty */ sqlite3VdbeMemSetNull(pIn1); @@ -85799,20 +88961,19 @@ case OP_RowSetTest: { /* jump, in1, in3 */ /* If there is anything other than a rowset object in memory cell P1, ** delete it now and initialize P1 with an empty rowset */ - if( (pIn1->flags & MEM_RowSet)==0 ){ - sqlite3VdbeMemSetRowSet(pIn1); - if( (pIn1->flags & MEM_RowSet)==0 ) goto no_mem; + if( (pIn1->flags & MEM_Blob)==0 ){ + if( sqlite3VdbeMemSetRowSet(pIn1) ) goto no_mem; } - + assert( sqlite3VdbeMemIsRowSet(pIn1) ); assert( pOp->p4type==P4_INT32 ); assert( iSet==-1 || iSet>=0 ); if( iSet ){ - exists = sqlite3RowSetTest(pIn1->u.pRowSet, iSet, pIn3->u.i); + exists = sqlite3RowSetTest((RowSet*)pIn1->z, iSet, pIn3->u.i); VdbeBranchTaken(exists!=0,2); if( exists ) goto jump_to_p2; } if( iSet>=0 ){ - sqlite3RowSetInsert(pIn1->u.pRowSet, pIn3->u.i); + sqlite3RowSetInsert((RowSet*)pIn1->z, pIn3->u.i); } break; } @@ -85876,7 +89037,7 @@ case OP_Program: { /* jump */ ** of the current program, and the memory required at runtime to execute ** the trigger program. If this trigger has been fired before, then pRt ** is already allocated. Otherwise, it must be initialized. */ - if( (pRt->flags&MEM_Frame)==0 ){ + if( (pRt->flags&MEM_Blob)==0 ){ /* SubProgram.nMem is set to the number of memory cells used by the ** program stored in SubProgram.aOp. As well as these, one memory ** cell is required for each cursor used by the program. Set local @@ -85894,8 +89055,10 @@ case OP_Program: { /* jump */ goto no_mem; } sqlite3VdbeMemRelease(pRt); - pRt->flags = MEM_Frame; - pRt->u.pFrame = pFrame; + pRt->flags = MEM_Blob|MEM_Dyn; + pRt->z = (char*)pFrame; + pRt->n = nByte; + pRt->xDel = sqlite3VdbeFrameMemDel; pFrame->v = p; pFrame->nChildMem = nMem; @@ -85911,6 +89074,9 @@ case OP_Program: { /* jump */ #ifdef SQLITE_ENABLE_STMT_SCANSTATUS pFrame->anExec = p->anExec; #endif +#ifdef SQLITE_DEBUG + pFrame->iFrameMagic = SQLITE_FRAME_MAGIC; +#endif pEnd = &VdbeFrameMem(pFrame)[pFrame->nChildMem]; for(pMem=VdbeFrameMem(pFrame); pMem!=pEnd; pMem++){ @@ -85918,7 +89084,8 @@ case OP_Program: { /* jump */ pMem->db = db; } }else{ - pFrame = pRt->u.pFrame; + pFrame = (VdbeFrame*)pRt->z; + assert( pRt->xDel==sqlite3VdbeFrameMemDel ); assert( pProgram->nMem+pProgram->nCsr==pFrame->nChildMem || (pProgram->nCsr==0 && pProgram->nMem+1==pFrame->nChildMem) ); assert( pProgram->nCsr==pFrame->nChildCsr ); @@ -86147,24 +89314,35 @@ case OP_DecrJumpZero: { /* jump, in1 */ } -/* Opcode: AggStep0 * P2 P3 P4 P5 +/* Opcode: AggStep * P2 P3 P4 P5 ** Synopsis: accum=r[P3] step(r[P2@P5]) ** -** Execute the step function for an aggregate. The -** function has P5 arguments. P4 is a pointer to the FuncDef -** structure that specifies the function. Register P3 is the +** Execute the xStep function for an aggregate. +** The function has P5 arguments. P4 is a pointer to the +** FuncDef structure that specifies the function. Register P3 is the ** accumulator. ** ** The P5 arguments are taken from register P2 and its ** successors. */ -/* Opcode: AggStep * P2 P3 P4 P5 +/* Opcode: AggInverse * P2 P3 P4 P5 +** Synopsis: accum=r[P3] inverse(r[P2@P5]) +** +** Execute the xInverse function for an aggregate. +** The function has P5 arguments. P4 is a pointer to the +** FuncDef structure that specifies the function. Register P3 is the +** accumulator. +** +** The P5 arguments are taken from register P2 and its +** successors. +*/ +/* Opcode: AggStep1 P1 P2 P3 P4 P5 ** Synopsis: accum=r[P3] step(r[P2@P5]) ** -** Execute the step function for an aggregate. The -** function has P5 arguments. P4 is a pointer to an sqlite3_context -** object that is used to run the function. Register P3 is -** as the accumulator. +** Execute the xStep (if P1==0) or xInverse (if P1!=0) function for an +** aggregate. The function has P5 arguments. P4 is a pointer to the +** FuncDef structure that specifies the function. Register P3 is the +** accumulator. ** ** The P5 arguments are taken from register P2 and its ** successors. @@ -86175,7 +89353,8 @@ case OP_DecrJumpZero: { /* jump, in1 */ ** sqlite3_context only happens once, instead of on each call to the ** step function. */ -case OP_AggStep0: { +case OP_AggInverse: +case OP_AggStep: { int n; sqlite3_context *pCtx; @@ -86184,28 +89363,47 @@ case OP_AggStep0: { assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1) ); assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); - pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); + pCtx = sqlite3DbMallocRawNN(db, n*sizeof(sqlite3_value*) + + (sizeof(pCtx[0]) + sizeof(Mem) - sizeof(sqlite3_value*))); if( pCtx==0 ) goto no_mem; pCtx->pMem = 0; + pCtx->pOut = (Mem*)&(pCtx->argv[n]); + sqlite3VdbeMemInit(pCtx->pOut, db, MEM_Null); pCtx->pFunc = pOp->p4.pFunc; pCtx->iOp = (int)(pOp - aOp); pCtx->pVdbe = p; + pCtx->skipFlag = 0; + pCtx->isError = 0; pCtx->argc = n; pOp->p4type = P4_FUNCCTX; pOp->p4.pCtx = pCtx; - pOp->opcode = OP_AggStep; + + /* OP_AggInverse must have P1==1 and OP_AggStep must have P1==0 */ + assert( pOp->p1==(pOp->opcode==OP_AggInverse) ); + + pOp->opcode = OP_AggStep1; /* Fall through into OP_AggStep */ } -case OP_AggStep: { +case OP_AggStep1: { int i; sqlite3_context *pCtx; Mem *pMem; - Mem t; assert( pOp->p4type==P4_FUNCCTX ); pCtx = pOp->p4.pCtx; pMem = &aMem[pOp->p3]; +#ifdef SQLITE_DEBUG + if( pOp->p1 ){ + /* This is an OP_AggInverse call. Verify that xStep has always + ** been called at least once prior to any xInverse call. */ + assert( pMem->uTemp==0x1122e0e3 ); + }else{ + /* This is an OP_AggStep call. Mark it as such. */ + pMem->uTemp = 0x1122e0e3; + } +#endif + /* If this function is inside of a trigger, the register array in aMem[] ** might change from one evaluation to the next. The next block of code ** checks to see if the register array has changed, and if so it @@ -86223,48 +89421,80 @@ case OP_AggStep: { #endif pMem->n++; - sqlite3VdbeMemInit(&t, db, MEM_Null); - pCtx->pOut = &t; - pCtx->fErrorOrAux = 0; - pCtx->skipFlag = 0; + assert( pCtx->pOut->flags==MEM_Null ); + assert( pCtx->isError==0 ); + assert( pCtx->skipFlag==0 ); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pOp->p1 ){ + (pCtx->pFunc->xInverse)(pCtx,pCtx->argc,pCtx->argv); + }else +#endif (pCtx->pFunc->xSFunc)(pCtx,pCtx->argc,pCtx->argv); /* IMP: R-24505-23230 */ - if( pCtx->fErrorOrAux ){ - if( pCtx->isError ){ - sqlite3VdbeError(p, "%s", sqlite3_value_text(&t)); + + if( pCtx->isError ){ + if( pCtx->isError>0 ){ + sqlite3VdbeError(p, "%s", sqlite3_value_text(pCtx->pOut)); rc = pCtx->isError; } - sqlite3VdbeMemRelease(&t); + if( pCtx->skipFlag ){ + assert( pOp[-1].opcode==OP_CollSeq ); + i = pOp[-1].p1; + if( i ) sqlite3VdbeMemSetInt64(&aMem[i], 1); + pCtx->skipFlag = 0; + } + sqlite3VdbeMemRelease(pCtx->pOut); + pCtx->pOut->flags = MEM_Null; + pCtx->isError = 0; if( rc ) goto abort_due_to_error; - }else{ - assert( t.flags==MEM_Null ); - } - if( pCtx->skipFlag ){ - assert( pOp[-1].opcode==OP_CollSeq ); - i = pOp[-1].p1; - if( i ) sqlite3VdbeMemSetInt64(&aMem[i], 1); } + assert( pCtx->pOut->flags==MEM_Null ); + assert( pCtx->skipFlag==0 ); break; } /* Opcode: AggFinal P1 P2 * P4 * ** Synopsis: accum=r[P1] N=P2 ** -** Execute the finalizer function for an aggregate. P1 is -** the memory location that is the accumulator for the aggregate. +** P1 is the memory location that is the accumulator for an aggregate +** or window function. Execute the finalizer function +** for an aggregate and store the result in P1. +** +** P2 is the number of arguments that the step function takes and +** P4 is a pointer to the FuncDef for this function. The P2 +** argument is not used by this opcode. It is only there to disambiguate +** functions that can take varying numbers of arguments. The +** P4 argument is only needed for the case where +** the step function was not previously called. +*/ +/* Opcode: AggValue * P2 P3 P4 * +** Synopsis: r[P3]=value N=P2 +** +** Invoke the xValue() function and store the result in register P3. ** ** P2 is the number of arguments that the step function takes and ** P4 is a pointer to the FuncDef for this function. The P2 ** argument is not used by this opcode. It is only there to disambiguate ** functions that can take varying numbers of arguments. The -** P4 argument is only needed for the degenerate case where +** P4 argument is only needed for the case where ** the step function was not previously called. */ +case OP_AggValue: case OP_AggFinal: { Mem *pMem; assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); + assert( pOp->p3==0 || pOp->opcode==OP_AggValue ); pMem = &aMem[pOp->p1]; assert( (pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); - rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pOp->p3 ){ + rc = sqlite3VdbeMemAggValue(pMem, &aMem[pOp->p3], pOp->p4.pFunc); + pMem = &aMem[pOp->p3]; + }else +#endif + { + rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc); + } + if( rc ){ sqlite3VdbeError(p, "%s", sqlite3_value_text(pMem)); goto abort_due_to_error; @@ -86459,7 +89689,7 @@ case OP_IncrVacuum: { /* jump */ } #endif -/* Opcode: Expire P1 * * * * +/* Opcode: Expire P1 P2 * * * ** ** Cause precompiled statements to expire. When an expired statement ** is executed using sqlite3_step() it will either automatically @@ -86468,12 +89698,19 @@ case OP_IncrVacuum: { /* jump */ ** ** If P1 is 0, then all SQL statements become expired. If P1 is non-zero, ** then only the currently executing statement is expired. +** +** If P2 is 0, then SQL statements are expired immediately. If P2 is 1, +** then running SQL statements are allowed to continue to run to completion. +** The P2==1 case occurs when a CREATE INDEX or similar schema change happens +** that might help the statement run faster but which does not affect the +** correctness of operation. */ case OP_Expire: { + assert( pOp->p2==0 || pOp->p2==1 ); if( !pOp->p1 ){ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, pOp->p2); }else{ - p->expired = 1; + p->expired = pOp->p2+1; } break; } @@ -86695,10 +89932,11 @@ case OP_VFilter: { /* jump */ ** ** If the VColumn opcode is being used to fetch the value of ** an unchanging column during an UPDATE operation, then the P5 -** value is 1. Otherwise, P5 is 0. The P5 value is returned -** by sqlite3_vtab_nochange() routine can can be used -** by virtual table implementations to return special "no-change" -** marks which can be more efficient, depending on the virtual table. +** value is OPFLAG_NOCHNG. This will cause the sqlite3_vtab_nochange() +** function to return true inside the xColumn method of the virtual +** table implementation. The P5 column might also contain other +** bits (OPFLAG_LENGTHARG or OPFLAG_TYPEOFARG) but those bits are +** unused by OP_VColumn. */ case OP_VColumn: { sqlite3_vtab *pVtab; @@ -86720,7 +89958,8 @@ case OP_VColumn: { assert( pModule->xColumn ); memset(&sContext, 0, sizeof(sContext)); sContext.pOut = pDest; - if( pOp->p5 ){ + testcase( (pOp->p5 & OPFLAG_NOCHNG)==0 && pOp->p5!=0 ); + if( pOp->p5 & OPFLAG_NOCHNG ){ sqlite3VdbeMemSetNull(pDest); pDest->flags = MEM_Null|MEM_Zero; pDest->u.nZero = 0; @@ -86729,7 +89968,8 @@ case OP_VColumn: { } rc = pModule->xColumn(pCur->uc.pVCur, &sContext, pOp->p2); sqlite3VtabImportErrmsg(p, pVtab); - if( sContext.isError ){ + if( sContext.isError>0 ){ + sqlite3VdbeError(p, "%s", sqlite3_value_text(pDest)); rc = sContext.isError; } sqlite3VdbeChangeEncoding(pDest, encoding); @@ -86796,7 +90036,10 @@ case OP_VNext: { /* jump */ case OP_VRename: { sqlite3_vtab *pVtab; Mem *pName; - + int isLegacy; + + isLegacy = (db->flags & SQLITE_LegacyAlter); + db->flags |= SQLITE_LegacyAlter; pVtab = pOp->p4.pVtab->pVtab; pName = &aMem[pOp->p1]; assert( pVtab->pModule->xRename ); @@ -86810,6 +90053,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; sqlite3VtabImportErrmsg(p, pVtab); p->expired = 0; if( rc ) goto abort_due_to_error; @@ -86858,6 +90102,8 @@ case OP_VUpdate: { || pOp->p5==OE_Abort || pOp->p5==OE_Ignore || pOp->p5==OE_Replace ); assert( p->readOnly==0 ); + if( db->mallocFailed ) goto no_mem; + sqlite3VdbeIncrWriteCounter(p, 0); pVtab = pOp->p4.pVtab->pVtab; if( pVtab==0 || NEVER(pVtab->pModule==0) ){ rc = SQLITE_LOCKED; @@ -86978,8 +90224,8 @@ case OP_MaxPgcnt: { /* out2 */ ** ** See also: Function0, AggStep, AggFinal */ -case OP_PureFunc0: -case OP_Function0: { +case OP_PureFunc0: /* group */ +case OP_Function0: { /* group */ int n; sqlite3_context *pCtx; @@ -86994,6 +90240,7 @@ case OP_Function0: { pCtx->pFunc = pOp->p4.pFunc; pCtx->iOp = (int)(pOp - aOp); pCtx->pVdbe = p; + pCtx->isError = 0; pCtx->argc = n; pOp->p4type = P4_FUNCCTX; pOp->p4.pCtx = pCtx; @@ -87002,8 +90249,8 @@ case OP_Function0: { pOp->opcode += 2; /* Fall through into OP_Function */ } -case OP_PureFunc: -case OP_Function: { +case OP_PureFunc: /* group */ +case OP_Function: { /* group */ int i; sqlite3_context *pCtx; @@ -87028,16 +90275,17 @@ case OP_Function: { } #endif MemSetTypeFlag(pOut, MEM_Null); - pCtx->fErrorOrAux = 0; + assert( pCtx->isError==0 ); (*pCtx->pFunc->xSFunc)(pCtx, pCtx->argc, pCtx->argv);/* IMP: R-24505-23230 */ /* If the function returned an error, throw an exception */ - if( pCtx->fErrorOrAux ){ - if( pCtx->isError ){ + if( pCtx->isError ){ + if( pCtx->isError>0 ){ sqlite3VdbeError(p, "%s", sqlite3_value_text(pOut)); rc = pCtx->isError; } sqlite3VdbeDeleteAuxData(db, &p->pAuxData, pCtx->iOp, pOp->p1); + pCtx->isError = 0; if( rc ) goto abort_due_to_error; } @@ -87079,8 +90327,10 @@ case OP_Function: { */ case OP_Trace: case OP_Init: { /* jump */ - char *zTrace; int i; +#ifndef SQLITE_OMIT_TRACE + char *zTrace; +#endif /* If the P4 argument is not NULL, then it must be an SQL comment string. ** The "--" string is broken up to prevent false-positives with srcck1.c. @@ -87171,6 +90421,22 @@ case OP_CursorHint: { } #endif /* SQLITE_ENABLE_CURSOR_HINTS */ +#ifdef SQLITE_DEBUG +/* Opcode: Abortable * * * * * +** +** Verify that an Abort can happen. Assert if an Abort at this point +** might cause database corruption. This opcode only appears in debugging +** builds. +** +** An Abort is safe if either there have been no writes, or if there is +** an active statement journal. +*/ +case OP_Abortable: { + sqlite3VdbeAssertAbortable(p); + break; +} +#endif + /* Opcode: Noop * * * * * ** ** Do nothing. This instruction is often useful as a jump @@ -87182,8 +90448,9 @@ case OP_CursorHint: { ** This opcode records information from the optimizer. It is the ** the same as a no-op. This opcodesnever appears in a real VM program. */ -default: { /* This is really OP_Noop and OP_Explain */ +default: { /* This is really OP_Noop, OP_Explain */ assert( pOp->opcode==OP_Noop || pOp->opcode==OP_Explain ); + break; } @@ -87197,7 +90464,7 @@ default: { /* This is really OP_Noop and OP_Explain */ #ifdef VDBE_PROFILE { - u64 endTime = sqlite3Hwtime(); + u64 endTime = sqlite3NProfileCnt ? sqlite3NProfileCnt : sqlite3Hwtime(); if( endTime>start ) pOrigOp->cycles += endTime - start; pOrigOp->cnt++; } @@ -89908,7 +93175,11 @@ static int vdbeMergeEngineInit( ){ int rc = SQLITE_OK; /* Return code */ int i; /* For looping over PmaReader objects */ - int nTree = pMerger->nTree; + int nTree; /* Number of subtrees to merge */ + + /* Failure to allocate the merge would have been detected prior to + ** invoking this routine */ + assert( pMerger!=0 ); /* eMode is always INCRINIT_NORMAL in single-threaded mode */ assert( SQLITE_MAX_WORKER_THREADS>0 || eMode==INCRINIT_NORMAL ); @@ -89917,6 +93188,7 @@ static int vdbeMergeEngineInit( assert( pMerger->pTask==0 ); pMerger->pTask = pTask; + nTree = pMerger->nTree; for(i=0; i0 && eMode==INCRINIT_ROOT ){ /* PmaReaders should be normally initialized in order, as if they are @@ -91045,6 +94317,14 @@ static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ }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; + } +#endif } break; } @@ -91228,29 +94508,31 @@ static void resolveAlias( assert( pOrig!=0 ); db = pParse->db; pDup = sqlite3ExprDup(db, pOrig, 0); - if( pDup==0 ) return; - if( zType[0]!='G' ) incrAggFunctionDepth(pDup, nSubquery); - if( pExpr->op==TK_COLLATE ){ - pDup = sqlite3ExprAddCollateString(pParse, pDup, pExpr->u.zToken); - } - ExprSetProperty(pDup, EP_Alias); + if( pDup!=0 ){ + if( zType[0]!='G' ) incrAggFunctionDepth(pDup, nSubquery); + 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, - ** allowing it to be repopulated by the memcpy() on the following line. - ** The pExpr->u.zToken might point into memory that will be freed by the - ** sqlite3DbFree(db, pDup) on the last line of this block, so be sure to - ** make a copy of the token before doing the sqlite3DbFree(). - */ - ExprSetProperty(pExpr, EP_Static); - sqlite3ExprDelete(db, pExpr); - memcpy(pExpr, pDup, sizeof(*pExpr)); - if( !ExprHasProperty(pExpr, EP_IntValue) && pExpr->u.zToken!=0 ){ - assert( (pExpr->flags & (EP_Reduced|EP_TokenOnly))==0 ); - pExpr->u.zToken = sqlite3DbStrDup(db, pExpr->u.zToken); - pExpr->flags |= EP_MemToken; + /* Before calling sqlite3ExprDelete(), set the EP_Static flag. This + ** prevents ExprDelete() from deleting the Expr structure itself, + ** allowing it to be repopulated by the memcpy() on the following line. + ** The pExpr->u.zToken might point into memory that will be freed by the + ** sqlite3DbFree(db, pDup) on the last line of this block, so be sure to + ** make a copy of the token before doing the sqlite3DbFree(). + */ + ExprSetProperty(pExpr, EP_Static); + sqlite3ExprDelete(db, pExpr); + memcpy(pExpr, pDup, sizeof(*pExpr)); + if( !ExprHasProperty(pExpr, EP_IntValue) && pExpr->u.zToken!=0 ){ + assert( (pExpr->flags & (EP_Reduced|EP_TokenOnly))==0 ); + pExpr->u.zToken = sqlite3DbStrDup(db, pExpr->u.zToken); + pExpr->flags |= EP_MemToken; + } + sqlite3DbFree(db, pDup); } - sqlite3DbFree(db, pDup); + ExprSetProperty(pExpr, EP_Alias); } @@ -91310,7 +94592,7 @@ SQLITE_PRIVATE int sqlite3MatchSpanName( ** (even if X is implied). ** pExpr->iTable Set to the cursor number for the table obtained ** from pSrcList. -** pExpr->pTab Points to the Table structure of X.Y (even if +** pExpr->y.pTab Points to the Table structure of X.Y (even if ** X and/or Y are implied.) ** pExpr->iColumn Set to the column number within the table. ** pExpr->op Set to TK_COLUMN. @@ -91344,7 +94626,7 @@ static int lookupName( struct SrcList_item *pMatch = 0; /* The matching pSrcList item */ NameContext *pTopNC = pNC; /* First namecontext in the list */ Schema *pSchema = 0; /* Schema of the expression */ - int isTrigger = 0; /* True if resolved to a trigger column */ + int eNewExprOp = TK_COLUMN; /* New value for pExpr->op on success */ Table *pTab = 0; /* Table hold the row */ Column *pCol; /* A column of pTab */ @@ -91354,7 +94636,6 @@ static int lookupName( /* Initialize the node to no-match */ pExpr->iTable = -1; - pExpr->pTab = 0; ExprSetVVAProperty(pExpr, EP_NoReduce); /* Translate the schema name in zDb into a pointer to the corresponding @@ -91415,6 +94696,9 @@ static int lookupName( if( sqlite3StrICmp(zTabName, zTab)!=0 ){ continue; } + if( IN_RENAME_OBJECT && pItem->zAlias ){ + sqlite3RenameTokenRemap(pParse, 0, (void*)&pExpr->y.pTab); + } } if( 0==(cntTab++) ){ pMatch = pItem; @@ -91439,32 +94723,45 @@ static int lookupName( } if( pMatch ){ pExpr->iTable = pMatch->iCursor; - pExpr->pTab = pMatch->pTab; + pExpr->y.pTab = pMatch->pTab; /* RIGHT JOIN not (yet) supported */ assert( (pMatch->fg.jointype & JT_RIGHT)==0 ); if( (pMatch->fg.jointype & JT_LEFT)!=0 ){ ExprSetProperty(pExpr, EP_CanBeNull); } - pSchema = pExpr->pTab->pSchema; + pSchema = pExpr->y.pTab->pSchema; } } /* if( pSrcList ) */ -#ifndef SQLITE_OMIT_TRIGGER +#if !defined(SQLITE_OMIT_TRIGGER) || !defined(SQLITE_OMIT_UPSERT) /* If we have not already resolved the name, then maybe - ** it is a new.* or old.* trigger argument reference + ** it is a new.* or old.* trigger argument reference. Or + ** maybe it is an excluded.* from an upsert. */ - if( zDb==0 && zTab!=0 && cntTab==0 && pParse->pTriggerTab!=0 ){ - int op = pParse->eTriggerOp; - assert( op==TK_DELETE || op==TK_UPDATE || op==TK_INSERT ); - if( op!=TK_DELETE && sqlite3StrICmp("new",zTab) == 0 ){ - pExpr->iTable = 1; - pTab = pParse->pTriggerTab; - }else if( op!=TK_INSERT && sqlite3StrICmp("old",zTab)==0 ){ - pExpr->iTable = 0; - pTab = pParse->pTriggerTab; - }else{ - pTab = 0; + if( zDb==0 && zTab!=0 && cntTab==0 ){ + pTab = 0; +#ifndef SQLITE_OMIT_TRIGGER + if( pParse->pTriggerTab!=0 ){ + int op = pParse->eTriggerOp; + assert( op==TK_DELETE || op==TK_UPDATE || op==TK_INSERT ); + if( op!=TK_DELETE && sqlite3StrICmp("new",zTab) == 0 ){ + pExpr->iTable = 1; + pTab = pParse->pTriggerTab; + }else if( op!=TK_INSERT && sqlite3StrICmp("old",zTab)==0 ){ + pExpr->iTable = 0; + pTab = pParse->pTriggerTab; + } + } +#endif /* SQLITE_OMIT_TRIGGER */ +#ifndef SQLITE_OMIT_UPSERT + if( (pNC->ncFlags & NC_UUpsert)!=0 ){ + Upsert *pUpsert = pNC->uNC.pUpsert; + if( pUpsert && sqlite3StrICmp("excluded",zTab)==0 ){ + pTab = pUpsert->pUpsertSrc->a[0].pTab; + pExpr->iTable = 2; + } } +#endif /* SQLITE_OMIT_UPSERT */ if( pTab ){ int iCol; @@ -91484,24 +94781,42 @@ static int lookupName( } if( iColnCol ){ cnt++; - if( iCol<0 ){ - pExpr->affinity = SQLITE_AFF_INTEGER; - }else if( pExpr->iTable==0 ){ - testcase( iCol==31 ); - testcase( iCol==32 ); - pParse->oldmask |= (iCol>=32 ? 0xffffffff : (((u32)1)<newmask |= (iCol>=32 ? 0xffffffff : (((u32)1)<iTable==2 ){ + testcase( iCol==(-1) ); + if( IN_RENAME_OBJECT ){ + pExpr->iColumn = iCol; + pExpr->y.pTab = pTab; + eNewExprOp = TK_COLUMN; + }else{ + pExpr->iTable = pNC->uNC.pUpsert->regData + iCol; + eNewExprOp = TK_REGISTER; + ExprSetProperty(pExpr, EP_Alias); + } + }else +#endif /* SQLITE_OMIT_UPSERT */ + { +#ifndef SQLITE_OMIT_TRIGGER + if( iCol<0 ){ + pExpr->affinity = SQLITE_AFF_INTEGER; + }else if( pExpr->iTable==0 ){ + testcase( iCol==31 ); + testcase( iCol==32 ); + pParse->oldmask |= (iCol>=32 ? 0xffffffff : (((u32)1)<newmask |= (iCol>=32 ? 0xffffffff : (((u32)1)<y.pTab = pTab; + pExpr->iColumn = (i16)iCol; + eNewExprOp = TK_TRIGGER; +#endif /* SQLITE_OMIT_TRIGGER */ } - pExpr->iColumn = (i16)iCol; - pExpr->pTab = pTab; - isTrigger = 1; } } } -#endif /* !defined(SQLITE_OMIT_TRIGGER) */ +#endif /* !defined(SQLITE_OMIT_TRIGGER) || !defined(SQLITE_OMIT_UPSERT) */ /* ** Perhaps the name is a reference to the ROWID @@ -91536,10 +94851,12 @@ static int lookupName( ** is supported for backwards compatibility only. Hence, we issue a warning ** on sqlite3_log() whenever the capability is used. */ - if( (pEList = pNC->pEList)!=0 - && zTab==0 + if( (pNC->ncFlags & NC_UEList)!=0 && cnt==0 + && zTab==0 ){ + pEList = pNC->uNC.pEList; + assert( pEList!=0 ); for(j=0; jnExpr; j++){ char *zAs = pEList->a[j].zName; if( zAs!=0 && sqlite3StrICmp(zAs, zCol)==0 ){ @@ -91560,6 +94877,9 @@ static int lookupName( cnt = 1; pMatch = 0; assert( zTab==0 && zDb==0 ); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, 0, (void*)pExpr); + } goto lookupname_end; } } @@ -91584,10 +94904,16 @@ static int lookupName( ** Because no reference was made to outer contexts, the pNC->nRef ** fields are not changed in any context. */ - if( cnt==0 && zTab==0 && ExprHasProperty(pExpr,EP_DblQuoted) ){ - pExpr->op = TK_STRING; - pExpr->pTab = 0; - return WRC_Prune; + if( cnt==0 && zTab==0 ){ + assert( pExpr->op==TK_ID ); + if( ExprHasProperty(pExpr,EP_DblQuoted) ){ + pExpr->op = TK_STRING; + pExpr->y.pTab = 0; + return WRC_Prune; + } + if( sqlite3ExprIdToTrueFalse(pExpr) ){ + return WRC_Prune; + } } /* @@ -91630,7 +94956,7 @@ static int lookupName( pExpr->pLeft = 0; sqlite3ExprDelete(db, pExpr->pRight); pExpr->pRight = 0; - pExpr->op = (isTrigger ? TK_TRIGGER : TK_COLUMN); + pExpr->op = eNewExprOp; ExprSetProperty(pExpr, EP_Leaf); lookupname_end: if( cnt==1 ){ @@ -91660,9 +94986,9 @@ SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSr Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0); if( p ){ struct SrcList_item *pItem = &pSrc->a[iSrc]; - p->pTab = pItem->pTab; + p->y.pTab = pItem->pTab; p->iTable = pItem->iCursor; - if( p->pTab->iPKey==iCol ){ + if( p->y.pTab->iPKey==iCol ){ p->iColumn = -1; }else{ p->iColumn = (ynVar)iCol; @@ -91752,7 +95078,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pItem = pSrcList->a; assert( HasRowid(pItem->pTab) && pItem->pTab->pSelect==0 ); pExpr->op = TK_COLUMN; - pExpr->pTab = pItem->pTab; + pExpr->y.pTab = pItem->pTab; pExpr->iTable = pItem->iCursor; pExpr->iColumn = -1; pExpr->affinity = SQLITE_AFF_INTEGER; @@ -91781,17 +95107,22 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ zTable = 0; zColumn = pExpr->u.zToken; }else{ + Expr *pLeft = pExpr->pLeft; notValid(pParse, pNC, "the \".\" operator", NC_IdxExpr); pRight = pExpr->pRight; if( pRight->op==TK_ID ){ zDb = 0; - zTable = pExpr->pLeft->u.zToken; - zColumn = pRight->u.zToken; }else{ assert( pRight->op==TK_DOT ); - zDb = pExpr->pLeft->u.zToken; - zTable = pRight->pLeft->u.zToken; - zColumn = pRight->pRight->u.zToken; + zDb = pLeft->u.zToken; + pLeft = pRight->pLeft; + pRight = pRight->pRight; + } + zTable = pLeft->u.zToken; + zColumn = pRight->u.zToken; + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, (void*)pExpr, (void*)pRight); + sqlite3RenameTokenRemap(pParse, (void*)&pExpr->y.pTab, (void*)pLeft); } } return lookupName(pParse, zDb, zTable, zColumn, pNC, pExpr); @@ -91873,41 +95204,105 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ notValid(pParse, pNC, "non-deterministic functions", NC_IdxExpr|NC_PartIdx); } + if( (pDef->funcFlags & SQLITE_FUNC_INTERNAL)!=0 + && pParse->nested==0 + && sqlite3Config.bInternalFunctions==0 + ){ + /* Internal-use-only functions are disallowed unless the + ** SQL is being compiled using sqlite3NestedParse() */ + no_such_func = 1; + pDef = 0; + } } - if( is_agg && (pNC->ncFlags & NC_AllowAgg)==0 ){ - sqlite3ErrorMsg(pParse, "misuse of aggregate function %.*s()", nId,zId); - pNC->nErr++; - is_agg = 0; - }else if( no_such_func && pParse->db->init.busy==0 + + if( 0==IN_RENAME_OBJECT ){ +#ifndef SQLITE_OMIT_WINDOWFUNC + assert( is_agg==0 || (pDef->funcFlags & SQLITE_FUNC_MINMAX) + || (pDef->xValue==0 && pDef->xInverse==0) + || (pDef->xValue && pDef->xInverse && pDef->xSFunc && pDef->xFinalize) + ); + if( pDef && pDef->xValue==0 && ExprHasProperty(pExpr, EP_WinFunc) ){ + 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) + ){ + const char *zType; + if( (pDef->funcFlags & SQLITE_FUNC_WINDOW) || pExpr->y.pWin ){ + zType = "window"; + }else{ + zType = "aggregate"; + } + sqlite3ErrorMsg(pParse, "misuse of %s function %.*s()",zType,nId,zId); + pNC->nErr++; + is_agg = 0; + } +#else + if( (is_agg && (pNC->ncFlags & NC_AllowAgg)==0) ){ + sqlite3ErrorMsg(pParse,"misuse of aggregate function %.*s()",nId,zId); + pNC->nErr++; + is_agg = 0; + } +#endif + else if( no_such_func && pParse->db->init.busy==0 #ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - && pParse->explain==0 + && pParse->explain==0 #endif - ){ - sqlite3ErrorMsg(pParse, "no such function: %.*s", nId, zId); - pNC->nErr++; - }else if( wrong_num_args ){ - sqlite3ErrorMsg(pParse,"wrong number of arguments to function %.*s()", - nId, zId); - pNC->nErr++; - } - if( is_agg ) pNC->ncFlags &= ~NC_AllowAgg; + ){ + sqlite3ErrorMsg(pParse, "no such function: %.*s", nId, zId); + pNC->nErr++; + }else if( wrong_num_args ){ + sqlite3ErrorMsg(pParse,"wrong number of arguments to function %.*s()", + nId, zId); + pNC->nErr++; + } + if( is_agg ){ +#ifndef SQLITE_OMIT_WINDOWFUNC + pNC->ncFlags &= ~(pExpr->y.pWin ? NC_AllowWin : NC_AllowAgg); +#else + pNC->ncFlags &= ~NC_AllowAgg; +#endif + } + } sqlite3WalkExprList(pWalker, pList); if( is_agg ){ - NameContext *pNC2 = pNC; - pExpr->op = TK_AGG_FUNCTION; - pExpr->op2 = 0; - while( pNC2 && !sqlite3FunctionUsesThisSrc(pExpr, pNC2->pSrcList) ){ - pExpr->op2++; - pNC2 = pNC2->pNext; - } - assert( pDef!=0 ); - if( pNC2 ){ - assert( SQLITE_FUNC_MINMAX==NC_MinMaxAgg ); - testcase( (pDef->funcFlags & SQLITE_FUNC_MINMAX)!=0 ); - pNC2->ncFlags |= NC_HasAgg | (pDef->funcFlags & SQLITE_FUNC_MINMAX); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pExpr->y.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; + } + pNC->ncFlags |= NC_AllowWin; + }else +#endif /* SQLITE_OMIT_WINDOWFUNC */ + { + NameContext *pNC2 = pNC; + pExpr->op = TK_AGG_FUNCTION; + pExpr->op2 = 0; + while( pNC2 && !sqlite3FunctionUsesThisSrc(pExpr, pNC2->pSrcList) ){ + pExpr->op2++; + pNC2 = pNC2->pNext; + } + assert( pDef!=0 ); + if( pNC2 ){ + 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 |= NC_AllowAgg; } /* FIX ME: Compute pExpr->affinity based on the expected return ** type of the function @@ -91936,15 +95331,30 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ notValid(pParse, pNC, "parameters", NC_IsCheck|NC_PartIdx|NC_IdxExpr); break; } + case TK_IS: + case TK_ISNOT: { + Expr *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 ){ + int rc = resolveExprStep(pWalker, pRight); + if( rc==WRC_Abort ) return WRC_Abort; + if( pRight->op==TK_TRUEFALSE ){ + pExpr->op2 = pExpr->op; + pExpr->op = TK_TRUTH; + return WRC_Continue; + } + } + /* Fall thru */ + } case TK_BETWEEN: case TK_EQ: case TK_NE: case TK_LT: case TK_LE: case TK_GT: - case TK_GE: - case TK_IS: - case TK_ISNOT: { + case TK_GE: { int nLeft, nRight; if( pParse->db->mallocFailed ) break; assert( pExpr->pLeft!=0 ); @@ -92047,8 +95457,8 @@ static int resolveOrderByTermToExprList( memset(&nc, 0, sizeof(nc)); nc.pParse = pParse; nc.pSrcList = pSelect->pSrc; - nc.pEList = pEList; - nc.ncFlags = NC_AllowAgg; + nc.uNC.pEList = pEList; + nc.ncFlags = NC_AllowAgg|NC_UEList; nc.nErr = 0; db = pParse->db; savedSuppErr = db->suppressErr; @@ -92293,6 +95703,19 @@ 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 pItem->u.x.iOrderByCol = j+1; } } @@ -92349,6 +95772,7 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ */ memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; + sNC.pWinSelect = p; if( sqlite3ResolveExprNames(&sNC, p->pLimit) ){ return WRC_Abort; } @@ -92397,12 +95821,13 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ /* Set up the local name-context to pass to sqlite3ResolveExprNames() to ** resolve the result-set expression list. */ - sNC.ncFlags = NC_AllowAgg; + sNC.ncFlags = NC_AllowAgg|NC_AllowWin; sNC.pSrcList = p->pSrc; sNC.pNext = pOuterNC; /* Resolve names in the result set. */ if( sqlite3ResolveExprListNames(&sNC, p->pEList) ) return WRC_Abort; + sNC.ncFlags &= ~NC_AllowWin; /* If there are no aggregate functions in the result-set, and no GROUP BY ** expression, do not allow aggregates in any of the other expressions. @@ -92431,7 +95856,9 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ ** Minor point: If this is the case, then the expression will be ** re-evaluated for each reference to it. */ - sNC.pEList = p->pEList; + assert( (sNC.ncFlags & (NC_UAggInfo|NC_UUpsert))==0 ); + sNC.uNC.pEList = p->pEList; + sNC.ncFlags |= NC_UEList; if( sqlite3ResolveExprNames(&sNC, p->pHaving) ) return WRC_Abort; if( sqlite3ResolveExprNames(&sNC, p->pWhere) ) return WRC_Abort; @@ -92449,7 +95876,7 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ ** outer queries */ sNC.pNext = 0; - sNC.ncFlags |= NC_AllowAgg; + sNC.ncFlags |= NC_AllowAgg|NC_AllowWin; /* If this is a converted compound query, move the ORDER BY clause from ** the sub-query back to the parent query. At this point each term @@ -92480,6 +95907,7 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ if( db->mallocFailed ){ return WRC_Abort; } + sNC.ncFlags &= ~NC_AllowWin; /* Resolve the GROUP BY clause. At the same time, make sure ** the GROUP BY clause does not contain aggregate functions. @@ -92664,7 +96092,7 @@ SQLITE_PRIVATE void sqlite3ResolveSelfReference( Table *pTab, /* The table being referenced */ int type, /* NC_IsCheck or NC_PartIdx or NC_IdxExpr */ Expr *pExpr, /* Expression to resolve. May be NULL. */ - ExprList *pList /* Expression list to resolve. May be NUL. */ + ExprList *pList /* Expression list to resolve. May be NULL. */ ){ SrcList sSrc; /* Fake SrcList for pParse->pNewTable */ NameContext sNC; /* Name context for pParse->pNewTable */ @@ -92745,8 +96173,8 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ return sqlite3AffinityType(pExpr->u.zToken, 0); } #endif - if( (op==TK_AGG_COLUMN || op==TK_COLUMN) && pExpr->pTab ){ - return sqlite3TableColumnAffinity(pExpr->pTab, pExpr->iColumn); + if( (op==TK_AGG_COLUMN || op==TK_COLUMN) && pExpr->y.pTab ){ + return sqlite3TableColumnAffinity(pExpr->y.pTab, pExpr->iColumn); } if( op==TK_SELECT_COLUMN ){ assert( pExpr->pLeft->flags&EP_xIsSelect ); @@ -92828,27 +96256,27 @@ SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){ while( p ){ int op = p->op; if( p->flags & EP_Generic ) break; - if( op==TK_CAST || op==TK_UPLUS ){ - p = p->pLeft; - continue; - } - if( op==TK_COLLATE || (op==TK_REGISTER && p->op2==TK_COLLATE) ){ - pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken); - break; - } if( (op==TK_AGG_COLUMN || op==TK_COLUMN || op==TK_REGISTER || op==TK_TRIGGER) - && p->pTab!=0 + && p->y.pTab!=0 ){ - /* op==TK_REGISTER && p->pTab!=0 happens when pExpr was originally + /* op==TK_REGISTER && p->y.pTab!=0 happens when pExpr was originally ** a TK_COLUMN but was previously evaluated and cached in a register */ int j = p->iColumn; if( j>=0 ){ - const char *zColl = p->pTab->aCol[j].zColl; + const char *zColl = p->y.pTab->aCol[j].zColl; pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0); } break; } + if( op==TK_CAST || op==TK_UPLUS ){ + p = p->pLeft; + continue; + } + if( op==TK_COLLATE || (op==TK_REGISTER && p->op2==TK_COLLATE) ){ + pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken); + break; + } if( p->flags & EP_Collate ){ if( p->pLeft && (p->pLeft->flags & EP_Collate)!=0 ){ p = p->pLeft; @@ -93268,7 +96696,6 @@ static void codeVectorCompare( Expr *pL, *pR; int r1, r2; assert( i>=0 && i0 ) sqlite3ExprCachePush(pParse); r1 = exprVectorRegister(pParse, pLeft, i, regLeft, &pL, ®Free1); r2 = exprVectorRegister(pParse, pRight, i, regRight, &pR, ®Free2); codeCompare(pParse, pL, pR, opx, r1, r2, dest, p5); @@ -93280,7 +96707,6 @@ static void codeVectorCompare( testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); sqlite3ReleaseTempReg(pParse, regFree1); sqlite3ReleaseTempReg(pParse, regFree2); - if( i>0 ) sqlite3ExprCachePop(pParse); if( i==nLeft-1 ){ break; } @@ -93628,7 +97054,12 @@ SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){ ** Construct a new expression node for a function with multiple ** arguments. */ -SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){ +SQLITE_PRIVATE Expr *sqlite3ExprFunction( + Parse *pParse, /* Parsing context */ + ExprList *pList, /* Argument list */ + Token *pToken, /* Name of the function */ + int eDistinct /* SF_Distinct or SF_ALL or 0 */ +){ Expr *pNew; sqlite3 *db = pParse->db; assert( pToken ); @@ -93637,10 +97068,14 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */ return 0; } + if( pList && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + sqlite3ErrorMsg(pParse, "too many arguments on function %T", pToken); + } pNew->x.pList = pList; ExprSetProperty(pNew, EP_HasFunc); assert( !ExprHasProperty(pNew, EP_xIsSelect) ); sqlite3ExprSetHeightAndFlags(pParse, pNew); + if( eDistinct==SF_Distinct ) ExprSetProperty(pNew, EP_Distinct); return pNew; } @@ -93732,6 +97167,10 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ assert( p!=0 ); /* Sanity check: Assert that the IntValue is non-negative if it exists */ assert( !ExprHasProperty(p, EP_IntValue) || p->u.iValue>=0 ); + + assert( !ExprHasProperty(p, EP_WinFunc) || p->y.pWin!=0 || db->mallocFailed ); + assert( p->op!=TK_FUNCTION || ExprHasProperty(p, EP_TokenOnly|EP_Reduced) + || p->y.pWin==0 || ExprHasProperty(p, EP_WinFunc) ); #ifdef SQLITE_DEBUG if( ExprHasProperty(p, EP_Leaf) && !ExprHasProperty(p, EP_TokenOnly) ){ assert( p->pLeft==0 ); @@ -93750,6 +97189,10 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ }else{ sqlite3ExprListDelete(db, p->x.pList); } + if( ExprHasProperty(p, EP_WinFunc) ){ + assert( p->op==TK_FUNCTION ); + sqlite3WindowDelete(db, p->y.pWin); + } } if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); if( !ExprHasProperty(p, EP_Static) ){ @@ -93798,7 +97241,7 @@ static int exprStructSize(Expr *p){ ** Note that with flags==EXPRDUP_REDUCE, this routines works on full-size ** (unreduced) Expr objects as they or originally constructed by the parser. ** During expression analysis, extra information is computed and moved into -** later parts of teh Expr object and that extra information might get chopped +** later parts of the Expr object and that extra information might get chopped ** off if the expression is reduced. Note also that it does not work to ** make an EXPRDUP_REDUCE copy of a reduced expression. It is only legal ** to reduce a pristine expression tree from the parser. The implementation @@ -93810,7 +97253,11 @@ static int dupedExprStructSize(Expr *p, int flags){ assert( flags==EXPRDUP_REDUCE || flags==0 ); /* Only one flag value allowed */ assert( EXPR_FULLSIZE<=0xfff ); assert( (0xfff & (EP_Reduced|EP_TokenOnly))==0 ); - if( 0==flags || p->op==TK_SELECT_COLUMN ){ + if( 0==flags || p->op==TK_SELECT_COLUMN +#ifndef SQLITE_OMIT_WINDOWFUNC + || ExprHasProperty(p, EP_WinFunc) +#endif + ){ nSize = EXPR_FULLSIZE; }else{ assert( !ExprHasProperty(p, EP_TokenOnly|EP_Reduced) ); @@ -93835,7 +97282,7 @@ static int dupedExprStructSize(Expr *p, int flags){ static int dupedExprNodeSize(Expr *p, int flags){ int nByte = dupedExprStructSize(p, flags) & 0xfff; if( !ExprHasProperty(p, EP_IntValue) && p->u.zToken ){ - nByte += sqlite3Strlen30(p->u.zToken)+1; + nByte += sqlite3Strlen30NN(p->u.zToken)+1; } return ROUND8(nByte); } @@ -93938,7 +97385,7 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ } /* Fill in pNew->pLeft and pNew->pRight. */ - if( ExprHasProperty(pNew, EP_Reduced|EP_TokenOnly) ){ + if( ExprHasProperty(pNew, EP_Reduced|EP_TokenOnly|EP_WinFunc) ){ zAlloc += dupedExprNodeSize(p, dupFlags); if( !ExprHasProperty(pNew, EP_TokenOnly|EP_Leaf) ){ pNew->pLeft = p->pLeft ? @@ -93946,6 +97393,12 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ pNew->pRight = p->pRight ? exprDup(db, p->pRight, EXPRDUP_REDUCE, &zAlloc) : 0; } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( ExprHasProperty(p, EP_WinFunc) ){ + pNew->y.pWin = sqlite3WindowDup(db, pNew, p->y.pWin); + assert( ExprHasProperty(pNew, EP_WinFunc) ); + } +#endif /* SQLITE_OMIT_WINDOWFUNC */ if( pzBuffer ){ *pzBuffer = zAlloc; } @@ -94050,6 +97503,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, ExprList *p, int flags) pItem->sortOrder = pOldItem->sortOrder; pItem->done = 0; pItem->bSpanIsTab = pOldItem->bSpanIsTab; + pItem->bSorterRef = pOldItem->bSorterRef; pItem->u = pOldItem->u; } return pNew; @@ -94155,7 +97609,11 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *pDup, int flags){ pNew->addrOpenEphm[1] = -1; pNew->nSelectRow = p->nSelectRow; pNew->pWith = withDup(db, p->pWith); - sqlite3SelectSetName(pNew, p->zSelName); +#ifndef SQLITE_OMIT_WINDOWFUNC + pNew->pWin = 0; + pNew->pWinDefn = sqlite3WindowListDup(db, p->pWinDefn); +#endif + pNew->selId = p->selId; *pp = pNew; pp = &pNew->pPrior; pNext = pNew; @@ -94327,6 +97785,9 @@ SQLITE_PRIVATE void sqlite3ExprListSetName( assert( pItem->zName==0 ); pItem->zName = sqlite3DbStrNDup(pParse->db, pName->z, pName->n); if( dequote ) sqlite3Dequote(pItem->zName); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, (void*)pItem->zName, pName); + } } } @@ -94419,6 +97880,34 @@ SQLITE_PRIVATE int sqlite3SelectWalkFail(Walker *pWalker, Select *NotUsed){ return WRC_Abort; } +/* +** If the input expression is an ID with the name "true" or "false" +** then convert it into an TK_TRUEFALSE term. Return non-zero if +** the conversion happened, and zero if the expression is unaltered. +*/ +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 + ){ + pExpr->op = TK_TRUEFALSE; + return 1; + } + return 0; +} + +/* +** The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE +** and 0 if it is FALSE. +*/ +SQLITE_PRIVATE int sqlite3ExprTruthValue(const 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; +} + + /* ** These routines are Walker callbacks used to check expressions to ** see if they are "constant" for some definition of constant. The @@ -94466,6 +97955,12 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ return WRC_Abort; } case TK_ID: + /* Convert "true" or "false" in a DEFAULT clause into the + ** appropriate TK_TRUEFALSE operator */ + if( sqlite3ExprIdToTrueFalse(pExpr) ){ + return WRC_Prune; + } + /* Fall thru */ case TK_COLUMN: case TK_AGG_FUNCTION: case TK_AGG_COLUMN: @@ -94473,11 +97968,16 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ testcase( pExpr->op==TK_COLUMN ); testcase( pExpr->op==TK_AGG_FUNCTION ); testcase( pExpr->op==TK_AGG_COLUMN ); + if( ExprHasProperty(pExpr, EP_FixedCol) && pWalker->eCode!=2 ){ + return WRC_Continue; + } if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){ return WRC_Continue; } /* Fall through */ case TK_IF_NULL_ROW: + case TK_REGISTER: + testcase( pExpr->op==TK_REGISTER ); testcase( pExpr->op==TK_IF_NULL_ROW ); pWalker->eCode = 0; return WRC_Abort; @@ -94495,8 +97995,8 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ } /* Fall through */ default: - testcase( pExpr->op==TK_SELECT ); /* sqlite3SelectWalkFail will disallow */ - testcase( pExpr->op==TK_EXISTS ); /* sqlite3SelectWalkFail will disallow */ + testcase( pExpr->op==TK_SELECT ); /* sqlite3SelectWalkFail() disallows */ + testcase( pExpr->op==TK_EXISTS ); /* sqlite3SelectWalkFail() disallows */ return WRC_Continue; } } @@ -94526,10 +98026,17 @@ SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){ } /* -** Walk an expression tree. Return non-zero if the expression is constant -** that does no originate from the ON or USING clauses of a join. -** Return 0 if it involves variables or function calls or terms from -** an ON or USING clause. +** Walk an expression tree. Return non-zero if +** +** (1) the expression is constant, and +** (2) the expression does originate in the ON or USING clause +** of a LEFT JOIN, and +** (3) the expression does not contain any EP_FixedCol TK_COLUMN +** operands created by the constant propagation optimization. +** +** When this routine returns true, it indicates that the expression +** can be added to the pParse->pConstExpr list and evaluated once when +** the prepared statement starts up. See sqlite3ExprCodeAtInit(). */ SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){ return exprIsConst(p, 2, 0); @@ -94559,7 +98066,7 @@ static int exprNodeIsConstantOrGroupBy(Walker *pWalker, Expr *pExpr){ Expr *p = pGroupBy->a[i].pExpr; if( sqlite3ExprCompare(0, pExpr, p, -1)<2 ){ CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p); - if( sqlite3_stricmp("BINARY", pColl->zName)==0 ){ + if( sqlite3IsBinary(pColl) ){ return WRC_Prune; } } @@ -94701,8 +98208,8 @@ SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){ return 0; case TK_COLUMN: return ExprHasProperty(p, EP_CanBeNull) || - p->pTab==0 || /* Reference to column of index on expression */ - (p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0); + p->y.pTab==0 || /* Reference to column of index on expression */ + (p->iColumn>=0 && p->y.pTab->aCol[p->iColumn].notNull==0); default: return 1; } @@ -94757,6 +98264,14 @@ 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 @@ -94981,7 +98496,8 @@ SQLITE_PRIVATE int sqlite3FindInIndex( sqlite3OpenTable(pParse, iTab, iDb, pTab, OP_OpenRead); eType = IN_INDEX_ROWID; - + ExplainQueryPlan((pParse, 0, + "USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR",pTab->zName)); sqlite3VdbeJumpHere(v, iAddr); }else{ Index *pIdx; /* Iterator variable */ @@ -95060,11 +98576,8 @@ SQLITE_PRIVATE int sqlite3FindInIndex( if( colUsed==(MASKBIT(nExpr)-1) ){ /* If we reach this point, that means the index pIdx is usable */ int iAddr = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); -#ifndef SQLITE_OMIT_EXPLAIN - sqlite3VdbeAddOp4(v, OP_Explain, 0, 0, 0, - sqlite3MPrintf(db, "USING INDEX %s FOR IN-OPERATOR",pIdx->zName), - P4_DYNAMIC); -#endif + ExplainQueryPlan((pParse, 0, + "USING INDEX %s FOR IN-OPERATOR",pIdx->zName)); sqlite3VdbeAddOp3(v, OP_OpenRead, iTab, pIdx->tnum, iDb); sqlite3VdbeSetP4KeyInfo(pParse, pIdx); VdbeComment((v, "%s", pIdx->zName)); @@ -95243,7 +98756,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( int rReg = 0; /* Register storing resulting */ Vdbe *v = sqlite3GetVdbe(pParse); if( NEVER(v==0) ) return 0; - sqlite3ExprCachePush(pParse); /* The evaluation of the IN/EXISTS/SELECT must be repeated every time it ** is encountered if any of the following is true: @@ -95259,17 +98771,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( jmpIfDynamic = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); } -#ifndef SQLITE_OMIT_EXPLAIN - if( pParse->explain==2 ){ - char *zMsg = sqlite3MPrintf(pParse->db, "EXECUTE %s%s SUBQUERY %d", - jmpIfDynamic>=0?"":"CORRELATED ", - pExpr->op==TK_IN?"LIST":"SCALAR", - pParse->iNextSelectId - ); - sqlite3VdbeAddOp4(v, OP_Explain, pParse->iSelectId, 0, 0, zMsg, P4_DYNAMIC); - } -#endif - switch( pExpr->op ){ case TK_IN: { int addr; /* Address of OP_OpenEphemeral instruction */ @@ -95307,6 +98808,9 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( 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. */ @@ -95348,7 +98852,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ExprList *pList = pExpr->x.pList; struct ExprList_item *pItem; int r1, r2, r3; - affinity = sqlite3ExprAffinity(pLeft); if( !affinity ){ affinity = SQLITE_AFF_BLOB; @@ -95388,7 +98891,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( sqlite3VdbeAddOp3(v, OP_Insert, pExpr->iTable, r2, r3); }else{ sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); - sqlite3ExprCacheAffinityChange(pParse, r3, 1); sqlite3VdbeAddOp4Int(v, OP_IdxInsert, pExpr->iTable, r2, r3, 1); } } @@ -95429,6 +98931,8 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( 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; @@ -95467,7 +98971,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( if( jmpIfDynamic>=0 ){ sqlite3VdbeJumpHere(v, jmpIfDynamic); } - sqlite3ExprCachePop(pParse); return rReg; } @@ -95586,7 +99089,6 @@ static void sqlite3ExprCodeIN( ** aiMap[] array contains a mapping from the original LHS field order to ** the field order that matches the RHS index. */ - sqlite3ExprCachePush(pParse); rLhsOrig = exprCodeVector(pParse, pLeft, &iDummy); for(i=0; idb, aiMap); @@ -95813,145 +99314,6 @@ static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){ } } -/* -** Erase column-cache entry number i -*/ -static void cacheEntryClear(Parse *pParse, int i){ - if( pParse->aColCache[i].tempReg ){ - if( pParse->nTempRegaTempReg) ){ - pParse->aTempReg[pParse->nTempReg++] = pParse->aColCache[i].iReg; - } - } - pParse->nColCache--; - if( inColCache ){ - pParse->aColCache[i] = pParse->aColCache[pParse->nColCache]; - } -} - - -/* -** Record in the column cache that a particular column from a -** particular table is stored in a particular register. -*/ -SQLITE_PRIVATE void sqlite3ExprCacheStore(Parse *pParse, int iTab, int iCol, int iReg){ - int i; - int minLru; - int idxLru; - struct yColCache *p; - - /* Unless an error has occurred, register numbers are always positive. */ - assert( iReg>0 || pParse->nErr || pParse->db->mallocFailed ); - assert( iCol>=-1 && iCol<32768 ); /* Finite column numbers */ - - /* The SQLITE_ColumnCache flag disables the column cache. This is used - ** for testing only - to verify that SQLite always gets the same answer - ** with and without the column cache. - */ - if( OptimizationDisabled(pParse->db, SQLITE_ColumnCache) ) return; - - /* First replace any existing entry. - ** - ** Actually, the way the column cache is currently used, we are guaranteed - ** that the object will never already be in cache. Verify this guarantee. - */ -#ifndef NDEBUG - for(i=0, p=pParse->aColCache; inColCache; i++, p++){ - assert( p->iTable!=iTab || p->iColumn!=iCol ); - } -#endif - - /* If the cache is already full, delete the least recently used entry */ - if( pParse->nColCache>=SQLITE_N_COLCACHE ){ - minLru = 0x7fffffff; - idxLru = -1; - for(i=0, p=pParse->aColCache; ilrulru; - } - } - p = &pParse->aColCache[idxLru]; - }else{ - p = &pParse->aColCache[pParse->nColCache++]; - } - - /* Add the new entry to the end of the cache */ - p->iLevel = pParse->iCacheLevel; - p->iTable = iTab; - p->iColumn = iCol; - p->iReg = iReg; - p->tempReg = 0; - p->lru = pParse->iCacheCnt++; -} - -/* -** Indicate that registers between iReg..iReg+nReg-1 are being overwritten. -** Purge the range of registers from the column cache. -*/ -SQLITE_PRIVATE void sqlite3ExprCacheRemove(Parse *pParse, int iReg, int nReg){ - int i = 0; - while( inColCache ){ - struct yColCache *p = &pParse->aColCache[i]; - if( p->iReg >= iReg && p->iReg < iReg+nReg ){ - cacheEntryClear(pParse, i); - }else{ - i++; - } - } -} - -/* -** Remember the current column cache context. Any new entries added -** added to the column cache after this call are removed when the -** corresponding pop occurs. -*/ -SQLITE_PRIVATE void sqlite3ExprCachePush(Parse *pParse){ - pParse->iCacheLevel++; -#ifdef SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("PUSH to %d\n", pParse->iCacheLevel); - } -#endif -} - -/* -** Remove from the column cache any entries that were added since the -** the previous sqlite3ExprCachePush operation. In other words, restore -** the cache to the state it was in prior the most recent Push. -*/ -SQLITE_PRIVATE void sqlite3ExprCachePop(Parse *pParse){ - int i = 0; - assert( pParse->iCacheLevel>=1 ); - pParse->iCacheLevel--; -#ifdef SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("POP to %d\n", pParse->iCacheLevel); - } -#endif - while( inColCache ){ - if( pParse->aColCache[i].iLevel>pParse->iCacheLevel ){ - cacheEntryClear(pParse, i); - }else{ - i++; - } - } -} - -/* -** When a cached column is reused, make sure that its register is -** no longer available as a temp register. ticket #3879: that same -** register might be in the cache in multiple places, so be sure to -** get them all. -*/ -static void sqlite3ExprCachePinRegister(Parse *pParse, int iReg){ - int i; - struct yColCache *p; - for(i=0, p=pParse->aColCache; inColCache; i++, p++){ - if( p->iReg==iReg ){ - p->tempReg = 0; - } - } -} /* Generate code that will load into register regOut a value that is ** appropriate for the iIdxCol-th column of index pIdx. @@ -96007,12 +99369,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable( /* ** Generate code that will extract the iColumn-th column from -** table pTab and store the column value in a register. -** -** An effort is made to store the column value in register iReg. This -** is not garanteeed for GetColumn() - the result can be stored in -** any register. But the result is guaranteed to land in register iReg -** for GetColumnToReg(). +** table pTab and store the column value in register iReg. ** ** There must be an open cursor to pTab in iTable when this routine ** is called. If iColumn<0 then code is generated that extracts the rowid. @@ -96026,95 +99383,22 @@ SQLITE_PRIVATE int sqlite3ExprCodeGetColumn( u8 p5 /* P5 value for OP_Column + FLAGS */ ){ Vdbe *v = pParse->pVdbe; - int i; - struct yColCache *p; - - for(i=0, p=pParse->aColCache; inColCache; i++, p++){ - if( p->iTable==iTable && p->iColumn==iColumn ){ - p->lru = pParse->iCacheCnt++; - sqlite3ExprCachePinRegister(pParse, p->iReg); - return p->iReg; - } - } assert( v!=0 ); sqlite3ExprCodeGetColumnOfTable(v, pTab, iTable, iColumn, iReg); if( p5 ){ sqlite3VdbeChangeP5(v, p5); - }else{ - sqlite3ExprCacheStore(pParse, iTable, iColumn, iReg); } return iReg; } -SQLITE_PRIVATE void sqlite3ExprCodeGetColumnToReg( - Parse *pParse, /* Parsing and code generating context */ - Table *pTab, /* Description of the table we are reading from */ - int iColumn, /* Index of the table column */ - int iTable, /* The cursor pointing to the table */ - int iReg /* Store results here */ -){ - int r1 = sqlite3ExprCodeGetColumn(pParse, pTab, iColumn, iTable, iReg, 0); - if( r1!=iReg ) sqlite3VdbeAddOp2(pParse->pVdbe, OP_SCopy, r1, iReg); -} - - -/* -** Clear all column cache entries. -*/ -SQLITE_PRIVATE void sqlite3ExprCacheClear(Parse *pParse){ - int i; - -#ifdef SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("CLEAR\n"); - } -#endif - for(i=0; inColCache; i++){ - if( pParse->aColCache[i].tempReg - && pParse->nTempRegaTempReg) - ){ - pParse->aTempReg[pParse->nTempReg++] = pParse->aColCache[i].iReg; - } - } - pParse->nColCache = 0; -} - -/* -** Record the fact that an affinity change has occurred on iCount -** registers starting with iStart. -*/ -SQLITE_PRIVATE void sqlite3ExprCacheAffinityChange(Parse *pParse, int iStart, int iCount){ - sqlite3ExprCacheRemove(pParse, iStart, iCount); -} /* ** Generate code to move content from registers iFrom...iFrom+nReg-1 -** over to iTo..iTo+nReg-1. Keep the column cache up-to-date. +** over to iTo..iTo+nReg-1. */ SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse *pParse, int iFrom, int iTo, int nReg){ assert( iFrom>=iTo+nReg || iFrom+nReg<=iTo ); sqlite3VdbeAddOp3(pParse->pVdbe, OP_Move, iFrom, iTo, nReg); - sqlite3ExprCacheRemove(pParse, iFrom, nReg); -} - -#if defined(SQLITE_DEBUG) || defined(SQLITE_COVERAGE_TEST) -/* -** Return true if any register in the range iFrom..iTo (inclusive) -** is used as part of the column cache. -** -** This routine is used within assert() and testcase() macros only -** and does not appear in a normal build. -*/ -static int usedAsColumnCache(Parse *pParse, int iFrom, int iTo){ - int i; - struct yColCache *p; - for(i=0, p=pParse->aColCache; inColCache; i++, p++){ - int r = p->iReg; - if( r>=iFrom && r<=iTo ) return 1; /*NO_TEST*/ - } - return 0; } -#endif /* SQLITE_DEBUG || SQLITE_COVERAGE_TEST */ - /* ** Convert a scalar expression node to a TK_REGISTER referencing @@ -96191,6 +99475,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) return 0; } +expr_code_doover: if( pExpr==0 ){ op = TK_NULL; }else{ @@ -96212,6 +99497,28 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) } case TK_COLUMN: { int iTab = pExpr->iTable; + if( ExprHasProperty(pExpr, EP_FixedCol) ){ + /* This COLUMN expression is really a constant due to WHERE clause + ** constraints, and that constant is coded by the pExpr->pLeft + ** expresssion. However, make sure the constant has the correct + ** datatype by applying the Affinity of the table column to the + ** constant. + */ + int iReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft,target); + int aff = sqlite3TableColumnAffinity(pExpr->y.pTab, pExpr->iColumn); + if( aff!=SQLITE_AFF_BLOB ){ + static const char zAff[] = "B\000C\000D\000E"; + assert( SQLITE_AFF_BLOB=='A' ); + assert( SQLITE_AFF_TEXT=='B' ); + if( iReg!=target ){ + sqlite3VdbeAddOp2(v, OP_SCopy, iReg, target); + iReg = target; + } + sqlite3VdbeAddOp4(v, OP_Affinity, iReg, 1, 0, + &zAff[(aff-'B')*2], P4_STATIC); + } + return iReg; + } if( iTab<0 ){ if( pParse->iSelfTab<0 ){ /* Generating CHECK constraints or inserting into partial index */ @@ -96222,7 +99529,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) iTab = pParse->iSelfTab - 1; } } - return sqlite3ExprCodeGetColumn(pParse, pExpr->pTab, + return sqlite3ExprCodeGetColumn(pParse, pExpr->y.pTab, pExpr->iColumn, iTab, target, pExpr->op2); } @@ -96230,6 +99537,10 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) codeInteger(pParse, pExpr, 0, target); return target; } + case TK_TRUEFALSE: { + sqlite3VdbeAddOp2(v, OP_Integer, sqlite3ExprTruthValue(pExpr), target); + return target; + } #ifndef SQLITE_OMIT_FLOATING_POINT case TK_FLOAT: { assert( !ExprHasProperty(pExpr, EP_IntValue) ); @@ -96288,8 +99599,6 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) } sqlite3VdbeAddOp2(v, OP_Cast, target, sqlite3AffinityType(pExpr->u.zToken, 0)); - testcase( usedAsColumnCache(pParse, inReg, inReg) ); - sqlite3ExprCacheAffinityChange(pParse, inReg, 1); return inReg; } #endif /* SQLITE_OMIT_CAST */ @@ -96385,6 +99694,18 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) sqlite3VdbeAddOp2(v, op, r1, inReg); break; } + case TK_TRUTH: { + int isTrue; /* IS TRUE or IS NOT TRUE */ + int bNormal; /* IS TRUE or IS FALSE */ + r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); + testcase( regFree1==0 ); + isTrue = sqlite3ExprTruthValue(pExpr->pRight); + bNormal = pExpr->op2==TK_IS; + testcase( isTrue && bNormal); + testcase( !isTrue && bNormal); + sqlite3VdbeAddOp4Int(v, OP_IsTrue, r1, inReg, !isTrue, isTrue ^ bNormal); + break; + } case TK_ISNULL: case TK_NOTNULL: { int addr; @@ -96421,6 +99742,12 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) u8 enc = ENC(db); /* The text encoding used by this database */ CollSeq *pColl = 0; /* A collating sequence */ +#ifndef SQLITE_OMIT_WINDOWFUNC + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + return pExpr->y.pWin->regResult; + } +#endif + if( ConstFactorOk(pParse) && sqlite3ExprIsConstantNotJoin(pExpr) ){ /* SQL functions can be expensive. So try to move constant functions ** out of the inner loop, even if that means an extra OP_Copy. */ @@ -96457,10 +99784,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) for(i=1; ia[i].pExpr, target); - sqlite3ExprCachePop(pParse); } sqlite3VdbeResolveLabel(v, endCoalesce); break; @@ -96526,10 +99850,8 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) } } - sqlite3ExprCachePush(pParse); /* Ticket 2ea2425d34be */ sqlite3ExprCodeExprList(pParse, pFarg, r1, 0, SQLITE_ECEL_DUP|SQLITE_ECEL_FACTOR); - sqlite3ExprCachePop(pParse); /* Ticket 2ea2425d34be */ }else{ r1 = 0; } @@ -96546,7 +99868,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) ** "glob(B,A). We want to use the A in "A glob B" to test ** for function overloading. But we use the B term in "glob(B,A)". */ - if( nFarg>=2 && (pExpr->flags & EP_InfixFunc) ){ + if( nFarg>=2 && ExprHasProperty(pExpr, EP_InfixFunc) ){ pDef = sqlite3VtabOverloadFunction(db, pDef, nFarg, pFarg->a[1].pExpr); }else if( nFarg>0 ){ pDef = sqlite3VtabOverloadFunction(db, pDef, nFarg, pFarg->a[0].pExpr); @@ -96635,7 +99957,8 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) case TK_SPAN: case TK_COLLATE: case TK_UPLUS: { - return sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); + pExpr = pExpr->pLeft; + goto expr_code_doover; /* 2018-04-28: Prevent deep recursion. OSSFuzz. */ } case TK_TRIGGER: { @@ -96664,7 +99987,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) ** p1==1 -> old.a p1==4 -> new.a ** p1==2 -> old.b p1==5 -> new.b */ - Table *pTab = pExpr->pTab; + Table *pTab = pExpr->y.pTab; int p1 = pExpr->iTable * (pTab->nCol+1) + 1 + pExpr->iColumn; assert( pExpr->iTable==0 || pExpr->iTable==1 ); @@ -96673,10 +99996,9 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( p1>=0 && p1<(pTab->nCol*2+2) ); sqlite3VdbeAddOp2(v, OP_Param, p1, target); - VdbeComment((v, "%s.%s -> $%d", + VdbeComment((v, "r[%d]=%s.%s", target, (pExpr->iTable ? "new" : "old"), - (pExpr->iColumn<0 ? "rowid" : pExpr->pTab->aCol[pExpr->iColumn].zName), - target + (pExpr->iColumn<0 ? "rowid" : pExpr->y.pTab->aCol[pExpr->iColumn].zName) )); #ifndef SQLITE_OMIT_FLOATING_POINT @@ -96702,9 +100024,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) case TK_IF_NULL_ROW: { int addrINR; addrINR = sqlite3VdbeAddOp1(v, OP_IfNullRow, pExpr->iTable); - sqlite3ExprCachePush(pParse); inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); - sqlite3ExprCachePop(pParse); sqlite3VdbeJumpHere(v, addrINR); sqlite3VdbeChangeP3(v, addrINR, inReg); break; @@ -96741,7 +100061,6 @@ 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) */ - VVA_ONLY( int iCacheLevel = pParse->iCacheLevel; ) assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList ); assert(pExpr->x.pList->nExpr > 0); @@ -96765,7 +100084,6 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) regFree1 = 0; } for(i=0; iop==TK_COLUMN ); sqlite3ExprCode(pParse, aListelem[i+1].pExpr, target); sqlite3VdbeGoto(v, endLabel); - sqlite3ExprCachePop(pParse); sqlite3VdbeResolveLabel(v, nextCase); } if( (nExpr&1)!=0 ){ - sqlite3ExprCachePush(pParse); sqlite3ExprCode(pParse, pEList->a[nExpr-1].pExpr, target); - sqlite3ExprCachePop(pParse); }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, target); } - assert( pParse->db->mallocFailed || pParse->nErr>0 - || pParse->iCacheLevel==iCacheLevel ); sqlite3VdbeResolveLabel(v, endLabel); break; } @@ -96939,7 +100252,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse *pParse, Expr *pExpr, int target){ ** might choose to code the expression at initialization time. */ SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int target){ - if( pParse->okConstFactor && sqlite3ExprIsConstant(pExpr) ){ + if( pParse->okConstFactor && sqlite3ExprIsConstantNotJoin(pExpr) ){ sqlite3ExprCodeAtInit(pParse, pExpr, target); }else{ sqlite3ExprCode(pParse, pExpr, target); @@ -97008,6 +100321,12 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList( if( !ConstFactorOk(pParse) ) flags &= ~SQLITE_ECEL_FACTOR; for(pItem=pList->a, i=0; ipExpr; +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + if( pItem->bSorterRef ){ + i--; + n--; + }else +#endif if( (flags & SQLITE_ECEL_REF)!=0 && (j = pItem->u.x.iOrderByCol)>0 ){ if( flags & SQLITE_ECEL_OMITREF ){ i--; @@ -97015,7 +100334,9 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList( }else{ sqlite3VdbeAddOp2(v, copyOp, j+srcReg-1, target+i); } - }else if( (flags & SQLITE_ECEL_FACTOR)!=0 && sqlite3ExprIsConstant(pExpr) ){ + }else if( (flags & SQLITE_ECEL_FACTOR)!=0 + && sqlite3ExprIsConstantNotJoin(pExpr) + ){ sqlite3ExprCodeAtInit(pParse, pExpr, target+i); }else{ int inReg = sqlite3ExprCodeTarget(pParse, pExpr, target+i); @@ -97141,18 +100462,14 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int int d2 = sqlite3VdbeMakeLabel(v); testcase( jumpIfNull==0 ); sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,jumpIfNull^SQLITE_JUMPIFNULL); - sqlite3ExprCachePush(pParse); sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); sqlite3VdbeResolveLabel(v, d2); - sqlite3ExprCachePop(pParse); break; } case TK_OR: { testcase( jumpIfNull==0 ); sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprCachePush(pParse); sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3ExprCachePop(pParse); break; } case TK_NOT: { @@ -97160,6 +100477,23 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); break; } + case TK_TRUTH: { + int isNot; /* IS NOT TRUE or IS NOT FALSE */ + int isTrue; /* IS TRUE or IS NOT TRUE */ + testcase( jumpIfNull==0 ); + isNot = pExpr->op2==TK_ISNOT; + isTrue = sqlite3ExprTruthValue(pExpr->pRight); + testcase( isTrue && isNot ); + testcase( !isTrue && isNot ); + if( isTrue ^ isNot ){ + sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, + isNot ? SQLITE_JUMPIFNULL : 0); + }else{ + sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, + isNot ? SQLITE_JUMPIFNULL : 0); + } + break; + } case TK_IS: case TK_ISNOT: testcase( op==TK_IS ); @@ -97294,19 +100628,15 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int case TK_AND: { testcase( jumpIfNull==0 ); sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprCachePush(pParse); sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3ExprCachePop(pParse); break; } case TK_OR: { int d2 = sqlite3VdbeMakeLabel(v); testcase( jumpIfNull==0 ); sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, jumpIfNull^SQLITE_JUMPIFNULL); - sqlite3ExprCachePush(pParse); sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); sqlite3VdbeResolveLabel(v, d2); - sqlite3ExprCachePop(pParse); break; } case TK_NOT: { @@ -97314,6 +100644,26 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); break; } + case TK_TRUTH: { + int isNot; /* IS NOT TRUE or IS NOT FALSE */ + int isTrue; /* IS TRUE or IS NOT TRUE */ + testcase( jumpIfNull==0 ); + isNot = pExpr->op2==TK_ISNOT; + isTrue = sqlite3ExprTruthValue(pExpr->pRight); + testcase( isTrue && isNot ); + testcase( !isTrue && isNot ); + if( isTrue ^ isNot ){ + /* IS TRUE and IS NOT FALSE */ + sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, + isNot ? 0 : SQLITE_JUMPIFNULL); + + }else{ + /* IS FALSE and IS NOT TRUE */ + sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, + isNot ? 0 : SQLITE_JUMPIFNULL); + } + break; + } case TK_IS: case TK_ISNOT: testcase( pExpr->op==TK_IS ); @@ -97499,17 +100849,35 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTa if( pA->op!=TK_COLUMN && pA->op!=TK_AGG_COLUMN && pA->u.zToken ){ if( pA->op==TK_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) ); + if( ExprHasProperty(pA,EP_WinFunc) ){ + if( sqlite3WindowCompare(pParse,pA->y.pWin,pB->y.pWin)!=0 ) return 2; + } +#endif + }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 ){ - return pA->op==TK_COLLATE ? 1 : 2; + return 2; } } if( (pA->flags & EP_Distinct)!=(pB->flags & EP_Distinct) ) return 2; if( ALWAYS((combinedFlags & EP_TokenOnly)==0) ){ if( combinedFlags & EP_xIsSelect ) return 2; - if( sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) 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; - if( ALWAYS((combinedFlags & EP_Reduced)==0) && pA->op!=TK_STRING ){ + assert( (combinedFlags & EP_Reduced)==0 ); + if( pA->op!=TK_STRING && pA->op!=TK_TRUEFALSE ){ if( pA->iColumn!=pB->iColumn ) return 2; if( pA->iTable!=pB->iTable && (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2; @@ -97601,6 +100969,102 @@ SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, i return 0; } +/* +** This is the Expr node callback for sqlite3ExprImpliesNotNullRow(). +** If the expression node requires that the table at pWalker->iCur +** have one or more non-NULL column, then set pWalker->eCode to 1 and abort. +** +** This routine controls an optimization. False positives (setting +** pWalker->eCode to 1 when it should not be) are deadly, but false-negatives +** (never setting pWalker->eCode) is a harmless missed optimization. +*/ +static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ + testcase( pExpr->op==TK_AGG_COLUMN ); + testcase( pExpr->op==TK_AGG_FUNCTION ); + if( ExprHasProperty(pExpr, EP_FromJoin) ) return WRC_Prune; + switch( pExpr->op ){ + case TK_ISNOT: + case TK_NOT: + case TK_ISNULL: + case TK_IS: + case TK_OR: + case TK_CASE: + case TK_IN: + case TK_FUNCTION: + testcase( pExpr->op==TK_ISNOT ); + testcase( pExpr->op==TK_NOT ); + testcase( pExpr->op==TK_ISNULL ); + 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 ); + return WRC_Prune; + case TK_COLUMN: + if( pWalker->u.iCur==pExpr->iTable ){ + pWalker->eCode = 1; + return WRC_Abort; + } + 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 */ + case TK_EQ: + case TK_NE: + case TK_LT: + case TK_LE: + case TK_GT: + case TK_GE: + testcase( pExpr->op==TK_EQ ); + testcase( pExpr->op==TK_NE ); + testcase( pExpr->op==TK_LT ); + testcase( pExpr->op==TK_LE ); + testcase( pExpr->op==TK_GT ); + testcase( pExpr->op==TK_GE ); + if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->y.pTab)) + || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->y.pTab)) + ){ + return WRC_Prune; + } + default: + return WRC_Continue; + } +} + +/* +** Return true (non-zero) if expression p can only be true if at least +** one column of table iTab is non-null. In other words, return true +** if expression p will always be NULL or false if every column of iTab +** is NULL. +** +** False negatives are acceptable. In other words, it is ok to return +** zero even if expression p will never be true of every column of iTab +** is NULL. A false negative is merely a missed optimization opportunity. +** +** False positives are not allowed, however. A false positive may result +** in an incorrect answer. +** +** Terms of p that are marked with EP_FromJoin (and hence that come from +** the ON or USING clauses of LEFT JOINS) are excluded from the analysis. +** +** This routine is used to check if a LEFT JOIN can be converted into +** an ordinary JOIN. The p argument is the WHERE clause. If the WHERE +** clause requires that some column of the right table of the LEFT JOIN +** be non-NULL, then the LEFT JOIN can be safely converted into an +** ordinary join. +*/ +SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){ + Walker w; + w.xExprCallback = impliesNotNullRow; + w.xSelectCallback = 0; + w.xSelectCallback2 = 0; + w.eCode = 0; + w.u.iCur = iTab; + sqlite3WalkExpr(&w, p); + return w.eCode; +} + /* ** An instance of the following structure is used by the tree walker ** to determine if an expression can be evaluated by reference to the @@ -97756,8 +101220,9 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ NameContext *pNC = pWalker->u.pNC; Parse *pParse = pNC->pParse; SrcList *pSrcList = pNC->pSrcList; - AggInfo *pAggInfo = pNC->pAggInfo; + AggInfo *pAggInfo = pNC->uNC.pAggInfo; + assert( pNC->ncFlags & NC_UAggInfo ); switch( pExpr->op ){ case TK_AGG_COLUMN: case TK_COLUMN: { @@ -97789,7 +101254,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ && (k = addAggInfoColumn(pParse->db, pAggInfo))>=0 ){ pCol = &pAggInfo->aCol[k]; - pCol->pTab = pExpr->pTab; + pCol->pTab = pExpr->y.pTab; pCol->iTable = pExpr->iTable; pCol->iColumn = pExpr->iColumn; pCol->iMem = ++pParse->nMem; @@ -97935,21 +101400,9 @@ SQLITE_PRIVATE int sqlite3GetTempReg(Parse *pParse){ /* ** Deallocate a register, making available for reuse for some other ** purpose. -** -** If a register is currently being used by the column cache, then -** the deallocation is deferred until the column cache line that uses -** the register becomes stale. */ SQLITE_PRIVATE void sqlite3ReleaseTempReg(Parse *pParse, int iReg){ if( iReg && pParse->nTempRegaTempReg) ){ - int i; - struct yColCache *p; - for(i=0, p=pParse->aColCache; inColCache; i++, p++){ - if( p->iReg==iReg ){ - p->tempReg = 1; - return; - } - } pParse->aTempReg[pParse->nTempReg++] = iReg; } } @@ -97963,7 +101416,6 @@ SQLITE_PRIVATE int sqlite3GetTempRange(Parse *pParse, int nReg){ i = pParse->iRangeReg; n = pParse->nRangeReg; if( nReg<=n ){ - assert( !usedAsColumnCache(pParse, i, i+n-1) ); pParse->iRangeReg += nReg; pParse->nRangeReg -= nReg; }else{ @@ -97977,7 +101429,6 @@ SQLITE_PRIVATE void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){ sqlite3ReleaseTempReg(pParse, iReg); return; } - sqlite3ExprCacheRemove(pParse, iReg, nReg); if( nReg>pParse->nRangeReg ){ pParse->nRangeReg = nReg; pParse->iRangeReg = iReg; @@ -98039,366 +101490,63 @@ SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse *pParse, int iFirst, int iLast){ */ #ifndef SQLITE_OMIT_ALTERTABLE - -/* -** This function is used by SQL generated to implement the -** ALTER TABLE command. The first argument is the text of a CREATE TABLE or -** CREATE INDEX command. The second is a table name. The table name in -** the CREATE TABLE or CREATE INDEX statement is replaced with the third -** argument and the result returned. Examples: -** -** sqlite_rename_table('CREATE TABLE abc(a, b, c)', 'def') -** -> 'CREATE TABLE def(a, b, c)' -** -** sqlite_rename_table('CREATE INDEX i ON abc(a)', 'def') -** -> 'CREATE INDEX i ON def(a, b, c)' -*/ -static void renameTableFunc( - sqlite3_context *context, - int NotUsed, - sqlite3_value **argv -){ - unsigned char const *zSql = sqlite3_value_text(argv[0]); - unsigned char const *zTableName = sqlite3_value_text(argv[1]); - - int token; - Token tname; - unsigned char const *zCsr = zSql; - int len = 0; - char *zRet; - - sqlite3 *db = sqlite3_context_db_handle(context); - - UNUSED_PARAMETER(NotUsed); - - /* The principle used to locate the table name in the CREATE TABLE - ** statement is that the table name is the first non-space token that - ** is immediately followed by a TK_LP or TK_USING token. - */ - if( zSql ){ - do { - if( !*zCsr ){ - /* Ran out of input before finding an opening bracket. Return NULL. */ - return; - } - - /* Store the token that zCsr points to in tname. */ - tname.z = (char*)zCsr; - tname.n = len; - - /* Advance zCsr to the next token. Store that token type in 'token', - ** and its length in 'len' (to be used next iteration of this loop). - */ - do { - zCsr += len; - len = sqlite3GetToken(zCsr, &token); - } while( token==TK_SPACE ); - assert( len>0 ); - } while( token!=TK_LP && token!=TK_USING ); - - zRet = sqlite3MPrintf(db, "%.*s\"%w\"%s", (int)(((u8*)tname.z) - zSql), - zSql, zTableName, tname.z+tname.n); - sqlite3_result_text(context, zRet, -1, SQLITE_DYNAMIC); - } -} - -/* -** This C function implements an SQL user function that is used by SQL code -** generated by the ALTER TABLE ... RENAME command to modify the definition -** of any foreign key constraints that use the table being renamed as the -** parent table. It is passed three arguments: -** -** 1) The complete text of the CREATE TABLE statement being modified, -** 2) The old name of the table being renamed, and -** 3) The new name of the table being renamed. -** -** It returns the new CREATE TABLE statement. For example: -** -** sqlite_rename_parent('CREATE TABLE t1(a REFERENCES t2)', 't2', 't3') -** -> 'CREATE TABLE t1(a REFERENCES t3)' -*/ -#ifndef SQLITE_OMIT_FOREIGN_KEY -static void renameParentFunc( - sqlite3_context *context, - int NotUsed, - sqlite3_value **argv -){ - sqlite3 *db = sqlite3_context_db_handle(context); - char *zOutput = 0; - char *zResult; - unsigned char const *zInput = sqlite3_value_text(argv[0]); - unsigned char const *zOld = sqlite3_value_text(argv[1]); - unsigned char const *zNew = sqlite3_value_text(argv[2]); - - unsigned const char *z; /* Pointer to token */ - int n; /* Length of token z */ - int token; /* Type of token */ - - UNUSED_PARAMETER(NotUsed); - if( zInput==0 || zOld==0 ) return; - for(z=zInput; *z; z=z+n){ - n = sqlite3GetToken(z, &token); - if( token==TK_REFERENCES ){ - char *zParent; - do { - z += n; - n = sqlite3GetToken(z, &token); - }while( token==TK_SPACE ); - - if( token==TK_ILLEGAL ) break; - zParent = sqlite3DbStrNDup(db, (const char *)z, n); - if( zParent==0 ) break; - sqlite3Dequote(zParent); - if( 0==sqlite3StrICmp((const char *)zOld, zParent) ){ - char *zOut = sqlite3MPrintf(db, "%s%.*s\"%w\"", - (zOutput?zOutput:""), (int)(z-zInput), zInput, (const char *)zNew - ); - sqlite3DbFree(db, zOutput); - zOutput = zOut; - zInput = &z[n]; - } - sqlite3DbFree(db, zParent); - } - } - - zResult = sqlite3MPrintf(db, "%s%s", (zOutput?zOutput:""), zInput), - sqlite3_result_text(context, zResult, -1, SQLITE_DYNAMIC); - sqlite3DbFree(db, zOutput); -} -#endif - -#ifndef SQLITE_OMIT_TRIGGER -/* This function is used by SQL generated to implement the -** ALTER TABLE command. The first argument is the text of a CREATE TRIGGER -** statement. The second is a table name. The table name in the CREATE -** TRIGGER statement is replaced with the third argument and the result -** returned. This is analagous to renameTableFunc() above, except for CREATE -** TRIGGER, not CREATE INDEX and CREATE TABLE. -*/ -static void renameTriggerFunc( - sqlite3_context *context, - int NotUsed, - sqlite3_value **argv -){ - unsigned char const *zSql = sqlite3_value_text(argv[0]); - unsigned char const *zTableName = sqlite3_value_text(argv[1]); - - int token; - Token tname; - int dist = 3; - unsigned char const *zCsr = zSql; - int len = 0; - char *zRet; - sqlite3 *db = sqlite3_context_db_handle(context); - - UNUSED_PARAMETER(NotUsed); - - /* The principle used to locate the table name in the CREATE TRIGGER - ** statement is that the table name is the first token that is immediately - ** preceded by either TK_ON or TK_DOT and immediately followed by one - ** of TK_WHEN, TK_BEGIN or TK_FOR. - */ - if( zSql ){ - do { - - if( !*zCsr ){ - /* Ran out of input before finding the table name. Return NULL. */ - return; - } - - /* Store the token that zCsr points to in tname. */ - tname.z = (char*)zCsr; - tname.n = len; - - /* Advance zCsr to the next token. Store that token type in 'token', - ** and its length in 'len' (to be used next iteration of this loop). - */ - do { - zCsr += len; - len = sqlite3GetToken(zCsr, &token); - }while( token==TK_SPACE ); - assert( len>0 ); - - /* Variable 'dist' stores the number of tokens read since the most - ** recent TK_DOT or TK_ON. This means that when a WHEN, FOR or BEGIN - ** token is read and 'dist' equals 2, the condition stated above - ** to be met. - ** - ** Note that ON cannot be a database, table or column name, so - ** there is no need to worry about syntax like - ** "CREATE TRIGGER ... ON ON.ON BEGIN ..." etc. - */ - dist++; - if( token==TK_DOT || token==TK_ON ){ - dist = 0; - } - } while( dist!=2 || (token!=TK_WHEN && token!=TK_FOR && token!=TK_BEGIN) ); - - /* Variable tname now contains the token that is the old table-name - ** in the CREATE TRIGGER statement. - */ - zRet = sqlite3MPrintf(db, "%.*s\"%w\"%s", (int)(((u8*)tname.z) - zSql), - zSql, zTableName, tname.z+tname.n); - sqlite3_result_text(context, zRet, -1, SQLITE_DYNAMIC); - } -} -#endif /* !SQLITE_OMIT_TRIGGER */ - -/* -** Register built-in functions used to help implement ALTER TABLE -*/ -SQLITE_PRIVATE void sqlite3AlterFunctions(void){ - static FuncDef aAlterTableFuncs[] = { - FUNCTION(sqlite_rename_table, 2, 0, 0, renameTableFunc), -#ifndef SQLITE_OMIT_TRIGGER - FUNCTION(sqlite_rename_trigger, 2, 0, 0, renameTriggerFunc), -#endif -#ifndef SQLITE_OMIT_FOREIGN_KEY - FUNCTION(sqlite_rename_parent, 3, 0, 0, renameParentFunc), -#endif - }; - sqlite3InsertBuiltinFuncs(aAlterTableFuncs, ArraySize(aAlterTableFuncs)); -} - /* -** This function is used to create the text of expressions of the form: -** -** name= OR name= OR ... -** -** If argument zWhere is NULL, then a pointer string containing the text -** "name=" is returned, where is the quoted version -** of the string passed as argument zConstant. The returned buffer is -** allocated using sqlite3DbMalloc(). It is the responsibility of the -** caller to ensure that it is eventually freed. +** Parameter zName is the name of a table that is about to be altered +** (either with ALTER TABLE ... RENAME TO or ALTER TABLE ... ADD COLUMN). +** If the table is a system table, this function leaves an error message +** in pParse->zErr (system tables may not be altered) and returns non-zero. ** -** If argument zWhere is not NULL, then the string returned is -** " OR name=", where is the contents of zWhere. -** In this case zWhere is passed to sqlite3DbFree() before returning. -** -*/ -static char *whereOrName(sqlite3 *db, char *zWhere, char *zConstant){ - char *zNew; - if( !zWhere ){ - zNew = sqlite3MPrintf(db, "name=%Q", zConstant); - }else{ - zNew = sqlite3MPrintf(db, "%s OR name=%Q", zWhere, zConstant); - sqlite3DbFree(db, zWhere); - } - return zNew; -} - -#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER) -/* -** Generate the text of a WHERE expression which can be used to select all -** tables that have foreign key constraints that refer to table pTab (i.e. -** constraints for which pTab is the parent table) from the sqlite_master -** table. -*/ -static char *whereForeignKeys(Parse *pParse, Table *pTab){ - FKey *p; - char *zWhere = 0; - for(p=sqlite3FkReferences(pTab); p; p=p->pNextTo){ - zWhere = whereOrName(pParse->db, zWhere, p->pFrom->zName); - } - return zWhere; -} -#endif - -/* -** Generate the text of a WHERE expression which can be used to select all -** temporary triggers on table pTab from the sqlite_temp_master table. If -** table pTab has no temporary triggers, or is itself stored in the -** temporary database, NULL is returned. +** Or, if zName is not a system table, zero is returned. */ -static char *whereTempTriggers(Parse *pParse, Table *pTab){ - Trigger *pTrig; - char *zWhere = 0; - const Schema *pTempSchema = pParse->db->aDb[1].pSchema; /* Temp db schema */ - - /* If the table is not located in the temp-db (in which case NULL is - ** returned, loop through the tables list of triggers. For each trigger - ** that is not part of the temp-db schema, add a clause to the WHERE - ** expression being built up in zWhere. - */ - if( pTab->pSchema!=pTempSchema ){ - sqlite3 *db = pParse->db; - for(pTrig=sqlite3TriggerList(pParse, pTab); pTrig; pTrig=pTrig->pNext){ - if( pTrig->pSchema==pTempSchema ){ - zWhere = whereOrName(db, zWhere, pTrig->zName); - } - } - } - if( zWhere ){ - char *zNew = sqlite3MPrintf(pParse->db, "type='trigger' AND (%s)", zWhere); - sqlite3DbFree(pParse->db, zWhere); - zWhere = zNew; +static int isSystemTable(Parse *pParse, const char *zName){ + if( 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ + sqlite3ErrorMsg(pParse, "table %s may not be altered", zName); + return 1; } - return zWhere; + return 0; } /* -** Generate code to drop and reload the internal representation of table -** pTab from the database, including triggers and temporary triggers. -** Argument zName is the name of the table in the database schema at -** the time the generated code is executed. This can be different from -** pTab->zName if this function is being called to code part of an -** "ALTER TABLE RENAME TO" statement. +** Generate code to verify that the schemas of database zDb and, if +** bTemp is not true, database "temp", can still be parsed. This is +** called at the end of the generation of an ALTER TABLE ... RENAME ... +** statement to ensure that the operation has not rendered any schema +** objects unusable. */ -static void reloadTableSchema(Parse *pParse, Table *pTab, const char *zName){ - Vdbe *v; - char *zWhere; - int iDb; /* Index of database containing pTab */ -#ifndef SQLITE_OMIT_TRIGGER - Trigger *pTrig; -#endif - - v = sqlite3GetVdbe(pParse); - if( NEVER(v==0) ) return; - assert( sqlite3BtreeHoldsAllMutexes(pParse->db) ); - iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); - assert( iDb>=0 ); - -#ifndef SQLITE_OMIT_TRIGGER - /* Drop any table triggers from the internal schema. */ - for(pTrig=sqlite3TriggerList(pParse, pTab); pTrig; pTrig=pTrig->pNext){ - int iTrigDb = sqlite3SchemaToIndex(pParse->db, pTrig->pSchema); - assert( iTrigDb==iDb || iTrigDb==1 ); - sqlite3VdbeAddOp4(v, OP_DropTrigger, iTrigDb, 0, 0, pTrig->zName, 0); - } -#endif - - /* Drop the table and index from the internal schema. */ - sqlite3VdbeAddOp4(v, OP_DropTable, iDb, 0, 0, pTab->zName, 0); - - /* Reload the table, index and permanent trigger schemas. */ - zWhere = sqlite3MPrintf(pParse->db, "tbl_name=%Q", zName); - if( !zWhere ) return; - sqlite3VdbeAddParseSchemaOp(v, iDb, zWhere); +static void renameTestSchema(Parse *pParse, const char *zDb, int bTemp){ + sqlite3NestedParse(pParse, + "SELECT 1 " + "FROM \"%w\".%s " + "WHERE name NOT LIKE 'sqlite_%%'" + " AND sql NOT LIKE 'create virtual%%'" + " AND sqlite_rename_test(%Q, sql, type, name, %d)=NULL ", + zDb, MASTER_NAME, + zDb, bTemp + ); -#ifndef SQLITE_OMIT_TRIGGER - /* Now, if the table is not stored in the temp database, reload any temp - ** triggers. Don't use IN(...) in case SQLITE_OMIT_SUBQUERY is defined. - */ - if( (zWhere=whereTempTriggers(pParse, pTab))!=0 ){ - sqlite3VdbeAddParseSchemaOp(v, 1, zWhere); + if( bTemp==0 ){ + sqlite3NestedParse(pParse, + "SELECT 1 " + "FROM temp.%s " + "WHERE name NOT LIKE 'sqlite_%%'" + " AND sql NOT LIKE 'create virtual%%'" + " AND sqlite_rename_test(%Q, sql, type, name, 1)=NULL ", + MASTER_NAME, zDb + ); } -#endif } /* -** Parameter zName is the name of a table that is about to be altered -** (either with ALTER TABLE ... RENAME TO or ALTER TABLE ... ADD COLUMN). -** If the table is a system table, this function leaves an error message -** in pParse->zErr (system tables may not be altered) and returns non-zero. -** -** Or, if zName is not a system table, zero is returned. +** Generate code to reload the schema for database iDb. And, if iDb!=1, for +** the temp database as well. */ -static int isSystemTable(Parse *pParse, const char *zName){ - if( 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ - sqlite3ErrorMsg(pParse, "table %s may not be altered", zName); - return 1; +static void renameReloadSchema(Parse *pParse, int iDb){ + Vdbe *v = pParse->pVdbe; + if( v ){ + sqlite3ChangeCookie(pParse, iDb); + sqlite3VdbeAddParseSchemaOp(pParse->pVdbe, iDb, 0); + if( iDb!=1 ) sqlite3VdbeAddParseSchemaOp(pParse->pVdbe, 1, 0); } - return 0; } /* @@ -98418,9 +101566,6 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( int nTabName; /* Number of UTF-8 characters in zTabName */ const char *zTabName; /* Original name of the table */ Vdbe *v; -#ifndef SQLITE_OMIT_TRIGGER - char *zWhere = 0; /* Where clause to locate temp triggers */ -#endif VTable *pVTab = 0; /* Non-zero if this is a v-tab with an xRename() */ u32 savedDbFlags; /* Saved value of db->mDbFlags */ @@ -98493,52 +101638,25 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( if( v==0 ){ goto exit_rename_table; } - sqlite3BeginWriteOperation(pParse, pVTab!=0, iDb); - sqlite3ChangeCookie(pParse, iDb); - - /* If this is a virtual table, invoke the xRename() function if - ** one is defined. The xRename() callback will modify the names - ** of any resources used by the v-table implementation (including other - ** SQLite tables) that are identified by the name of the virtual table. - */ -#ifndef SQLITE_OMIT_VIRTUALTABLE - if( pVTab ){ - int i = ++pParse->nMem; - sqlite3VdbeLoadString(v, i, zName); - sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB); - sqlite3MayAbort(pParse); - } -#endif /* figure out how many UTF-8 characters are in zName */ zTabName = pTab->zName; nTabName = sqlite3Utf8CharLen(zTabName, -1); -#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER) - if( db->flags&SQLITE_ForeignKeys ){ - /* If foreign-key support is enabled, rewrite the CREATE TABLE - ** statements corresponding to all child tables of foreign key constraints - ** for which the renamed table is the parent table. */ - if( (zWhere=whereForeignKeys(pParse, pTab))!=0 ){ - sqlite3NestedParse(pParse, - "UPDATE \"%w\".%s SET " - "sql = sqlite_rename_parent(sql, %Q, %Q) " - "WHERE %s;", zDb, MASTER_NAME, zTabName, zName, zWhere); - sqlite3DbFree(db, zWhere); - } - } -#endif + /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in + ** the schema to use the new table name. */ + sqlite3NestedParse(pParse, + "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_%%'" + , zDb, MASTER_NAME, zDb, zTabName, zName, (iDb==1), zTabName + ); - /* Modify the sqlite_master table to use the new table name. */ + /* Update the tbl_name and name columns of the sqlite_master table + ** as required. */ sqlite3NestedParse(pParse, "UPDATE %Q.%s SET " -#ifdef SQLITE_OMIT_TRIGGER - "sql = sqlite_rename_table(sql, %Q), " -#else - "sql = CASE " - "WHEN type = 'trigger' THEN sqlite_rename_trigger(sql, %Q)" - "ELSE sqlite_rename_table(sql, %Q) END, " -#endif "tbl_name = %Q, " "name = CASE " "WHEN type='table' THEN %Q " @@ -98547,11 +101665,9 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( "ELSE name END " "WHERE tbl_name=%Q COLLATE nocase AND " "(type='table' OR type='index' OR type='trigger');", - zDb, MASTER_NAME, zName, zName, zName, -#ifndef SQLITE_OMIT_TRIGGER - zName, -#endif - zName, nTabName, zTabName + zDb, MASTER_NAME, + zName, zName, zName, + nTabName, zTabName ); #ifndef SQLITE_OMIT_AUTOINCREMENT @@ -98565,35 +101681,37 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( } #endif -#ifndef SQLITE_OMIT_TRIGGER - /* If there are TEMP triggers on this table, modify the sqlite_temp_master - ** table. Don't do this if the table being ALTERed is itself located in - ** the temp database. - */ - if( (zWhere=whereTempTriggers(pParse, pTab))!=0 ){ + /* If the table being renamed is not itself part of the temp database, + ** edit view and trigger definitions within the temp database + ** as required. */ + if( iDb!=1 ){ sqlite3NestedParse(pParse, "UPDATE sqlite_temp_master SET " - "sql = sqlite_rename_trigger(sql, %Q), " - "tbl_name = %Q " - "WHERE %s;", zName, zName, zWhere); - sqlite3DbFree(db, zWhere); + "sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), " + "tbl_name = " + "CASE WHEN tbl_name=%Q COLLATE nocase AND " + " sqlite_rename_test(%Q, sql, type, name, 1) " + "THEN %Q ELSE tbl_name END " + "WHERE type IN ('view', 'trigger')" + , zDb, zTabName, zName, zTabName, zDb, zName); } -#endif -#if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER) - if( db->flags&SQLITE_ForeignKeys ){ - FKey *p; - for(p=sqlite3FkReferences(pTab); p; p=p->pNextTo){ - Table *pFrom = p->pFrom; - if( pFrom!=pTab ){ - reloadTableSchema(pParse, p->pFrom, pFrom->zName); - } - } + /* If this is a virtual table, invoke the xRename() function if + ** one is defined. The xRename() callback will modify the names + ** of any resources used by the v-table implementation (including other + ** SQLite tables) that are identified by the name of the virtual table. + */ +#ifndef SQLITE_OMIT_VIRTUALTABLE + if( pVTab ){ + int i = ++pParse->nMem; + sqlite3VdbeLoadString(v, i, zName); + sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB); + sqlite3MayAbort(pParse); } #endif - /* Drop and reload the internal table schema. */ - reloadTableSchema(pParse, pTab, zName); + renameReloadSchema(pParse, iDb); + renameTestSchema(pParse, zDb, iDb==1); exit_rename_table: sqlite3SrcListDelete(db, pSrc); @@ -98619,12 +101737,11 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ Column *pCol; /* The new column */ Expr *pDflt; /* Default value for the new column */ sqlite3 *db; /* The database connection; */ - Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */ + Vdbe *v; /* The prepared statement under construction */ int r1; /* Temporary registers */ db = pParse->db; if( pParse->nErr || db->mallocFailed ) return; - assert( v!=0 ); pNew = pParse->pNewTable; assert( pNew ); @@ -98719,17 +101836,20 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ ** from less than 3 to 4, as that will corrupt any preexisting DESC ** index. */ - r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT); - sqlite3VdbeUsesBtree(v, iDb); - sqlite3VdbeAddOp2(v, OP_AddImm, r1, -2); - sqlite3VdbeAddOp2(v, OP_IfPos, r1, sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, 3); - sqlite3ReleaseTempReg(pParse, r1); + v = sqlite3GetVdbe(pParse); + if( v ){ + r1 = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT); + sqlite3VdbeUsesBtree(v, iDb); + sqlite3VdbeAddOp2(v, OP_AddImm, r1, -2); + sqlite3VdbeAddOp2(v, OP_IfPos, r1, sqlite3VdbeCurrentAddr(v)+2); + VdbeCoverage(v); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, 3); + sqlite3ReleaseTempReg(pParse, r1); + } - /* Reload the schema of the modified table. */ - reloadTableSchema(pParse, pTab, pTab->zName); + /* Reload the table definition */ + renameReloadSchema(pParse, iDb); } /* @@ -98750,7 +101870,6 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ Table *pNew; Table *pTab; - Vdbe *v; int iDb; int i; int nAlloc; @@ -98814,16 +101933,1146 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ pNew->addColOffset = pTab->addColOffset; pNew->nTabRef = 1; - /* Begin a transaction and increment the schema cookie. */ - sqlite3BeginWriteOperation(pParse, 0, iDb); - v = sqlite3GetVdbe(pParse); - if( !v ) goto exit_begin_add_column; - sqlite3ChangeCookie(pParse, iDb); - exit_begin_add_column: sqlite3SrcListDelete(db, pSrc); return; } + +/* +** Parameter pTab is the subject of an ALTER TABLE ... RENAME COLUMN +** command. This function checks if the table is a view or virtual +** table (columns of views or virtual tables may not be renamed). If so, +** it loads an error message into pParse and returns non-zero. +** +** Or, if pTab is not a view or virtual table, zero is returned. +*/ +#if !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_VIRTUALTABLE) +static int isRealTable(Parse *pParse, Table *pTab){ + const char *zType = 0; +#ifndef SQLITE_OMIT_VIEW + if( pTab->pSelect ){ + zType = "view"; + } +#endif +#ifndef SQLITE_OMIT_VIRTUALTABLE + if( IsVirtual(pTab) ){ + zType = "virtual table"; + } +#endif + if( zType ){ + sqlite3ErrorMsg( + pParse, "cannot rename columns of %s \"%s\"", zType, pTab->zName + ); + return 1; + } + return 0; +} +#else /* !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_VIRTUALTABLE) */ +# define isRealTable(x,y) (0) +#endif + +/* +** Handles the following parser reduction: +** +** cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew +*/ +SQLITE_PRIVATE void sqlite3AlterRenameColumn( + Parse *pParse, /* Parsing context */ + SrcList *pSrc, /* Table being altered. pSrc->nSrc==1 */ + Token *pOld, /* Name of column being changed */ + Token *pNew /* New column name */ +){ + sqlite3 *db = pParse->db; /* Database connection */ + Table *pTab; /* Table being updated */ + int iCol; /* Index of column being renamed */ + char *zOld = 0; /* Old column name */ + char *zNew = 0; /* New column name */ + const char *zDb; /* Name of schema containing the table */ + int iSchema; /* Index of the schema */ + int bQuote; /* True to quote the new name */ + + /* Locate the table to be altered */ + pTab = sqlite3LocateTableItem(pParse, 0, &pSrc->a[0]); + 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!=isRealTable(pParse, pTab) ) goto exit_rename_column; + + /* Which schema holds the table to be altered */ + iSchema = sqlite3SchemaToIndex(db, pTab->pSchema); + assert( iSchema>=0 ); + zDb = db->aDb[iSchema].zDbSName; + +#ifndef SQLITE_OMIT_AUTHORIZATION + /* Invoke the authorization callback. */ + if( sqlite3AuthCheck(pParse, SQLITE_ALTER_TABLE, zDb, pTab->zName, 0) ){ + goto exit_rename_column; + } +#endif + + /* Make sure the old name really is a column name in the table to be + ** altered. Set iCol to be the index of the column being renamed */ + zOld = sqlite3NameFromToken(db, pOld); + if( !zOld ) goto exit_rename_column; + for(iCol=0; iColnCol; iCol++){ + if( 0==sqlite3StrICmp(pTab->aCol[iCol].zName, zOld) ) break; + } + if( iCol==pTab->nCol ){ + sqlite3ErrorMsg(pParse, "no such column: \"%s\"", zOld); + goto exit_rename_column; + } + + /* Do the rename operation using a recursive UPDATE statement that + ** uses the sqlite_rename_column() SQL function to compute the new + ** CREATE statement text for the sqlite_master table. + */ + zNew = sqlite3NameFromToken(db, pNew); + if( !zNew ) goto exit_rename_column; + assert( pNew->n>0 ); + bQuote = sqlite3Isquote(pNew->z[0]); + 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)" + " AND sql NOT LIKE 'create virtual%%'", + zDb, MASTER_NAME, + zDb, pTab->zName, iCol, zNew, bQuote, iSchema==1, + pTab->zName + ); + + sqlite3NestedParse(pParse, + "UPDATE temp.%s SET " + "sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) " + "WHERE type IN ('trigger', 'view')", + MASTER_NAME, + zDb, pTab->zName, iCol, zNew, bQuote + ); + + /* Drop and reload the database schema. */ + renameReloadSchema(pParse, iSchema); + renameTestSchema(pParse, zDb, iSchema==1); + + exit_rename_column: + sqlite3SrcListDelete(db, pSrc); + sqlite3DbFree(db, zOld); + sqlite3DbFree(db, zNew); + return; +} + +/* +** Each RenameToken object maps an element of the parse tree into +** the token that generated that element. The parse tree element +** might be one of: +** +** * A pointer to an Expr that represents an ID +** * The name of a table column in Column.zName +** +** A list of RenameToken objects can be constructed during parsing. +** Each new object is created by sqlite3RenameTokenMap(). +** As the parse tree is transformed, the sqlite3RenameTokenRemap() +** routine is used to keep the mapping current. +** +** After the parse finishes, renameTokenFind() routine can be used +** to look up the actual token value that created some element in +** the parse tree. +*/ +struct RenameToken { + void *p; /* Parse tree element created by token t */ + Token t; /* The token that created parse tree element p */ + RenameToken *pNext; /* Next is a list of all RenameToken objects */ +}; + +/* +** The context of an ALTER TABLE RENAME COLUMN operation that gets passed +** down into the Walker. +*/ +typedef struct RenameCtx RenameCtx; +struct RenameCtx { + RenameToken *pList; /* List of tokens to overwrite */ + int nList; /* Number of tokens in pList */ + int iCol; /* Index of column being renamed */ + Table *pTab; /* Table being ALTERed */ + const char *zOld; /* Old column name */ +}; + +#ifdef SQLITE_DEBUG +/* +** This function is only for debugging. It performs two tasks: +** +** 1. Checks that pointer pPtr does not already appear in the +** rename-token list. +** +** 2. Dereferences each pointer in the rename-token list. +** +** The second is most effective when debugging under valgrind or +** address-sanitizer or similar. If any of these pointers no longer +** point to valid objects, an exception is raised by the memory-checking +** tool. +** +** The point of this is to prevent comparisons of invalid pointer values. +** Even though this always seems to work, it is undefined according to the +** C standard. Example of undefined comparison: +** +** sqlite3_free(x); +** if( x==y ) ... +** +** Technically, as x no longer points into a valid object or to the byte +** following a valid object, it may not be used in comparison operations. +*/ +static void renameTokenCheckAll(Parse *pParse, void *pPtr){ + if( pParse->nErr==0 && pParse->db->mallocFailed==0 ){ + RenameToken *p; + u8 i = 0; + for(p=pParse->pRename; p; p=p->pNext){ + if( p->p ){ + assert( p->p!=pPtr ); + i += *(u8*)(p->p); + } + } + } +} +#else +# define renameTokenCheckAll(x,y) +#endif + +/* +** Remember that the parser tree element pPtr was created using +** the token pToken. +** +** In other words, construct a new RenameToken object and add it +** to the list of RenameToken objects currently being built up +** in pParse->pRename. +** +** The pPtr argument is returned so that this routine can be used +** with tail recursion in tokenExpr() routine, for a small performance +** improvement. +*/ +SQLITE_PRIVATE void *sqlite3RenameTokenMap(Parse *pParse, void *pPtr, Token *pToken){ + RenameToken *pNew; + assert( pPtr || pParse->db->mallocFailed ); + renameTokenCheckAll(pParse, pPtr); + pNew = sqlite3DbMallocZero(pParse->db, sizeof(RenameToken)); + if( pNew ){ + pNew->p = pPtr; + pNew->t = *pToken; + pNew->pNext = pParse->pRename; + pParse->pRename = pNew; + } + + return pPtr; +} + +/* +** It is assumed that there is already a RenameToken object associated +** with parse tree element pFrom. This function remaps the associated token +** to parse tree element pTo. +*/ +SQLITE_PRIVATE void sqlite3RenameTokenRemap(Parse *pParse, void *pTo, void *pFrom){ + RenameToken *p; + renameTokenCheckAll(pParse, pTo); + for(p=pParse->pRename; p; p=p->pNext){ + if( p->p==pFrom ){ + p->p = pTo; + break; + } + } +} + +/* +** Walker callback used by sqlite3RenameExprUnmap(). +*/ +static int renameUnmapExprCb(Walker *pWalker, Expr *pExpr){ + Parse *pParse = pWalker->pParse; + sqlite3RenameTokenRemap(pParse, 0, (void*)pExpr); + return WRC_Continue; +} + +/* +** Remove all nodes that are part of expression pExpr from the rename list. +*/ +SQLITE_PRIVATE void sqlite3RenameExprUnmap(Parse *pParse, Expr *pExpr){ + Walker sWalker; + memset(&sWalker, 0, sizeof(Walker)); + sWalker.pParse = pParse; + sWalker.xExprCallback = renameUnmapExprCb; + sqlite3WalkExpr(&sWalker, pExpr); +} + +/* +** Remove all nodes that are part of expression-list pEList from the +** rename list. +*/ +SQLITE_PRIVATE void sqlite3RenameExprlistUnmap(Parse *pParse, ExprList *pEList){ + if( pEList ){ + int i; + Walker sWalker; + memset(&sWalker, 0, sizeof(Walker)); + sWalker.pParse = pParse; + sWalker.xExprCallback = renameUnmapExprCb; + sqlite3WalkExprList(&sWalker, pEList); + for(i=0; inExpr; i++){ + sqlite3RenameTokenRemap(pParse, 0, (void*)pEList->a[i].zName); + } + } +} + +/* +** Free the list of RenameToken objects given in the second argument +*/ +static void renameTokenFree(sqlite3 *db, RenameToken *pToken){ + RenameToken *pNext; + RenameToken *p; + for(p=pToken; p; p=pNext){ + pNext = p->pNext; + sqlite3DbFree(db, p); + } +} + +/* +** Search the Parse object passed as the first argument for a RenameToken +** object associated with parse tree element pPtr. If found, remove it +** from the Parse object and add it to the list maintained by the +** RenameCtx object passed as the second argument. +*/ +static void renameTokenFind(Parse *pParse, struct RenameCtx *pCtx, void *pPtr){ + RenameToken **pp; + assert( pPtr!=0 ); + for(pp=&pParse->pRename; (*pp); pp=&(*pp)->pNext){ + if( (*pp)->p==pPtr ){ + RenameToken *pToken = *pp; + *pp = pToken->pNext; + pToken->pNext = pCtx->pList; + pCtx->pList = pToken; + pCtx->nList++; + break; + } + } +} + +/* +** 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); + return WRC_Continue; +} + +/* +** This is a Walker expression callback. +** +** For every TK_COLUMN node in the expression tree, search to see +** if the column being references is the column being renamed by an +** ALTER TABLE statement. If it is, then attach its associated +** RenameToken object to the list of RenameToken objects being +** constructed in RenameCtx object at pWalker->u.pRename. +*/ +static int renameColumnExprCb(Walker *pWalker, Expr *pExpr){ + RenameCtx *p = pWalker->u.pRename; + if( pExpr->op==TK_TRIGGER + && pExpr->iColumn==p->iCol + && pWalker->pParse->pTriggerTab==p->pTab + ){ + renameTokenFind(pWalker->pParse, p, (void*)pExpr); + }else if( pExpr->op==TK_COLUMN + && pExpr->iColumn==p->iCol + && p->pTab==pExpr->y.pTab + ){ + renameTokenFind(pWalker->pParse, p, (void*)pExpr); + } + return WRC_Continue; +} + +/* +** The RenameCtx contains a list of tokens that reference a column that +** is being renamed by an ALTER TABLE statement. Return the "last" +** RenameToken in the RenameCtx and remove that RenameToken from the +** RenameContext. "Last" means the last RenameToken encountered when +** the input SQL is parsed from left to right. Repeated calls to this routine +** return all column name tokens in the order that they are encountered +** in the SQL statement. +*/ +static RenameToken *renameColumnTokenNext(RenameCtx *pCtx){ + RenameToken *pBest = pCtx->pList; + RenameToken *pToken; + RenameToken **pp; + + for(pToken=pBest->pNext; pToken; pToken=pToken->pNext){ + if( pToken->t.z>pBest->t.z ) pBest = pToken; + } + for(pp=&pCtx->pList; *pp!=pBest; pp=&(*pp)->pNext); + *pp = pBest->pNext; + + return pBest; +} + +/* +** An error occured while parsing or otherwise processing a database +** object (either pParse->pNewTable, pNewIndex or pNewTrigger) as part of an +** ALTER TABLE RENAME COLUMN program. The error message emitted by the +** sub-routine is currently stored in pParse->zErrMsg. This function +** adds context to the error message and then stores it in pCtx. +*/ +static void renameColumnParseError( + sqlite3_context *pCtx, + int bPost, + sqlite3_value *pType, + sqlite3_value *pObject, + Parse *pParse +){ + const char *zT = (const char*)sqlite3_value_text(pType); + const char *zN = (const char*)sqlite3_value_text(pObject); + char *zErr; + + zErr = sqlite3_mprintf("error in %s %s%s: %s", + zT, zN, (bPost ? " after rename" : ""), + pParse->zErrMsg + ); + sqlite3_result_error(pCtx, zErr, -1); + sqlite3_free(zErr); +} + +/* +** For each name in the the expression-list pEList (i.e. each +** pEList->a[i].zName) that matches the string in zOld, extract the +** corresponding rename-token from Parse object pParse and add it +** to the RenameCtx pCtx. +*/ +static void renameColumnElistNames( + Parse *pParse, + RenameCtx *pCtx, + ExprList *pEList, + const char *zOld +){ + if( pEList ){ + int i; + for(i=0; inExpr; i++){ + char *zName = pEList->a[i].zName; + if( 0==sqlite3_stricmp(zName, zOld) ){ + renameTokenFind(pParse, pCtx, (void*)zName); + } + } + } +} + +/* +** For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) +** that matches the string in zOld, extract the corresponding rename-token +** from Parse object pParse and add it to the RenameCtx pCtx. +*/ +static void renameColumnIdlistNames( + Parse *pParse, + RenameCtx *pCtx, + IdList *pIdList, + const char *zOld +){ + if( pIdList ){ + int i; + for(i=0; inId; i++){ + char *zName = pIdList->a[i].zName; + if( 0==sqlite3_stricmp(zName, zOld) ){ + renameTokenFind(pParse, pCtx, (void*)zName); + } + } + } +} + +/* +** Parse the SQL statement zSql using Parse object (*p). The Parse object +** is initialized by this function before it is used. +*/ +static int renameParseSql( + Parse *p, /* Memory to use for Parse object */ + const char *zDb, /* Name of schema SQL belongs to */ + int bTable, /* 1 -> RENAME TABLE, 0 -> RENAME COLUMN */ + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL to parse */ + int bTemp /* True if SQL is from temp schema */ +){ + int rc; + char *zErr = 0; + + db->init.iDb = bTemp ? 1 : sqlite3FindDbName(db, zDb); + + /* Parse the SQL statement passed as the first argument. If no error + ** occurs and the parse does not result in a new table, index or + ** trigger object, the database must be corrupt. */ + memset(p, 0, sizeof(Parse)); + p->eParseMode = (bTable ? PARSE_MODE_RENAME_TABLE : PARSE_MODE_RENAME_COLUMN); + p->db = db; + p->nQueryLoop = 1; + 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 + && p->pNewTable==0 && p->pNewIndex==0 && p->pNewTrigger==0 + ){ + rc = SQLITE_CORRUPT_BKPT; + } + +#ifdef SQLITE_DEBUG + /* Ensure that all mappings in the Parse.pRename list really do map to + ** a part of the input string. */ + if( rc==SQLITE_OK ){ + int nSql = sqlite3Strlen30(zSql); + RenameToken *pToken; + for(pToken=p->pRename; pToken; pToken=pToken->pNext){ + assert( pToken->t.z>=zSql && &pToken->t.z[pToken->t.n]<=&zSql[nSql] ); + } + } +#endif + + db->init.iDb = 0; + return rc; +} + +/* +** This function edits SQL statement zSql, replacing each token identified +** by the linked list pRename with the text of zNew. If argument bQuote is +** true, then zNew is always quoted first. If no error occurs, the result +** is loaded into context object pCtx as the result. +** +** Or, if an error occurs (i.e. an OOM condition), an error is left in +** pCtx and an SQLite error code returned. +*/ +static int renameEditSql( + sqlite3_context *pCtx, /* Return result here */ + RenameCtx *pRename, /* Rename context */ + const char *zSql, /* SQL statement to edit */ + const char *zNew, /* New token text */ + int bQuote /* True to always quote token */ +){ + int nNew = sqlite3Strlen30(zNew); + int nSql = sqlite3Strlen30(zSql); + sqlite3 *db = sqlite3_context_db_handle(pCtx); + int rc = SQLITE_OK; + char *zQuot; + char *zOut; + int nQuot; + + /* Set zQuot to point to a buffer containing a quoted copy of the + ** identifier zNew. If the corresponding identifier in the original + ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to + ** point to zQuot so that all substitutions are made using the + ** quoted version of the new column name. */ + zQuot = sqlite3MPrintf(db, "\"%w\"", zNew); + if( zQuot==0 ){ + return SQLITE_NOMEM; + }else{ + nQuot = sqlite3Strlen30(zQuot); + } + if( bQuote ){ + zNew = zQuot; + nNew = nQuot; + } + + /* At this point pRename->pList contains a list of RenameToken objects + ** corresponding to all tokens in the input SQL that must be replaced + ** with the new column name. All that remains is to construct and + ** return the edited SQL string. */ + assert( nQuot>=nNew ); + zOut = sqlite3DbMallocZero(db, nSql + pRename->nList*nQuot + 1); + if( zOut ){ + int nOut = nSql; + memcpy(zOut, zSql, nSql); + while( pRename->pList ){ + int iOff; /* Offset of token to replace in zOut */ + RenameToken *pBest = renameColumnTokenNext(pRename); + + u32 nReplace; + const char *zReplace; + if( sqlite3IsIdChar(*pBest->t.z) ){ + nReplace = nNew; + zReplace = zNew; + }else{ + nReplace = nQuot; + zReplace = zQuot; + } + + iOff = pBest->t.z - zSql; + if( pBest->t.n!=nReplace ){ + memmove(&zOut[iOff + nReplace], &zOut[iOff + pBest->t.n], + nOut - (iOff + pBest->t.n) + ); + nOut += nReplace - pBest->t.n; + zOut[nOut] = '\0'; + } + memcpy(&zOut[iOff], zReplace, nReplace); + sqlite3DbFree(db, pBest); + } + + sqlite3_result_text(pCtx, zOut, -1, SQLITE_TRANSIENT); + sqlite3DbFree(db, zOut); + }else{ + rc = SQLITE_NOMEM; + } + + sqlite3_free(zQuot); + return rc; +} + +/* +** Resolve all symbols in the trigger at pParse->pNewTrigger, assuming +** it was read from the schema of database zDb. Return SQLITE_OK if +** successful. Otherwise, return an SQLite error code and leave an error +** message in the Parse object. +*/ +static int renameResolveTrigger(Parse *pParse, const char *zDb){ + sqlite3 *db = pParse->db; + Trigger *pNew = pParse->pNewTrigger; + TriggerStep *pStep; + NameContext sNC; + int rc = SQLITE_OK; + + memset(&sNC, 0, sizeof(sNC)); + sNC.pParse = pParse; + assert( pNew->pTabSchema ); + pParse->pTriggerTab = sqlite3FindTable(db, pNew->table, + db->aDb[sqlite3SchemaToIndex(db, pNew->pTabSchema)].zDbSName + ); + pParse->eTriggerOp = pNew->op; + /* ALWAYS() because if the table of the trigger does not exist, the + ** error would have been hit before this point */ + if( ALWAYS(pParse->pTriggerTab) ){ + rc = sqlite3ViewGetColumnNames(pParse, pParse->pTriggerTab); + } + + /* Resolve symbols in WHEN clause */ + if( rc==SQLITE_OK && pNew->pWhen ){ + rc = sqlite3ResolveExprNames(&sNC, pNew->pWhen); + } + + for(pStep=pNew->step_list; rc==SQLITE_OK && pStep; pStep=pStep->pNext){ + if( pStep->pSelect ){ + sqlite3SelectPrep(pParse, pStep->pSelect, &sNC); + if( pParse->nErr ) rc = pParse->rc; + } + if( rc==SQLITE_OK && pStep->zTarget ){ + Table *pTarget = sqlite3LocateTable(pParse, 0, pStep->zTarget, zDb); + if( pTarget==0 ){ + rc = SQLITE_ERROR; + }else if( SQLITE_OK==(rc = sqlite3ViewGetColumnNames(pParse, pTarget)) ){ + SrcList sSrc; + memset(&sSrc, 0, sizeof(sSrc)); + sSrc.nSrc = 1; + sSrc.a[0].zName = pStep->zTarget; + sSrc.a[0].pTab = pTarget; + sNC.pSrcList = &sSrc; + if( pStep->pWhere ){ + rc = sqlite3ResolveExprNames(&sNC, pStep->pWhere); + } + if( rc==SQLITE_OK ){ + rc = sqlite3ResolveExprListNames(&sNC, pStep->pExprList); + } + assert( !pStep->pUpsert || (!pStep->pWhere && !pStep->pExprList) ); + if( pStep->pUpsert ){ + Upsert *pUpsert = pStep->pUpsert; + assert( rc==SQLITE_OK ); + pUpsert->pUpsertSrc = &sSrc; + sNC.uNC.pUpsert = pUpsert; + sNC.ncFlags = NC_UUpsert; + rc = sqlite3ResolveExprListNames(&sNC, pUpsert->pUpsertTarget); + if( rc==SQLITE_OK ){ + ExprList *pUpsertSet = pUpsert->pUpsertSet; + rc = sqlite3ResolveExprListNames(&sNC, pUpsertSet); + } + if( rc==SQLITE_OK ){ + rc = sqlite3ResolveExprNames(&sNC, pUpsert->pUpsertWhere); + } + if( rc==SQLITE_OK ){ + rc = sqlite3ResolveExprNames(&sNC, pUpsert->pUpsertTargetWhere); + } + sNC.ncFlags = 0; + } + } + } + } + return rc; +} + +/* +** Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr +** objects that are part of the trigger passed as the second argument. +*/ +static void renameWalkTrigger(Walker *pWalker, Trigger *pTrigger){ + TriggerStep *pStep; + + /* Find tokens to edit in WHEN clause */ + sqlite3WalkExpr(pWalker, pTrigger->pWhen); + + /* Find tokens to edit in trigger steps */ + for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){ + sqlite3WalkSelect(pWalker, pStep->pSelect); + sqlite3WalkExpr(pWalker, pStep->pWhere); + sqlite3WalkExprList(pWalker, pStep->pExprList); + if( pStep->pUpsert ){ + Upsert *pUpsert = pStep->pUpsert; + sqlite3WalkExprList(pWalker, pUpsert->pUpsertTarget); + sqlite3WalkExprList(pWalker, pUpsert->pUpsertSet); + sqlite3WalkExpr(pWalker, pUpsert->pUpsertWhere); + sqlite3WalkExpr(pWalker, pUpsert->pUpsertTargetWhere); + } + } +} + +/* +** Free the contents of Parse object (*pParse). Do not free the memory +** occupied by the Parse object itself. +*/ +static void renameParseCleanup(Parse *pParse){ + sqlite3 *db = pParse->db; + if( pParse->pVdbe ){ + sqlite3VdbeFinalize(pParse->pVdbe); + } + sqlite3DeleteTable(db, pParse->pNewTable); + if( pParse->pNewIndex ) sqlite3FreeIndex(db, pParse->pNewIndex); + sqlite3DeleteTrigger(db, pParse->pNewTrigger); + sqlite3DbFree(db, pParse->zErrMsg); + renameTokenFree(db, pParse->pRename); + sqlite3ParserReset(pParse); +} + +/* +** SQL function: +** +** sqlite_rename_column(zSql, iCol, bQuote, zNew, zTable, zOld) +** +** 0. zSql: SQL statement to rewrite +** 1. type: Type of object ("table", "view" etc.) +** 2. object: Name of object +** 3. Database: Database name (e.g. "main") +** 4. Table: Table name +** 5. iCol: Index of column to rename +** 6. zNew: New column name +** 7. bQuote: Non-zero if the new column name should be quoted. +** 8. bTemp: True if zSql comes from temp schema +** +** Do a column rename operation on the CREATE statement given in zSql. +** The iCol-th column (left-most is 0) of table zTable is renamed from zCol +** into zNew. The name should be quoted if bQuote is true. +** +** This function is used internally by the ALTER TABLE RENAME COLUMN command. +** It is only accessible to SQL created using sqlite3NestedParse(). It is +** not reachable from ordinary SQL passed into sqlite3_prepare(). +*/ +static void renameColumnFunc( + sqlite3_context *context, + int NotUsed, + sqlite3_value **argv +){ + sqlite3 *db = sqlite3_context_db_handle(context); + RenameCtx sCtx; + const char *zSql = (const char*)sqlite3_value_text(argv[0]); + const char *zDb = (const char*)sqlite3_value_text(argv[3]); + const char *zTable = (const char*)sqlite3_value_text(argv[4]); + int iCol = sqlite3_value_int(argv[5]); + const char *zNew = (const char*)sqlite3_value_text(argv[6]); + int bQuote = sqlite3_value_int(argv[7]); + int bTemp = sqlite3_value_int(argv[8]); + const char *zOld; + int rc; + Parse sParse; + Walker sWalker; + Index *pIdx; + int i; + Table *pTab; +#ifndef SQLITE_OMIT_AUTHORIZATION + sqlite3_xauth xAuth = db->xAuth; +#endif + + UNUSED_PARAMETER(NotUsed); + if( zSql==0 ) return; + if( zTable==0 ) return; + if( zNew==0 ) return; + if( iCol<0 ) return; + sqlite3BtreeEnterAll(db); + pTab = sqlite3FindTable(db, zTable, zDb); + if( pTab==0 || iCol>=pTab->nCol ){ + sqlite3BtreeLeaveAll(db); + return; + } + zOld = pTab->aCol[iCol].zName; + memset(&sCtx, 0, sizeof(sCtx)); + sCtx.iCol = ((iCol==pTab->iPKey) ? -1 : iCol); + +#ifndef SQLITE_OMIT_AUTHORIZATION + db->xAuth = 0; +#endif + rc = renameParseSql(&sParse, zDb, 0, db, zSql, bTemp); + + /* Find tokens that need to be replaced. */ + memset(&sWalker, 0, sizeof(Walker)); + sWalker.pParse = &sParse; + sWalker.xExprCallback = renameColumnExprCb; + sWalker.xSelectCallback = renameColumnSelectCb; + sWalker.u.pRename = &sCtx; + + sCtx.pTab = pTab; + if( rc!=SQLITE_OK ) goto renameColumnFunc_done; + if( sParse.pNewTable ){ + Select *pSelect = sParse.pNewTable->pSelect; + if( pSelect ){ + sParse.rc = SQLITE_OK; + sqlite3SelectPrep(&sParse, sParse.pNewTable->pSelect, 0); + rc = (db->mallocFailed ? SQLITE_NOMEM : sParse.rc); + if( rc==SQLITE_OK ){ + sqlite3WalkSelect(&sWalker, pSelect); + } + if( rc!=SQLITE_OK ) goto renameColumnFunc_done; + }else{ + /* A regular table */ + int bFKOnly = sqlite3_stricmp(zTable, sParse.pNewTable->zName); + FKey *pFKey; + assert( sParse.pNewTable->pSelect==0 ); + sCtx.pTab = sParse.pNewTable; + if( bFKOnly==0 ){ + renameTokenFind( + &sParse, &sCtx, (void*)sParse.pNewTable->aCol[iCol].zName + ); + if( sCtx.iCol<0 ){ + renameTokenFind(&sParse, &sCtx, (void*)&sParse.pNewTable->iPKey); + } + sqlite3WalkExprList(&sWalker, sParse.pNewTable->pCheck); + for(pIdx=sParse.pNewTable->pIndex; pIdx; pIdx=pIdx->pNext){ + sqlite3WalkExprList(&sWalker, pIdx->aColExpr); + } + } + + for(pFKey=sParse.pNewTable->pFKey; pFKey; pFKey=pFKey->pNextFrom){ + for(i=0; inCol; i++){ + if( bFKOnly==0 && pFKey->aCol[i].iFrom==iCol ){ + renameTokenFind(&sParse, &sCtx, (void*)&pFKey->aCol[i]); + } + if( 0==sqlite3_stricmp(pFKey->zTo, zTable) + && 0==sqlite3_stricmp(pFKey->aCol[i].zCol, zOld) + ){ + renameTokenFind(&sParse, &sCtx, (void*)pFKey->aCol[i].zCol); + } + } + } + } + }else if( sParse.pNewIndex ){ + sqlite3WalkExprList(&sWalker, sParse.pNewIndex->aColExpr); + sqlite3WalkExpr(&sWalker, sParse.pNewIndex->pPartIdxWhere); + }else{ + /* A trigger */ + TriggerStep *pStep; + rc = renameResolveTrigger(&sParse, (bTemp ? 0 : zDb)); + if( rc!=SQLITE_OK ) goto renameColumnFunc_done; + + for(pStep=sParse.pNewTrigger->step_list; pStep; pStep=pStep->pNext){ + if( pStep->zTarget ){ + Table *pTarget = sqlite3LocateTable(&sParse, 0, pStep->zTarget, zDb); + if( pTarget==pTab ){ + if( pStep->pUpsert ){ + ExprList *pUpsertSet = pStep->pUpsert->pUpsertSet; + renameColumnElistNames(&sParse, &sCtx, pUpsertSet, zOld); + } + renameColumnIdlistNames(&sParse, &sCtx, pStep->pIdList, zOld); + renameColumnElistNames(&sParse, &sCtx, pStep->pExprList, zOld); + } + } + } + + + /* Find tokens to edit in UPDATE OF clause */ + if( sParse.pTriggerTab==pTab ){ + renameColumnIdlistNames(&sParse, &sCtx,sParse.pNewTrigger->pColumns,zOld); + } + + /* Find tokens to edit in various expressions and selects */ + renameWalkTrigger(&sWalker, sParse.pNewTrigger); + } + + assert( rc==SQLITE_OK ); + rc = renameEditSql(context, &sCtx, zSql, zNew, bQuote); + +renameColumnFunc_done: + if( rc!=SQLITE_OK ){ + if( sParse.zErrMsg ){ + renameColumnParseError(context, 0, argv[1], argv[2], &sParse); + }else{ + sqlite3_result_error_code(context, rc); + } + } + + renameParseCleanup(&sParse); + renameTokenFree(db, sCtx.pList); +#ifndef SQLITE_OMIT_AUTHORIZATION + db->xAuth = xAuth; +#endif + sqlite3BtreeLeaveAll(db); +} + +/* +** Walker expression callback used by "RENAME TABLE". +*/ +static int renameTableExprCb(Walker *pWalker, Expr *pExpr){ + RenameCtx *p = pWalker->u.pRename; + if( pExpr->op==TK_COLUMN && p->pTab==pExpr->y.pTab ){ + renameTokenFind(pWalker->pParse, p, (void*)&pExpr->y.pTab); + } + return WRC_Continue; +} + +/* +** Walker select callback used by "RENAME TABLE". +*/ +static int renameTableSelectCb(Walker *pWalker, Select *pSelect){ + int i; + RenameCtx *p = pWalker->u.pRename; + SrcList *pSrc = pSelect->pSrc; + for(i=0; inSrc; i++){ + struct SrcList_item *pItem = &pSrc->a[i]; + if( pItem->pTab==p->pTab ){ + renameTokenFind(pWalker->pParse, p, pItem->zName); + } + } + + return WRC_Continue; +} + + +/* +** This C function implements an SQL user function that is used by SQL code +** generated by the ALTER TABLE ... RENAME command to modify the definition +** of any foreign key constraints that use the table being renamed as the +** parent table. It is passed three arguments: +** +** 0: The database containing the table being renamed. +** 1. type: Type of object ("table", "view" etc.) +** 2. object: Name of object +** 3: The complete text of the schema statement being modified, +** 4: The old name of the table being renamed, and +** 5: The new name of the table being renamed. +** 6: True if the schema statement comes from the temp db. +** +** It returns the new schema statement. For example: +** +** sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) +** -> 'CREATE TABLE t1(a REFERENCES t3)' +*/ +static void renameTableFunc( + sqlite3_context *context, + int NotUsed, + sqlite3_value **argv +){ + sqlite3 *db = sqlite3_context_db_handle(context); + const char *zDb = (const char*)sqlite3_value_text(argv[0]); + const char *zInput = (const char*)sqlite3_value_text(argv[3]); + const char *zOld = (const char*)sqlite3_value_text(argv[4]); + const char *zNew = (const char*)sqlite3_value_text(argv[5]); + int bTemp = sqlite3_value_int(argv[6]); + UNUSED_PARAMETER(NotUsed); + + if( zInput && zOld && zNew ){ + Parse sParse; + int rc; + int bQuote = 1; + RenameCtx sCtx; + Walker sWalker; + +#ifndef SQLITE_OMIT_AUTHORIZATION + sqlite3_xauth xAuth = db->xAuth; + db->xAuth = 0; +#endif + + sqlite3BtreeEnterAll(db); + + memset(&sCtx, 0, sizeof(RenameCtx)); + sCtx.pTab = sqlite3FindTable(db, zOld, zDb); + memset(&sWalker, 0, sizeof(Walker)); + sWalker.pParse = &sParse; + sWalker.xExprCallback = renameTableExprCb; + sWalker.xSelectCallback = renameTableSelectCb; + sWalker.u.pRename = &sCtx; + + rc = renameParseSql(&sParse, zDb, 1, db, zInput, bTemp); + + if( rc==SQLITE_OK ){ + int isLegacy = (db->flags & SQLITE_LegacyAlter); + if( sParse.pNewTable ){ + Table *pTab = sParse.pNewTable; + + if( pTab->pSelect ){ + if( isLegacy==0 ){ + NameContext sNC; + memset(&sNC, 0, sizeof(sNC)); + sNC.pParse = &sParse; + + sqlite3SelectPrep(&sParse, pTab->pSelect, &sNC); + if( sParse.nErr ) rc = sParse.rc; + sqlite3WalkSelect(&sWalker, pTab->pSelect); + } + }else{ + /* Modify any FK definitions to point to the new table. */ +#ifndef SQLITE_OMIT_FOREIGN_KEY + if( isLegacy==0 || (db->flags & SQLITE_ForeignKeys) ){ + FKey *pFKey; + for(pFKey=pTab->pFKey; pFKey; pFKey=pFKey->pNextFrom){ + if( sqlite3_stricmp(pFKey->zTo, zOld)==0 ){ + renameTokenFind(&sParse, &sCtx, (void*)pFKey->zTo); + } + } + } +#endif + + /* If this is the table being altered, fix any table refs in CHECK + ** expressions. Also update the name that appears right after the + ** "CREATE [VIRTUAL] TABLE" bit. */ + if( sqlite3_stricmp(zOld, pTab->zName)==0 ){ + sCtx.pTab = pTab; + if( isLegacy==0 ){ + sqlite3WalkExprList(&sWalker, pTab->pCheck); + } + renameTokenFind(&sParse, &sCtx, pTab->zName); + } + } + } + + else if( sParse.pNewIndex ){ + renameTokenFind(&sParse, &sCtx, sParse.pNewIndex->zName); + if( isLegacy==0 ){ + sqlite3WalkExpr(&sWalker, sParse.pNewIndex->pPartIdxWhere); + } + } + +#ifndef SQLITE_OMIT_TRIGGER + else{ + Trigger *pTrigger = sParse.pNewTrigger; + TriggerStep *pStep; + if( 0==sqlite3_stricmp(sParse.pNewTrigger->table, zOld) + && sCtx.pTab->pSchema==pTrigger->pTabSchema + ){ + renameTokenFind(&sParse, &sCtx, sParse.pNewTrigger->table); + } + + if( isLegacy==0 ){ + rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb); + if( rc==SQLITE_OK ){ + renameWalkTrigger(&sWalker, pTrigger); + for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){ + if( pStep->zTarget && 0==sqlite3_stricmp(pStep->zTarget, zOld) ){ + renameTokenFind(&sParse, &sCtx, pStep->zTarget); + } + } + } + } + } +#endif + } + + if( rc==SQLITE_OK ){ + rc = renameEditSql(context, &sCtx, zInput, zNew, bQuote); + } + if( rc!=SQLITE_OK ){ + if( sParse.zErrMsg ){ + renameColumnParseError(context, 0, argv[1], argv[2], &sParse); + }else{ + sqlite3_result_error_code(context, rc); + } + } + + renameParseCleanup(&sParse); + renameTokenFree(db, sCtx.pList); + sqlite3BtreeLeaveAll(db); +#ifndef SQLITE_OMIT_AUTHORIZATION + db->xAuth = xAuth; +#endif + } + + return; +} + +/* +** An SQL user function that checks that there are no parse or symbol +** resolution problems in a CREATE TRIGGER|TABLE|VIEW|INDEX statement. +** After an ALTER TABLE .. RENAME operation is performed and the schema +** reloaded, this function is called on each SQL statement in the schema +** to ensure that it is still usable. +** +** 0: Database name ("main", "temp" etc.). +** 1: SQL statement. +** 2: Object type ("view", "table", "trigger" or "index"). +** 3: Object name. +** 4: True if object is from temp schema. +** +** Unless it finds an error, this function normally returns NULL. However, it +** returns integer value 1 if: +** +** * the SQL argument creates a trigger, and +** * the table that the trigger is attached to is in database zDb. +*/ +static void renameTableTest( + sqlite3_context *context, + int NotUsed, + sqlite3_value **argv +){ + sqlite3 *db = sqlite3_context_db_handle(context); + char const *zDb = (const char*)sqlite3_value_text(argv[0]); + char const *zInput = (const char*)sqlite3_value_text(argv[1]); + int bTemp = sqlite3_value_int(argv[4]); + int isLegacy = (db->flags & SQLITE_LegacyAlter); + +#ifndef SQLITE_OMIT_AUTHORIZATION + sqlite3_xauth xAuth = db->xAuth; + db->xAuth = 0; +#endif + + UNUSED_PARAMETER(NotUsed); + if( zDb && zInput ){ + int rc; + Parse sParse; + rc = renameParseSql(&sParse, zDb, 1, db, zInput, bTemp); + if( rc==SQLITE_OK ){ + if( isLegacy==0 && sParse.pNewTable && sParse.pNewTable->pSelect ){ + NameContext sNC; + memset(&sNC, 0, sizeof(sNC)); + sNC.pParse = &sParse; + sqlite3SelectPrep(&sParse, sParse.pNewTable->pSelect, &sNC); + if( sParse.nErr ) rc = sParse.rc; + } + + else if( sParse.pNewTrigger ){ + if( isLegacy==0 ){ + rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb); + } + if( rc==SQLITE_OK ){ + int i1 = sqlite3SchemaToIndex(db, sParse.pNewTrigger->pTabSchema); + int i2 = sqlite3FindDbName(db, zDb); + if( i1==i2 ) sqlite3_result_int(context, 1); + } + } + } + + if( rc!=SQLITE_OK ){ + renameColumnParseError(context, 1, argv[2], argv[3], &sParse); + } + renameParseCleanup(&sParse); + } + +#ifndef SQLITE_OMIT_AUTHORIZATION + db->xAuth = xAuth; +#endif +} + +/* +** Register built-in functions used to help implement ALTER TABLE +*/ +SQLITE_PRIVATE void sqlite3AlterFunctions(void){ + static FuncDef aAlterTableFuncs[] = { + INTERNAL_FUNCTION(sqlite_rename_column, 9, renameColumnFunc), + INTERNAL_FUNCTION(sqlite_rename_table, 7, renameTableFunc), + INTERNAL_FUNCTION(sqlite_rename_test, 5, renameTableTest), + }; + sqlite3InsertBuiltinFuncs(aAlterTableFuncs, ArraySize(aAlterTableFuncs)); +} #endif /* SQLITE_ALTER_TABLE */ /************** End of alter.c ***********************************************/ @@ -99315,6 +103564,7 @@ static const FuncDef statInitFuncdef = { 0, /* pNext */ statInit, /* xSFunc */ 0, /* xFinalize */ + 0, 0, /* xValue, xInverse */ "stat_init", /* zName */ {0} }; @@ -99631,6 +103881,7 @@ static const FuncDef statPushFuncdef = { 0, /* pNext */ statPush, /* xSFunc */ 0, /* xFinalize */ + 0, 0, /* xValue, xInverse */ "stat_push", /* zName */ {0} }; @@ -99782,6 +104033,7 @@ static const FuncDef statGetFuncdef = { 0, /* pNext */ statGet, /* xSFunc */ 0, /* xFinalize */ + 0, 0, /* xValue, xInverse */ "stat_get", /* zName */ {0} }; @@ -99845,7 +104097,7 @@ static void analyzeOneTable( /* Do not gather statistics on views or virtual tables */ return; } - if( sqlite3_strlike("sqlite_%", pTab->zName, 0)==0 ){ + if( sqlite3_strlike("sqlite\\_%", pTab->zName, '\\')==0 ){ /* Do not gather statistics on system tables */ return; } @@ -100101,10 +104353,7 @@ static void analyzeOneTable( callStatGet(v, regStat4, STAT_GET_NLT, regLt); callStatGet(v, regStat4, STAT_GET_NDLT, regDLt); sqlite3VdbeAddOp4Int(v, seekOp, iTabCur, addrNext, regSampleRowid, 0); - /* We know that the regSampleRowid row exists because it was read by - ** the previous loop. Thus the not-found jump of seekOp will never - ** be taken */ - VdbeCoverageNeverTaken(v); + VdbeCoverage(v); #ifdef SQLITE_ENABLE_STAT3 sqlite3ExprCodeLoadIndexColumn(pParse, pIdx, iTabCur, 0, regSample); #else @@ -100744,7 +104993,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ /* Load the statistics from the sqlite_stat4 table. */ #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 - if( rc==SQLITE_OK && OptimizationEnabled(db, SQLITE_Stat34) ){ + if( rc==SQLITE_OK ){ db->lookaside.bDisable++; rc = loadStat4(db, sInfo.zDatabase); db->lookaside.bDisable--; @@ -100824,6 +105073,10 @@ static int resolveAttachExpr(NameContext *pName, Expr *pExpr) ** ** If the optional "KEY z" syntax is omitted, an SQL NULL is passed as the ** third argument. +** +** If the db->init.reopenMemdb flags is set, then instead of attaching a +** new database, close the database on db->init.iDb and reopen it as an +** empty MemDB. */ static void attachFunc( sqlite3_context *context, @@ -100844,66 +105097,86 @@ static void attachFunc( sqlite3_vfs *pVfs; UNUSED_PARAMETER(NotUsed); - zFile = (const char *)sqlite3_value_text(argv[0]); zName = (const char *)sqlite3_value_text(argv[1]); if( zFile==0 ) zFile = ""; if( zName==0 ) zName = ""; - /* Check for the following errors: - ** - ** * Too many attached databases, - ** * Transaction currently open - ** * Specified database name already being used. - */ - if( db->nDb>=db->aLimit[SQLITE_LIMIT_ATTACHED]+2 ){ - zErrDyn = sqlite3MPrintf(db, "too many attached databases - max %d", - db->aLimit[SQLITE_LIMIT_ATTACHED] - ); - goto attach_error; - } - for(i=0; inDb; i++){ - char *z = db->aDb[i].zDbSName; - assert( z && zName ); - if( sqlite3StrICmp(z, zName)==0 ){ - zErrDyn = sqlite3MPrintf(db, "database %s is already in use", zName); +#ifdef SQLITE_ENABLE_DESERIALIZE +# define REOPEN_AS_MEMDB(db) (db->init.reopenMemdb) +#else +# define REOPEN_AS_MEMDB(db) (0) +#endif + + if( REOPEN_AS_MEMDB(db) ){ + /* This is not a real ATTACH. Instead, this routine is being called + ** from sqlite3_deserialize() to close database db->init.iDb and + ** reopen it as a MemDB */ + pVfs = sqlite3_vfs_find("memdb"); + if( pVfs==0 ) return; + pNew = &db->aDb[db->init.iDb]; + if( pNew->pBt ) sqlite3BtreeClose(pNew->pBt); + pNew->pBt = 0; + pNew->pSchema = 0; + rc = sqlite3BtreeOpen(pVfs, "x\0", db, &pNew->pBt, 0, SQLITE_OPEN_MAIN_DB); + }else{ + /* This is a real ATTACH + ** + ** Check for the following errors: + ** + ** * Too many attached databases, + ** * Transaction currently open + ** * Specified database name already being used. + */ + if( db->nDb>=db->aLimit[SQLITE_LIMIT_ATTACHED]+2 ){ + zErrDyn = sqlite3MPrintf(db, "too many attached databases - max %d", + db->aLimit[SQLITE_LIMIT_ATTACHED] + ); goto attach_error; } + for(i=0; inDb; i++){ + char *z = db->aDb[i].zDbSName; + assert( z && zName ); + if( sqlite3StrICmp(z, zName)==0 ){ + zErrDyn = sqlite3MPrintf(db, "database %s is already in use", zName); + goto attach_error; + } + } + + /* Allocate the new entry in the db->aDb[] array and initialize the schema + ** hash tables. + */ + if( db->aDb==db->aDbStatic ){ + aNew = sqlite3DbMallocRawNN(db, sizeof(db->aDb[0])*3 ); + if( aNew==0 ) return; + memcpy(aNew, db->aDb, sizeof(db->aDb[0])*2); + }else{ + aNew = sqlite3DbRealloc(db, db->aDb, sizeof(db->aDb[0])*(db->nDb+1) ); + if( aNew==0 ) return; + } + db->aDb = aNew; + pNew = &db->aDb[db->nDb]; + memset(pNew, 0, sizeof(*pNew)); + + /* Open the database file. If the btree is successfully opened, use + ** it to obtain the database schema. At this point the schema may + ** or may not be initialized. + */ + flags = db->openFlags; + rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr); + if( rc!=SQLITE_OK ){ + if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); + sqlite3_result_error(context, zErr, -1); + sqlite3_free(zErr); + return; + } + assert( pVfs ); + flags |= SQLITE_OPEN_MAIN_DB; + rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); + sqlite3_free( zPath ); + db->nDb++; } - - /* Allocate the new entry in the db->aDb[] array and initialize the schema - ** hash tables. - */ - if( db->aDb==db->aDbStatic ){ - aNew = sqlite3DbMallocRawNN(db, sizeof(db->aDb[0])*3 ); - if( aNew==0 ) return; - memcpy(aNew, db->aDb, sizeof(db->aDb[0])*2); - }else{ - aNew = sqlite3DbRealloc(db, db->aDb, sizeof(db->aDb[0])*(db->nDb+1) ); - if( aNew==0 ) return; - } - db->aDb = aNew; - pNew = &db->aDb[db->nDb]; - memset(pNew, 0, sizeof(*pNew)); - - /* Open the database file. If the btree is successfully opened, use - ** it to obtain the database schema. At this point the schema may - ** or may not be initialized. - */ - flags = db->openFlags; - rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr); - if( rc!=SQLITE_OK ){ - if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); - sqlite3_result_error(context, zErr, -1); - sqlite3_free(zErr); - return; - } - assert( pVfs ); - flags |= SQLITE_OPEN_MAIN_DB; - rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); - sqlite3_free( zPath ); - db->nDb++; - db->skipBtreeMutex = 0; + db->noSharedCache = 0; if( rc==SQLITE_CONSTRAINT ){ rc = SQLITE_ERROR; zErrDyn = sqlite3MPrintf(db, "database is already attached"); @@ -100929,7 +105202,7 @@ static void attachFunc( sqlite3BtreeLeave(pNew->pBt); } pNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; - pNew->zDbSName = sqlite3DbStrDup(db, zName); + if( !REOPEN_AS_MEMDB(db) ) pNew->zDbSName = sqlite3DbStrDup(db, zName); if( rc==SQLITE_OK && pNew->zDbSName==0 ){ rc = SQLITE_NOMEM_BKPT; } @@ -100969,13 +105242,16 @@ static void attachFunc( /* 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 - ** remove the entry from the db->aDb[] array. i.e. put everything back the way - ** we found it. + ** remove the entry from the db->aDb[] array. i.e. put everything back the + ** way we found it. */ if( rc==SQLITE_OK ){ sqlite3BtreeEnterAll(db); + db->init.iDb = 0; + db->mDbFlags &= ~(DBFLAG_SchemaKnownOk); rc = sqlite3Init(db, &zErrDyn); sqlite3BtreeLeaveAll(db); + assert( zErrDyn==0 || rc!=SQLITE_OK ); } #ifdef SQLITE_USER_AUTHENTICATION if( rc==SQLITE_OK ){ @@ -100987,21 +105263,23 @@ static void attachFunc( } #endif if( rc ){ - int iDb = db->nDb - 1; - assert( iDb>=2 ); - if( db->aDb[iDb].pBt ){ - sqlite3BtreeClose(db->aDb[iDb].pBt); - db->aDb[iDb].pBt = 0; - db->aDb[iDb].pSchema = 0; - } - sqlite3ResetAllSchemasOfConnection(db); - db->nDb = iDb; - if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ - sqlite3OomFault(db); - sqlite3DbFree(db, zErrDyn); - zErrDyn = sqlite3MPrintf(db, "out of memory"); - }else if( zErrDyn==0 ){ - zErrDyn = sqlite3MPrintf(db, "unable to open database: %s", zFile); + if( !REOPEN_AS_MEMDB(db) ){ + int iDb = db->nDb - 1; + assert( iDb>=2 ); + if( db->aDb[iDb].pBt ){ + sqlite3BtreeClose(db->aDb[iDb].pBt); + db->aDb[iDb].pBt = 0; + db->aDb[iDb].pSchema = 0; + } + sqlite3ResetAllSchemasOfConnection(db); + db->nDb = iDb; + if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ + sqlite3OomFault(db); + sqlite3DbFree(db, zErrDyn); + zErrDyn = sqlite3MPrintf(db, "out of memory"); + }else if( zErrDyn==0 ){ + zErrDyn = sqlite3MPrintf(db, "unable to open database: %s", zFile); + } } goto attach_error; } @@ -101154,6 +105432,7 @@ SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){ 0, /* pNext */ detachFunc, /* xSFunc */ 0, /* xFinalize */ + 0, 0, /* xValue, xInverse */ "sqlite_detach", /* zName */ {0} }; @@ -101173,6 +105452,7 @@ SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *p 0, /* pNext */ attachFunc, /* xSFunc */ 0, /* xFinalize */ + 0, 0, /* xValue, xInverse */ "sqlite_attach", /* zName */ {0} }; @@ -101243,6 +105523,9 @@ SQLITE_PRIVATE int sqlite3FixSrcList( if( sqlite3FixSelect(pFix, pItem->pSelect) ) return 1; if( sqlite3FixExpr(pFix, pItem->pOn) ) return 1; #endif + if( pItem->fg.isTabFunc && sqlite3FixExprList(pFix, pItem->u1.pFuncArg) ){ + return 1; + } } return 0; } @@ -101273,6 +105556,14 @@ SQLITE_PRIVATE int sqlite3FixSelect( if( sqlite3FixExpr(pFix, pSelect->pLimit) ){ return 1; } + if( pSelect->pWith ){ + int i; + for(i=0; ipWith->nCte; i++){ + if( sqlite3FixSelect(pFix, pSelect->pWith->a[i].pSelect) ){ + return 1; + } + } + } pSelect = pSelect->pPrior; } return 0; @@ -101334,6 +105625,18 @@ SQLITE_PRIVATE int sqlite3FixTriggerStep( if( sqlite3FixExprList(pFix, pStep->pExprList) ){ return 1; } +#ifndef SQLITE_OMIT_UPSERT + if( pStep->pUpsert ){ + Upsert *pUp = pStep->pUpsert; + if( sqlite3FixExprList(pFix, pUp->pUpsertTarget) + || sqlite3FixExpr(pFix, pUp->pUpsertTargetWhere) + || sqlite3FixExprList(pFix, pUp->pUpsertSet) + || sqlite3FixExpr(pFix, pUp->pUpsertWhere) + ){ + return 1; + } + } +#endif pStep = pStep->pNext; } return 0; @@ -101422,7 +105725,7 @@ SQLITE_API int sqlite3_set_authorizer( sqlite3_mutex_enter(db->mutex); db->xAuth = (sqlite3_xauth)xAuth; db->pAuthArg = pArg; - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); sqlite3_mutex_leave(db->mutex); return SQLITE_OK; } @@ -101494,6 +105797,8 @@ SQLITE_PRIVATE void sqlite3AuthRead( int iDb; /* The index of the database the expression refers to */ int iCol; /* Index of column in table */ + assert( pExpr->op==TK_COLUMN || pExpr->op==TK_TRIGGER ); + assert( !IN_RENAME_OBJECT || db->xAuth==0 ); if( db->xAuth==0 ) return; iDb = sqlite3SchemaToIndex(pParse->db, pSchema); if( iDb<0 ){ @@ -101502,7 +105807,6 @@ SQLITE_PRIVATE void sqlite3AuthRead( return; } - assert( pExpr->op==TK_COLUMN || pExpr->op==TK_TRIGGER ); if( pExpr->op==TK_TRIGGER ){ pTab = pParse->pTriggerTab; }else{ @@ -101551,7 +105855,8 @@ SQLITE_PRIVATE int sqlite3AuthCheck( /* Don't do any authorization checks if the database is initialising ** or if the parser is being invoked from within sqlite3_declare_vtab. */ - if( db->init.busy || IN_DECLARE_VTAB ){ + assert( !IN_RENAME_OBJECT || db->xAuth==0 ); + if( db->init.busy || IN_SPECIAL_PARSE ){ return SQLITE_OK; } @@ -101843,7 +106148,6 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ /* Get the VDBE program ready for execution */ if( v && pParse->nErr==0 && !db->mallocFailed ){ - assert( pParse->iCacheLevel==0 ); /* Disables and re-enables match */ /* A minimum of one cursor is required if autoincrement is used * See ticket [a696379c1f08866] */ if( pParse->pAinc!=0 && pParse->nTab==0 ) pParse->nTab = 1; @@ -101961,28 +106265,29 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( const char *zDbase /* Name of the database. Might be NULL */ ){ Table *p; + sqlite3 *db = pParse->db; /* Read the database schema. If an error occurs, leave an error message ** and code in pParse and return NULL. */ - if( SQLITE_OK!=sqlite3ReadSchema(pParse) ){ + if( (db->mDbFlags & DBFLAG_SchemaKnownOk)==0 + && SQLITE_OK!=sqlite3ReadSchema(pParse) + ){ return 0; } - p = sqlite3FindTable(pParse->db, zName, zDbase); + 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( sqlite3FindDbName(pParse->db, zDbase)<1 ){ - /* 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(&pParse->db->aModule, zName); - if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){ - pMod = sqlite3PragmaVtabRegister(pParse->db, zName); - } - if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){ - return pMod->pEpoTab; - } + /* 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; } #endif if( (flags & LOCATE_NOERR)==0 ){ @@ -102055,7 +106360,7 @@ SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const cha /* ** Reclaim the memory used by an index */ -static void freeIndex(sqlite3 *db, Index *p){ +SQLITE_PRIVATE void sqlite3FreeIndex(sqlite3 *db, Index *p){ #ifndef SQLITE_OMIT_ANALYZE sqlite3DeleteIndexSamples(db, p); #endif @@ -102095,7 +106400,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char p->pNext = pIndex->pNext; } } - freeIndex(db, pIndex); + sqlite3FreeIndex(db, pIndex); } db->mDbFlags |= DBFLAG_SchemaChange; } @@ -102143,6 +106448,7 @@ SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3 *db, int iDb){ assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); DbSetProperty(db, iDb, DB_ResetWanted); DbSetProperty(db, 1, DB_ResetWanted); + db->mDbFlags &= ~DBFLAG_SchemaKnownOk; } if( db->nSchemaLock==0 ){ @@ -102161,17 +106467,22 @@ SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3 *db, int iDb){ SQLITE_PRIVATE void sqlite3ResetAllSchemasOfConnection(sqlite3 *db){ int i; sqlite3BtreeEnterAll(db); - assert( db->nSchemaLock==0 ); for(i=0; inDb; i++){ Db *pDb = &db->aDb[i]; if( pDb->pSchema ){ - sqlite3SchemaClear(pDb->pSchema); + if( db->nSchemaLock==0 ){ + sqlite3SchemaClear(pDb->pSchema); + }else{ + DbSetProperty(db, i, DB_ResetWanted); + } } } - db->mDbFlags &= ~DBFLAG_SchemaChange; + db->mDbFlags &= ~(DBFLAG_SchemaChange|DBFLAG_SchemaKnownOk); sqlite3VtabUnlockList(db); sqlite3BtreeLeaveAll(db); - sqlite3CollapseDatabaseArray(db); + if( db->nSchemaLock==0 ){ + sqlite3CollapseDatabaseArray(db); + } } /* @@ -102240,7 +106551,7 @@ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){ assert( db==0 || sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); assert( pOld==pIndex || pOld==0 ); } - freeIndex(db, pIndex); + sqlite3FreeIndex(db, pIndex); } /* Delete any foreign keys attached to this table. */ @@ -102248,6 +106559,12 @@ 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); @@ -102398,7 +106715,7 @@ SQLITE_PRIVATE int sqlite3TwoPartName( return -1; } }else{ - assert( db->init.iDb==0 || db->init.busy + assert( db->init.iDb==0 || db->init.busy || IN_RENAME_OBJECT || (db->mDbFlags & DBFLAG_Vacuum)!=0); iDb = db->init.iDb; *pUnqual = pName1; @@ -102406,6 +106723,20 @@ SQLITE_PRIVATE int sqlite3TwoPartName( return iDb; } +/* +** True if PRAGMA writable_schema is ON +*/ +SQLITE_PRIVATE int sqlite3WritableSchema(sqlite3 *db){ + testcase( (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))==0 ); + testcase( (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))== + SQLITE_WriteSchema ); + testcase( (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))== + SQLITE_Defensive ); + testcase( (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))== + (SQLITE_WriteSchema|SQLITE_Defensive) ); + return (db->flags&(SQLITE_WriteSchema|SQLITE_Defensive))==SQLITE_WriteSchema; +} + /* ** This routine is used to check if the UTF-8 string zName is a legal ** unqualified name for a new schema object (table, index, view or @@ -102415,7 +106746,7 @@ SQLITE_PRIVATE int sqlite3TwoPartName( */ SQLITE_PRIVATE int sqlite3CheckObjectName(Parse *pParse, const char *zName){ if( !pParse->db->init.busy && pParse->nested==0 - && (pParse->db->flags & SQLITE_WriteSchema)==0 + && sqlite3WritableSchema(pParse->db)==0 && 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s", zName); return SQLITE_ERROR; @@ -102493,6 +106824,9 @@ SQLITE_PRIVATE void sqlite3StartTable( } if( !OMIT_TEMPDB && isTemp ) iDb = 1; zName = sqlite3NameFromToken(db, pName); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, (void*)zName, pName); + } } pParse->sNameToken = *pName; if( zName==0 ) return; @@ -102528,7 +106862,7 @@ SQLITE_PRIVATE void sqlite3StartTable( ** and types will be used, so there is no need to test for namespace ** collisions. */ - if( !IN_DECLARE_VTAB ){ + if( !IN_SPECIAL_PARSE ){ char *zDb = db->aDb[iDb].zDbSName; if( SQLITE_OK!=sqlite3ReadSchema(pParse) ){ goto begin_table_error; @@ -102687,6 +107021,7 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ } z = sqlite3DbMallocRaw(db, pName->n + pType->n + 2); if( z==0 ) return; + if( IN_RENAME_OBJECT ) sqlite3RenameTokenMap(pParse, (void*)z, pName); memcpy(z, pName->z, pName->n); z[pName->n] = 0; sqlite3Dequote(z); @@ -102713,15 +107048,20 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ if( pType->n==0 ){ /* If there is no type specified, columns have the default affinity - ** 'BLOB'. */ + ** 'BLOB' with a default size of 4 bytes. */ pCol->affinity = SQLITE_AFF_BLOB; pCol->szEst = 1; +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + if( 4>=sqlite3GlobalConfig.szSorterRef ){ + pCol->colFlags |= COLFLAG_SORTERREF; + } +#endif }else{ zType = z + sqlite3Strlen30(z) + 1; memcpy(zType, pType->z, pType->n); zType[pType->n] = 0; sqlite3Dequote(zType); - pCol->affinity = sqlite3AffinityType(zType, &pCol->szEst); + pCol->affinity = sqlite3AffinityType(zType, pCol); pCol->colFlags |= COLFLAG_HASTYPE; } p->nCol++; @@ -102736,10 +107076,24 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ */ SQLITE_PRIVATE void sqlite3AddNotNull(Parse *pParse, int onError){ Table *p; + Column *pCol; p = pParse->pNewTable; if( p==0 || NEVER(p->nCol<1) ) return; - p->aCol[p->nCol-1].notNull = (u8)onError; + pCol = &p->aCol[p->nCol-1]; + pCol->notNull = (u8)onError; p->tabFlags |= TF_HasNotNull; + + /* Set the uniqNotNull flag on any UNIQUE or PK indexes already created + ** on this column. */ + if( pCol->colFlags & COLFLAG_UNIQUE ){ + Index *pIdx; + for(pIdx=p->pIndex; pIdx; pIdx=pIdx->pNext){ + assert( pIdx->nKeyCol==1 && pIdx->onError!=OE_None ); + if( pIdx->aiColumn[0]==p->nCol-1 ){ + pIdx->uniqNotNull = 1; + } + } + } } /* @@ -102767,7 +107121,7 @@ SQLITE_PRIVATE void sqlite3AddNotNull(Parse *pParse, int onError){ ** If none of the substrings in the above table are found, ** SQLITE_AFF_NUMERIC is returned. */ -SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ +SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, Column *pCol){ u32 h = 0; char aff = SQLITE_AFF_NUMERIC; const char *zChar = 0; @@ -102804,27 +107158,32 @@ SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ } } - /* If pszEst is not NULL, store an estimate of the field size. The + /* If pCol is not NULL, store an estimate of the field size. The ** estimate is scaled so that the size of an integer is 1. */ - if( pszEst ){ - *pszEst = 1; /* default size is approx 4 bytes */ + if( pCol ){ + int v = 0; /* default size is approx 4 bytes */ if( aff r=(k/4+1) */ sqlite3GetInt32(zChar, &v); - v = v/4 + 1; - if( v>255 ) v = 255; - *pszEst = v; /* BLOB(k), VARCHAR(k), CHAR(k) -> r=(k/4+1) */ break; } zChar++; } }else{ - *pszEst = 5; /* BLOB, TEXT, CLOB -> r=5 (approx 20 bytes)*/ + v = 16; /* BLOB, TEXT, CLOB -> r=5 (approx 20 bytes)*/ } } +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + if( v>=sqlite3GlobalConfig.szSorterRef ){ + pCol->colFlags |= COLFLAG_SORTERREF; + } +#endif + v = v/4 + 1; + if( v>255 ) v = 255; + pCol->szEst = v; } return aff; } @@ -102856,7 +107215,7 @@ SQLITE_PRIVATE void sqlite3AddDefaultValue( pCol->zName); }else{ /* A copy of pExpr is used instead of the original, as pExpr contains - ** tokens that point to volatile memory. + ** tokens that point to volatile memory. */ Expr x; sqlite3ExprDelete(db, pCol->pDflt); @@ -102869,6 +107228,9 @@ SQLITE_PRIVATE void sqlite3AddDefaultValue( sqlite3DbFree(db, x.u.zToken); } } + if( IN_RENAME_OBJECT ){ + sqlite3RenameExprUnmap(pParse, pExpr); + } sqlite3ExprDelete(db, pExpr); } @@ -102960,6 +107322,9 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( && sqlite3StrICmp(sqlite3ColumnType(pCol,""), "INTEGER")==0 && sortOrder!=SQLITE_SO_DESC ){ + if( IN_RENAME_OBJECT && pList ){ + sqlite3RenameTokenRemap(pParse, &pTab->iPKey, pList->a[0].pExpr); + } pTab->iPKey = iCol; pTab->keyConf = (u8)onError; assert( autoInc==0 || autoInc==1 ); @@ -103100,7 +107465,7 @@ SQLITE_PRIVATE void sqlite3ChangeCookie(Parse *pParse, int iDb){ Vdbe *v = pParse->pVdbe; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_SCHEMA_VERSION, - db->aDb[iDb].pSchema->schema_cookie+1); + (int)(1+(unsigned)db->aDb[iDb].pSchema->schema_cookie)); } /* @@ -103285,6 +107650,31 @@ static int hasColumn(const i16 *aiCol, int nCol, int x){ return 0; } +/* Recompute the colNotIdxed field of the Index. +** +** colNotIdxed is a bitmask that has a 0 bit representing each indexed +** columns that are within the first 63 columns of the table. The +** high-order bit of colNotIdxed is always 1. All unindexed columns +** of the table have a 1. +** +** The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask +** to determine if the index is covering index. +*/ +static void recomputeColumnsNotIndexed(Index *pIdx){ + Bitmask m = 0; + int j; + for(j=pIdx->nColumn-1; j>=0; j--){ + int x = pIdx->aiColumn[j]; + if( x>=0 ){ + testcase( x==BMS-1 ); + testcase( x==BMS-2 ); + if( xcolNotIdxed = ~m; + assert( (pIdx->colNotIdxed>>63)==1 ); +} + /* ** This routine runs at the end of parsing a CREATE TABLE statement that ** has a WITHOUT ROWID clause. The job of this routine is to convert both @@ -103327,10 +107717,6 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ } } - /* The remaining transformations only apply to b-tree tables, not to - ** virtual tables */ - if( IN_DECLARE_VTAB ) return; - /* Convert the P3 operand of the OP_CreateBtree opcode from BTREE_INTKEY ** into BTREE_BLOBKEY. */ @@ -103353,7 +107739,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ assert( pParse->pNewTable==pTab ); sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0, SQLITE_IDXTYPE_PRIMARYKEY); - if( db->mallocFailed ) return; + if( db->mallocFailed || pParse->nErr ) return; pPk = sqlite3PrimaryKeyIndex(pTab); pTab->iPKey = -1; }else{ @@ -103433,8 +107819,39 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ }else{ pPk->nColumn = pTab->nCol; } + recomputeColumnsNotIndexed(pPk); } +#ifndef SQLITE_OMIT_VIRTUALTABLE +/* +** Return true if zName is a shadow table name in the current database +** connection. +** +** zName is temporarily modified while this routine is running, but is +** restored to its original value prior to this routine returning. +*/ +static int isShadowTableName(sqlite3 *db, char *zName){ + char *zTail; /* Pointer to the last "_" in zName */ + Table *pTab; /* Table that zName is a shadow of */ + Module *pMod; /* Module for the virtual table */ + + zTail = strrchr(zName, '_'); + if( zTail==0 ) return 0; + *zTail = 0; + pTab = sqlite3FindTable(db, zName, 0); + *zTail = '_'; + if( pTab==0 ) return 0; + if( !IsVirtual(pTab) ) return 0; + pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->azModuleArg[0]); + if( pMod==0 ) return 0; + if( pMod->pModule->iVersion<3 ) return 0; + if( pMod->pModule->xShadowName==0 ) return 0; + return pMod->pModule->xShadowName(zTail+1); +} +#else +# define isShadowTableName(x,y) 0 +#endif /* ifndef SQLITE_OMIT_VIRTUALTABLE */ + /* ** This routine is called to report the final ")" that terminates ** a CREATE TABLE statement. @@ -103474,7 +107891,9 @@ SQLITE_PRIVATE void sqlite3EndTable( p = pParse->pNewTable; if( p==0 ) return; - assert( !db->init.busy || !pSelect ); + if( pSelect==0 && isShadowTableName(db, p->zName) ){ + p->tabFlags |= TF_Shadow; + } /* If the db->init.busy is 1 it means we are reading the SQL off the ** "sqlite_master" or "sqlite_temp_master" table on the disk. @@ -103486,6 +107905,10 @@ SQLITE_PRIVATE void sqlite3EndTable( ** table itself. So mark it read-only. */ if( db->init.busy ){ + if( pSelect ){ + sqlite3ErrorMsg(pParse, ""); + return; + } p->tnum = db->init.newTnum; if( p->tnum==1 ) p->tabFlags |= TF_Readonly; } @@ -103734,7 +108157,12 @@ SQLITE_PRIVATE void sqlite3CreateView( ** allocated rather than point to the input string - which means that ** they will persist after the current sqlite3_exec() call returns. */ - p->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); + if( IN_RENAME_OBJECT ){ + p->pSelect = pSelect; + pSelect = 0; + }else{ + p->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); + } p->pCheck = sqlite3ExprListDup(db, pCNames, EXPRDUP_REDUCE); if( db->mallocFailed ) goto create_view_fail; @@ -103759,6 +108187,9 @@ SQLITE_PRIVATE void sqlite3CreateView( create_view_fail: sqlite3SelectDelete(db, pSelect); + if( IN_RENAME_OBJECT ){ + sqlite3RenameExprlistUnmap(pParse, pCNames); + } sqlite3ExprListDelete(db, pCNames); return; } @@ -103776,7 +108207,7 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ int nErr = 0; /* Number of errors encountered */ int n; /* Temporarily holds the number of cursors assigned */ sqlite3 *db = pParse->db; /* Database connection for malloc errors */ -#ifndef SQLITE_OMIT_VIRTUALTABLE +#ifndef SQLITE_OMIT_VIRTUALTABLE int rc; #endif #ifndef SQLITE_OMIT_AUTHORIZATION @@ -103832,6 +108263,10 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ assert( pTable->pSelect ); pSel = sqlite3SelectDup(db, pTable->pSelect, 0); if( pSel ){ +#ifndef SQLITE_OMIT_ALTERTABLE + u8 eParseMode = pParse->eParseMode; + pParse->eParseMode = PARSE_MODE_NORMAL; +#endif n = pParse->nTab; sqlite3SrcListAssignCursors(pParse, pSel->pSrc); pTable->nCol = -1; @@ -103877,10 +108312,18 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ sqlite3DeleteTable(db, pSelTab); sqlite3SelectDelete(db, pSel); db->lookaside.bDisable--; +#ifndef SQLITE_OMIT_ALTERTABLE + pParse->eParseMode = eParseMode; +#endif } else { nErr++; } pTable->pSchema->schemaFlags |= DB_UnresetViews; + if( db->mallocFailed ){ + sqlite3DeleteColumnNames(db, pTable); + pTable->aCol = 0; + pTable->nCol = 0; + } #endif /* SQLITE_OMIT_VIEW */ return nErr; } @@ -103959,7 +108402,7 @@ SQLITE_PRIVATE void sqlite3RootPageMoved(sqlite3 *db, int iDb, int iFrom, int iT static void destroyRootPage(Parse *pParse, int iTable, int iDb){ Vdbe *v = sqlite3GetVdbe(pParse); int r1 = sqlite3GetTempReg(pParse); - assert( iTable>1 ); + if( iTable<2 ) sqlite3ErrorMsg(pParse, "corrupt schema"); sqlite3VdbeAddOp3(v, OP_Destroy, iTable, r1, iDb); sqlite3MayAbort(pParse); #ifndef SQLITE_OMIT_AUTOVACUUM @@ -104219,8 +108662,10 @@ SQLITE_PRIVATE void sqlite3DropTable(Parse *pParse, SrcList *pName, int isView, v = sqlite3GetVdbe(pParse); if( v ){ sqlite3BeginWriteOperation(pParse, 1, iDb); - sqlite3ClearStatTables(pParse, iDb, "tbl", pTab->zName); - sqlite3FkDropTable(pParse, pName, pTab); + if( !isView ){ + sqlite3ClearStatTables(pParse, iDb, "tbl", pTab->zName); + sqlite3FkDropTable(pParse, pName, pTab); + } sqlite3CodeDropTable(pParse, pTab, iDb, isView); } @@ -104295,6 +108740,9 @@ SQLITE_PRIVATE void sqlite3CreateForeignKey( pFKey->pNextFrom = p->pFKey; z = (char*)&pFKey->aCol[nCol]; pFKey->zTo = z; + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, (void*)z, pTo); + } memcpy(z, pTo->z, pTo->n); z[pTo->n] = 0; sqlite3Dequote(z); @@ -104317,12 +108765,18 @@ SQLITE_PRIVATE void sqlite3CreateForeignKey( pFromCol->a[i].zName); goto fk_end; } + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, &pFKey->aCol[i], pFromCol->a[i].zName); + } } } if( pToCol ){ for(i=0; ia[i].zName); pFKey->aCol[i].zCol = z; + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, z, pToCol->a[i].zName); + } memcpy(z, pToCol->a[i].zName, n); z[n] = 0; z += n+1; @@ -104431,6 +108885,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ sqlite3OpenTable(pParse, iTab, iDb, pTab, OP_OpenRead); addr1 = sqlite3VdbeAddOp2(v, OP_Rewind, iTab, 0); VdbeCoverage(v); regRecord = sqlite3GetTempReg(pParse); + sqlite3MultiWrite(pParse); sqlite3GenerateIndexKey(pParse,pIndex,iTab,regRecord,0,&iPartIdxLabel,0,0); sqlite3VdbeAddOp2(v, OP_SorterInsert, iSorter, regRecord); @@ -104444,12 +108899,13 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ addr1 = sqlite3VdbeAddOp2(v, OP_SorterSort, iSorter, 0); VdbeCoverage(v); if( IsUniqueIndex(pIndex) ){ - int j2 = sqlite3VdbeCurrentAddr(v) + 3; - sqlite3VdbeGoto(v, j2); + int j2 = sqlite3VdbeGoto(v, 1); addr2 = sqlite3VdbeCurrentAddr(v); + sqlite3VdbeVerifyAbortable(v, OE_Abort); sqlite3VdbeAddOp4Int(v, OP_SorterCompare, iSorter, j2, regRecord, pIndex->nKeyCol); VdbeCoverage(v); sqlite3UniqueConstraint(pParse, OE_Abort, pIndex); + sqlite3VdbeJumpHere(v, j2); }else{ addr2 = sqlite3VdbeCurrentAddr(v); } @@ -104612,7 +109068,11 @@ SQLITE_PRIVATE void sqlite3CreateIndex( #if SQLITE_USER_AUTHENTICATION && sqlite3UserAuthTable(pTab->zName)==0 #endif - && sqlite3StrNICmp(&pTab->zName[7],"altertab_",9)!=0 ){ +#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; } @@ -104649,20 +109109,22 @@ SQLITE_PRIVATE void sqlite3CreateIndex( if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ goto exit_create_index; } - if( !db->init.busy ){ - if( sqlite3FindTable(db, zName, 0)!=0 ){ - sqlite3ErrorMsg(pParse, "there is already a table named %s", zName); - goto exit_create_index; + if( !IN_RENAME_OBJECT ){ + if( !db->init.busy ){ + if( sqlite3FindTable(db, zName, 0)!=0 ){ + sqlite3ErrorMsg(pParse, "there is already a table named %s", zName); + goto exit_create_index; + } } - } - if( sqlite3FindIndex(db, zName, pDb->zDbSName)!=0 ){ - if( !ifNotExist ){ - sqlite3ErrorMsg(pParse, "index %s already exists", zName); - }else{ - assert( !db->init.busy ); - sqlite3CodeVerifySchema(pParse, iDb); + if( sqlite3FindIndex(db, zName, pDb->zDbSName)!=0 ){ + if( !ifNotExist ){ + sqlite3ErrorMsg(pParse, "index %s already exists", zName); + }else{ + assert( !db->init.busy ); + sqlite3CodeVerifySchema(pParse, iDb); + } + goto exit_create_index; } - goto exit_create_index; } }else{ int n; @@ -104678,13 +109140,13 @@ SQLITE_PRIVATE void sqlite3CreateIndex( ** The following statement converts "sqlite3_autoindex..." into ** "sqlite3_butoindex..." in order to make the names distinct. ** The "vtab_err.test" test demonstrates the need of this statement. */ - if( IN_DECLARE_VTAB ) zName[7]++; + if( IN_SPECIAL_PARSE ) zName[7]++; } /* Check for authorization to create an index. */ #ifndef SQLITE_OMIT_AUTHORIZATION - { + if( !IN_RENAME_OBJECT ){ const char *zDb = pDb->zDbSName; if( sqlite3AuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(iDb), 0, zDb) ){ goto exit_create_index; @@ -104703,7 +109165,9 @@ SQLITE_PRIVATE void sqlite3CreateIndex( */ if( pList==0 ){ Token prevCol; - sqlite3TokenInit(&prevCol, pTab->aCol[pTab->nCol-1].zName); + Column *pCol = &pTab->aCol[pTab->nCol-1]; + pCol->colFlags |= COLFLAG_UNIQUE; + sqlite3TokenInit(&prevCol, pCol->zName); pList = sqlite3ExprListAppend(pParse, 0, sqlite3ExprAlloc(db, TK_ID, &prevCol, 0)); if( pList==0 ) goto exit_create_index; @@ -104769,7 +109233,12 @@ SQLITE_PRIVATE void sqlite3CreateIndex( ** TODO: Issue a warning if the table primary key is used as part of the ** index key. */ - for(i=0, pListItem=pList->a; inExpr; i++, pListItem++){ + pListItem = pList->a; + if( IN_RENAME_OBJECT ){ + pIndex->aColExpr = pList; + pList = 0; + } + for(i=0; inKeyCol; i++, pListItem++){ Expr *pCExpr; /* The i-th index expression */ int requestedSortOrder; /* ASC or DESC on the i-th expression */ const char *zColl; /* Collation sequence name */ @@ -104785,12 +109254,8 @@ SQLITE_PRIVATE void sqlite3CreateIndex( goto exit_create_index; } if( pIndex->aColExpr==0 ){ - ExprList *pCopy = sqlite3ExprListDup(db, pList, 0); - pIndex->aColExpr = pCopy; - if( !db->mallocFailed ){ - assert( pCopy!=0 ); - pListItem = &pCopy->a[i]; - } + pIndex->aColExpr = pList; + pList = 0; } j = XN_EXPR; pIndex->aiColumn[i] = XN_EXPR; @@ -104856,6 +109321,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( ** it as a covering index */ assert( HasRowid(pTab) || pTab->iPKey<0 || sqlite3ColumnOfIndex(pIndex, pTab->iPKey)>=0 ); + recomputeColumnsNotIndexed(pIndex); if( pTblName!=0 && pIndex->nColumn>=pTab->nCol ){ pIndex->isCovering = 1; for(j=0; jnCol; j++){ @@ -104928,98 +109394,101 @@ SQLITE_PRIVATE void sqlite3CreateIndex( } } - /* Link the new Index structure to its table and to the other - ** in-memory database structures. - */ - assert( pParse->nErr==0 ); - if( db->init.busy ){ - Index *p; - assert( !IN_DECLARE_VTAB ); - assert( sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); - p = sqlite3HashInsert(&pIndex->pSchema->idxHash, - pIndex->zName, pIndex); - if( p ){ - assert( p==pIndex ); /* Malloc must have failed */ - sqlite3OomFault(db); - 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 - ** index is an implied index for a UNIQUE or PRIMARY KEY constraint) then - ** emit code to allocate the index rootpage on disk and make an entry for - ** the index in the sqlite_master table and populate the index with - ** content. But, do not do this if we are simply reading the sqlite_master - ** table to parse the schema, or if this index is the PRIMARY KEY index - ** of a WITHOUT ROWID table. - ** - ** If pTblName==0 it means this index is generated as an implied PRIMARY KEY - ** or UNIQUE index in a CREATE TABLE statement. Since the table - ** has just been created, it contains no data and the index initialization - ** step can be skipped. - */ - else if( HasRowid(pTab) || pTblName!=0 ){ - Vdbe *v; - char *zStmt; - int iMem = ++pParse->nMem; - - v = sqlite3GetVdbe(pParse); - if( v==0 ) goto exit_create_index; - - sqlite3BeginWriteOperation(pParse, 1, iDb); + if( !IN_RENAME_OBJECT ){ - /* Create the rootpage for the index using CreateIndex. But before - ** doing so, code a Noop instruction and store its address in - ** Index.tnum. This is required in case this index is actually a - ** PRIMARY KEY and the table is actually a WITHOUT ROWID table. In - ** that case the convertToWithoutRowidTable() routine will replace - ** the Noop with a Goto to jump over the VDBE code generated below. */ - pIndex->tnum = sqlite3VdbeAddOp0(v, OP_Noop); - sqlite3VdbeAddOp3(v, OP_CreateBtree, iDb, iMem, BTREE_BLOBKEY); - - /* Gather the complete text of the CREATE INDEX statement into - ** the zStmt variable + /* Link the new Index structure to its table and to the other + ** in-memory database structures. */ - if( pStart ){ - int n = (int)(pParse->sLastToken.z - pName->z) + pParse->sLastToken.n; - if( pName->z[n-1]==';' ) n--; - /* A named index with an explicit CREATE INDEX statement */ - zStmt = sqlite3MPrintf(db, "CREATE%s INDEX %.*s", - onError==OE_None ? "" : " UNIQUE", n, pName->z); - }else{ - /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ - /* zStmt = sqlite3MPrintf(""); */ - zStmt = 0; + assert( pParse->nErr==0 ); + if( db->init.busy ){ + Index *p; + assert( !IN_SPECIAL_PARSE ); + assert( sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); + p = sqlite3HashInsert(&pIndex->pSchema->idxHash, + pIndex->zName, pIndex); + if( p ){ + assert( p==pIndex ); /* Malloc must have failed */ + sqlite3OomFault(db); + goto exit_create_index; + } + db->mDbFlags |= DBFLAG_SchemaChange; + if( pTblName!=0 ){ + pIndex->tnum = db->init.newTnum; + } } - /* Add an entry in sqlite_master for this index + /* If this is the initial CREATE INDEX statement (or CREATE TABLE if the + ** index is an implied index for a UNIQUE or PRIMARY KEY constraint) then + ** emit code to allocate the index rootpage on disk and make an entry for + ** the index in the sqlite_master table and populate the index with + ** content. But, do not do this if we are simply reading the sqlite_master + ** table to parse the schema, or if this index is the PRIMARY KEY index + ** of a WITHOUT ROWID table. + ** + ** If pTblName==0 it means this index is generated as an implied PRIMARY KEY + ** or UNIQUE index in a CREATE TABLE statement. Since the table + ** has just been created, it contains no data and the index initialization + ** step can be skipped. */ - sqlite3NestedParse(pParse, - "INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);", - db->aDb[iDb].zDbSName, MASTER_NAME, - pIndex->zName, - pTab->zName, - iMem, - zStmt - ); - sqlite3DbFree(db, zStmt); + else if( HasRowid(pTab) || pTblName!=0 ){ + Vdbe *v; + char *zStmt; + int iMem = ++pParse->nMem; + + v = sqlite3GetVdbe(pParse); + if( v==0 ) goto exit_create_index; + + sqlite3BeginWriteOperation(pParse, 1, iDb); + + /* Create the rootpage for the index using CreateIndex. But before + ** doing so, code a Noop instruction and store its address in + ** Index.tnum. This is required in case this index is actually a + ** PRIMARY KEY and the table is actually a WITHOUT ROWID table. In + ** that case the convertToWithoutRowidTable() routine will replace + ** the Noop with a Goto to jump over the VDBE code generated below. */ + pIndex->tnum = sqlite3VdbeAddOp0(v, OP_Noop); + sqlite3VdbeAddOp3(v, OP_CreateBtree, iDb, iMem, BTREE_BLOBKEY); + + /* Gather the complete text of the CREATE INDEX statement into + ** the zStmt variable + */ + if( pStart ){ + int n = (int)(pParse->sLastToken.z - pName->z) + pParse->sLastToken.n; + if( pName->z[n-1]==';' ) n--; + /* A named index with an explicit CREATE INDEX statement */ + zStmt = sqlite3MPrintf(db, "CREATE%s INDEX %.*s", + onError==OE_None ? "" : " UNIQUE", n, pName->z); + }else{ + /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ + /* zStmt = sqlite3MPrintf(""); */ + zStmt = 0; + } - /* Fill the index with data and reparse the schema. Code an OP_Expire - ** to invalidate all pre-compiled statements. - */ - if( pTblName ){ - sqlite3RefillIndex(pParse, pIndex, iMem); - sqlite3ChangeCookie(pParse, iDb); - sqlite3VdbeAddParseSchemaOp(v, iDb, - sqlite3MPrintf(db, "name='%q' AND type='index'", pIndex->zName)); - sqlite3VdbeAddOp0(v, OP_Expire); - } + /* Add an entry in sqlite_master for this index + */ + sqlite3NestedParse(pParse, + "INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);", + db->aDb[iDb].zDbSName, MASTER_NAME, + pIndex->zName, + pTab->zName, + iMem, + zStmt + ); + sqlite3DbFree(db, zStmt); - sqlite3VdbeJumpHere(v, pIndex->tnum); + /* Fill the index with data and reparse the schema. Code an OP_Expire + ** to invalidate all pre-compiled statements. + */ + if( pTblName ){ + sqlite3RefillIndex(pParse, pIndex, iMem); + sqlite3ChangeCookie(pParse, iDb); + sqlite3VdbeAddParseSchemaOp(v, iDb, + sqlite3MPrintf(db, "name='%q' AND type='index'", pIndex->zName)); + sqlite3VdbeAddOp2(v, OP_Expire, 0, 1); + } + + sqlite3VdbeJumpHere(v, pIndex->tnum); + } } /* When adding an index to the list of indices for a table, make @@ -105043,10 +109512,15 @@ SQLITE_PRIVATE void sqlite3CreateIndex( } pIndex = 0; } + else if( IN_RENAME_OBJECT ){ + assert( pParse->pNewIndex==0 ); + pParse->pNewIndex = pIndex; + pIndex = 0; + } /* Clean up before exiting */ exit_create_index: - if( pIndex ) freeIndex(db, pIndex); + if( pIndex ) sqlite3FreeIndex(db, pIndex); sqlite3ExprDelete(db, pPIWhere); sqlite3ExprListDelete(db, pList); sqlite3SrcListDelete(db, pTblName); @@ -105215,7 +109689,8 @@ SQLITE_PRIVATE void *sqlite3ArrayAllocate( ** ** A new IdList is returned, or NULL if malloc() fails. */ -SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pToken){ +SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *pToken){ + sqlite3 *db = pParse->db; int i; if( pList==0 ){ pList = sqlite3DbMallocZero(db, sizeof(IdList) ); @@ -105233,6 +109708,9 @@ SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3 *db, IdList *pList, Token *pT return 0; } pList->a[i].zName = sqlite3NameFromToken(db, pToken); + if( IN_RENAME_OBJECT && pList->a[i].zName ){ + sqlite3RenameTokenMap(pParse, (void*)pList->a[i].zName, pToken); + } return pList; } @@ -105479,6 +109957,12 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppendFromTerm( } assert( p->nSrc>0 ); pItem = &p->a[p->nSrc-1]; + assert( (pTable==0)==(pDatabase==0) ); + assert( pItem->zName==0 || pDatabase!=0 ); + if( IN_RENAME_OBJECT && pItem->zName ){ + Token *pToken = (ALWAYS(pDatabase) && pDatabase->z) ? pDatabase : pTable; + sqlite3RenameTokenMap(pParse, pItem->zName, pToken); + } assert( pAlias!=0 ); if( pAlias->n ){ pItem->zAlias = sqlite3NameFromToken(db, pAlias); @@ -105789,16 +110273,16 @@ SQLITE_PRIVATE void sqlite3UniqueConstraint( sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, 200); if( pIdx->aColExpr ){ - sqlite3XPrintf(&errMsg, "index '%q'", pIdx->zName); + sqlite3_str_appendf(&errMsg, "index '%q'", pIdx->zName); }else{ for(j=0; jnKeyCol; j++){ char *zCol; assert( pIdx->aiColumn[j]>=0 ); zCol = pTab->aCol[pIdx->aiColumn[j]].zName; - if( j ) sqlite3StrAccumAppend(&errMsg, ", ", 2); - sqlite3StrAccumAppendAll(&errMsg, pTab->zName); - sqlite3StrAccumAppend(&errMsg, ".", 1); - sqlite3StrAccumAppendAll(&errMsg, zCol); + if( j ) sqlite3_str_append(&errMsg, ", ", 2); + sqlite3_str_appendall(&errMsg, pTab->zName); + sqlite3_str_append(&errMsg, ".", 1); + sqlite3_str_appendall(&errMsg, zCol); } } zErr = sqlite3StrAccumFinish(&errMsg); @@ -106373,6 +110857,21 @@ 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. @@ -106386,7 +110885,7 @@ SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs( FuncDef *pOther; const char *zName = aDef[i].zName; int nName = sqlite3Strlen30(zName); - int h = (zName[0] + nName) % SQLITE_FUNC_HASH_SZ; + int h = SQLITE_FUNC_HASH(zName[0], nName); assert( zName[0]>='a' && zName[0]<='z' ); pOther = functionSearch(h, zName); if( pOther ){ @@ -106465,7 +110964,7 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( */ if( !createFlag && (pBest==0 || (db->mDbFlags & DBFLAG_PreferBuiltin)!=0) ){ bestScore = 0; - h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % SQLITE_FUNC_HASH_SZ; + h = SQLITE_FUNC_HASH(sqlite3UpperToLower[(u8)zName[0]], nName); p = functionSearch(h, zName); while( p ){ int score = matchQuality(p, nArg, enc); @@ -106484,10 +110983,12 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( if( createFlag && bestScorezName = (const char*)&pBest[1]; pBest->nArg = (u16)nArg; pBest->funcFlags = enc; memcpy((char*)&pBest[1], zName, nName+1); + for(z=(u8*)pBest->zName; *z; z++) *z = sqlite3UpperToLower[*z]; pOther = (FuncDef*)sqlite3HashInsert(&db->aFunc, pBest->zName, pBest); if( pOther==pBest ){ sqlite3DbFree(db, pBest); @@ -106611,32 +111112,49 @@ SQLITE_PRIVATE Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){ return pTab; } +/* Return true if table pTab is read-only. +** +** A table is read-only if any of the following are true: +** +** 1) It is a virtual table and no implementation of the xUpdate method +** has been provided +** +** 2) It is a system table (i.e. sqlite_master), this call is not +** part of a nested parse and writable_schema pragma has not +** been specified +** +** 3) The table is a shadow table, the database connection is in +** defensive mode, and the current sqlite3_prepare() +** is for a top-level SQL statement. +*/ +static int tabIsReadOnly(Parse *pParse, Table *pTab){ + sqlite3 *db; + if( IsVirtual(pTab) ){ + return sqlite3GetVTable(pParse->db, pTab)->pMod->pModule->xUpdate==0; + } + if( (pTab->tabFlags & (TF_Readonly|TF_Shadow))==0 ) return 0; + db = pParse->db; + if( (pTab->tabFlags & TF_Readonly)!=0 ){ + return sqlite3WritableSchema(db)==0 && pParse->nested==0; + } + assert( pTab->tabFlags & TF_Shadow ); + return (db->flags & SQLITE_Defensive)!=0 +#ifndef SQLITE_OMIT_VIRTUALTABLE + && db->pVtabCtx==0 +#endif + && db->nVdbeExec==0; +} + /* ** Check to make sure the given table is writable. If it is not ** writable, generate an error message and return 1. If it is ** writable return 0; */ SQLITE_PRIVATE int sqlite3IsReadOnly(Parse *pParse, Table *pTab, int viewOk){ - /* A table is not writable under the following circumstances: - ** - ** 1) It is a virtual table and no implementation of the xUpdate method - ** has been provided, or - ** 2) It is a system table (i.e. sqlite_master), this call is not - ** part of a nested parse and writable_schema pragma has not - ** been specified. - ** - ** In either case leave an error message in pParse and return non-zero. - */ - if( ( IsVirtual(pTab) - && sqlite3GetVTable(pParse->db, pTab)->pMod->pModule->xUpdate==0 ) - || ( (pTab->tabFlags & TF_Readonly)!=0 - && (pParse->db->flags & SQLITE_WriteSchema)==0 - && pParse->nested==0 ) - ){ + if( tabIsReadOnly(pParse, pTab) ){ sqlite3ErrorMsg(pParse, "table %s may not be modified", pTab->zName); return 1; } - #ifndef SQLITE_OMIT_VIEW if( !viewOk && pTab->pSelect ){ sqlite3ErrorMsg(pParse,"cannot modify %s because it is a view",pTab->zName); @@ -106805,7 +111323,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( AuthContext sContext; /* Authorization context */ NameContext sNC; /* Name context to resolve expressions in */ int iDb; /* Database number */ - int memCnt = -1; /* Memory cell used for change counting */ + int memCnt = 0; /* Memory cell used for change counting */ int rcauth; /* Value returned by authorization callback */ int eOnePass; /* ONEPASS_OFF or _SINGLE or _MULTI */ int aiCurOnePass[2]; /* The write cursors opened by WHERE_ONEPASS */ @@ -106910,7 +111428,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( goto delete_from_cleanup; } if( pParse->nested==0 ) sqlite3VdbeCountChanges(v); - sqlite3BeginWriteOperation(pParse, 1, iDb); + sqlite3BeginWriteOperation(pParse, bComplex, iDb); /* If we are trying to delete from a view, realize that view into ** an ephemeral table. @@ -106938,7 +111456,10 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( /* Initialize the counter of the number of rows deleted, if ** we are counting rows. */ - if( db->flags & SQLITE_CountRows ){ + if( (db->flags & SQLITE_CountRows)!=0 + && !pParse->nested + && !pParse->pTriggerTab + ){ memCnt = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Integer, 0, memCnt); } @@ -106966,7 +111487,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( assert( !isView ); sqlite3TableLock(pParse, iDb, pTab->tnum, 1, pTab->zName); if( HasRowid(pTab) ){ - sqlite3VdbeAddOp4(v, OP_Clear, pTab->tnum, iDb, memCnt, + sqlite3VdbeAddOp4(v, OP_Clear, pTab->tnum, iDb, memCnt ? memCnt : -1, pTab->zName, P4_STATIC); } for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ @@ -107011,9 +111532,10 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( eOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); assert( IsVirtual(pTab)==0 || eOnePass!=ONEPASS_MULTI ); assert( IsVirtual(pTab) || bComplex || eOnePass!=ONEPASS_OFF ); + if( eOnePass!=ONEPASS_SINGLE ) sqlite3MultiWrite(pParse); /* Keep track of the number of rows to be deleted */ - if( db->flags & SQLITE_CountRows ){ + if( memCnt ){ sqlite3VdbeAddOp2(v, OP_AddImm, memCnt, 1); } @@ -107026,9 +111548,8 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( } iKey = iPk; }else{ - iKey = pParse->nMem + 1; - iKey = sqlite3ExprCodeGetColumn(pParse, pTab, -1, iTabCur, iKey, 0); - if( iKey>pParse->nMem ) pParse->nMem = iKey; + iKey = ++pParse->nMem; + sqlite3ExprCodeGetColumnOfTable(v, pTab, iTabCur, -1, iKey); } if( eOnePass!=ONEPASS_OFF ){ @@ -107116,13 +111637,16 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( if( IsVirtual(pTab) ){ const char *pVTab = (const char *)sqlite3GetVTable(db, pTab); sqlite3VtabMakeWritable(pParse, pTab); - sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iKey, pVTab, P4_VTAB); - sqlite3VdbeChangeP5(v, OE_Abort); assert( eOnePass==ONEPASS_OFF || eOnePass==ONEPASS_SINGLE ); sqlite3MayAbort(pParse); - if( eOnePass==ONEPASS_SINGLE && sqlite3IsToplevel(pParse) ){ - pParse->isMultiWrite = 0; + if( eOnePass==ONEPASS_SINGLE ){ + sqlite3VdbeAddOp1(v, OP_Close, iTabCur); + if( sqlite3IsToplevel(pParse) ){ + pParse->isMultiWrite = 0; + } } + sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iKey, pVTab, P4_VTAB); + sqlite3VdbeChangeP5(v, OE_Abort); }else #endif { @@ -107156,7 +111680,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ** generating code because of a call to sqlite3NestedParse(), do not ** invoke the callback function. */ - if( (db->flags&SQLITE_CountRows) && !pParse->nested && !pParse->pTriggerTab ){ + if( memCnt ){ sqlite3VdbeAddOp2(v, OP_ResultRow, memCnt, 1); sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "rows deleted", SQLITE_STATIC); @@ -107458,7 +111982,6 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey( if( pIdx->pPartIdxWhere ){ *piPartIdxLabel = sqlite3VdbeMakeLabel(v); pParse->iSelfTab = iDataCur + 1; - sqlite3ExprCachePush(pParse); sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, *piPartIdxLabel, SQLITE_JUMPIFNULL); pParse->iSelfTab = 0; @@ -107505,7 +112028,6 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey( SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse *pParse, int iLabel){ if( iLabel ){ sqlite3VdbeResolveLabel(pParse->pVdbe, iLabel); - sqlite3ExprCachePop(pParse); } } @@ -107548,6 +112070,8 @@ static CollSeq *sqlite3GetFuncCollSeq(sqlite3_context *context){ ** iteration of the aggregate loop. */ static void sqlite3SkipAccumulatorLoad(sqlite3_context *context){ + assert( context->isError<=0 ); + context->isError = -1; context->skipFlag = 1; } @@ -107614,8 +112138,6 @@ static void lengthFunc( int argc, sqlite3_value **argv ){ - int len; - assert( argc==1 ); UNUSED_PARAMETER(argc); switch( sqlite3_value_type(argv[0]) ){ @@ -107627,13 +112149,17 @@ static void lengthFunc( } case SQLITE_TEXT: { const unsigned char *z = sqlite3_value_text(argv[0]); + const unsigned char *z0; + unsigned char c; if( z==0 ) return; - len = 0; - while( *z ){ - len++; - SQLITE_SKIP_UTF8(z); + z0 = z; + while( (c = *z)!=0 ){ + z++; + if( c>=0xc0 ){ + while( (*z & 0xc0)==0x80 ){ z++; z0++; } + } } - sqlite3_result_int(context, len); + sqlite3_result_int(context, (int)(z-z0)); break; } default: { @@ -107760,7 +112286,7 @@ static void printfFunc( x.apArg = argv+1; sqlite3StrAccumInit(&str, db, 0, 0, db->aLimit[SQLITE_LIMIT_LENGTH]); str.printfFlags = SQLITE_PRINTF_SQLFUNC; - sqlite3XPrintf(&str, zFormat, &x); + sqlite3_str_appendf(&str, zFormat, &x); n = str.nChar; sqlite3_result_text(context, sqlite3StrAccumFinish(&str), n, SQLITE_DYNAMIC); @@ -108708,6 +113234,8 @@ static void replaceFunc( i64 nOut; /* Maximum size of zOut */ int loopLimit; /* Last zStr[] that might match zPattern[] */ int i, j; /* Loop counters */ + unsigned cntExpand; /* Number zOut expansions */ + sqlite3 *db = sqlite3_context_db_handle(context); assert( argc==3 ); UNUSED_PARAMETER(argc); @@ -108739,33 +113267,40 @@ static void replaceFunc( return; } loopLimit = nStr - nPattern; + cntExpand = 0; for(i=j=0; i<=loopLimit; i++){ if( zStr[i]!=zPattern[0] || memcmp(&zStr[i], zPattern, nPattern) ){ zOut[j++] = zStr[i]; }else{ - u8 *zOld; - sqlite3 *db = sqlite3_context_db_handle(context); - nOut += nRep - nPattern; - testcase( nOut-1==db->aLimit[SQLITE_LIMIT_LENGTH] ); - testcase( nOut-2==db->aLimit[SQLITE_LIMIT_LENGTH] ); - if( nOut-1>db->aLimit[SQLITE_LIMIT_LENGTH] ){ - sqlite3_result_error_toobig(context); - sqlite3_free(zOut); - return; - } - zOld = zOut; - zOut = sqlite3_realloc64(zOut, (int)nOut); - if( zOut==0 ){ - sqlite3_result_error_nomem(context); - sqlite3_free(zOld); - return; + if( nRep>nPattern ){ + nOut += nRep - nPattern; + testcase( nOut-1==db->aLimit[SQLITE_LIMIT_LENGTH] ); + testcase( nOut-2==db->aLimit[SQLITE_LIMIT_LENGTH] ); + if( nOut-1>db->aLimit[SQLITE_LIMIT_LENGTH] ){ + sqlite3_result_error_toobig(context); + sqlite3_free(zOut); + return; + } + cntExpand++; + if( (cntExpand&(cntExpand-1))==0 ){ + /* Grow the size of the output buffer only on substitutions + ** whose index is a power of two: 1, 2, 4, 8, 16, 32, ... */ + u8 *zOld; + zOld = zOut; + zOut = sqlite3_realloc64(zOut, (int)nOut + (nOut - nStr - 1)); + if( zOut==0 ){ + sqlite3_result_error_nomem(context); + sqlite3_free(zOld); + return; + } + } } memcpy(&zOut[j], zRep, nRep); j += nRep; i += nPattern-1; } } - assert( j+nStr-i+1==nOut ); + assert( j+nStr-i+1<=nOut ); memcpy(&zOut[j], &zStr[i], nStr-i); j += nStr - i; assert( j<=nOut ); @@ -109005,7 +113540,7 @@ static void sumStep(sqlite3_context *context, int argc, sqlite3_value **argv){ i64 v = sqlite3_value_int64(argv[0]); p->rSum += v; if( (p->approx|p->overflow)==0 && sqlite3AddInt64(&p->iSum, v) ){ - p->overflow = 1; + p->approx = p->overflow = 1; } }else{ p->rSum += sqlite3_value_double(argv[0]); @@ -109013,6 +113548,32 @@ static void sumStep(sqlite3_context *context, int argc, sqlite3_value **argv){ } } } +#ifndef SQLITE_OMIT_WINDOWFUNC +static void sumInverse(sqlite3_context *context, int argc, sqlite3_value**argv){ + SumCtx *p; + int type; + assert( argc==1 ); + UNUSED_PARAMETER(argc); + p = sqlite3_aggregate_context(context, sizeof(*p)); + type = sqlite3_value_numeric_type(argv[0]); + /* p is always non-NULL because sumStep() will have been called first + ** to initialize it */ + if( ALWAYS(p) && type!=SQLITE_NULL ){ + assert( p->cnt>0 ); + p->cnt--; + assert( type==SQLITE_INTEGER || p->approx ); + if( type==SQLITE_INTEGER && p->approx==0 ){ + i64 v = sqlite3_value_int64(argv[0]); + p->rSum -= v; + p->iSum -= v; + }else{ + p->rSum -= sqlite3_value_double(argv[0]); + } + } +} +#else +# define sumInverse 0 +#endif /* SQLITE_OMIT_WINDOWFUNC */ static void sumFinalize(sqlite3_context *context){ SumCtx *p; p = sqlite3_aggregate_context(context, 0); @@ -109047,6 +113608,9 @@ static void totalFinalize(sqlite3_context *context){ typedef struct CountCtx CountCtx; struct CountCtx { i64 n; +#ifdef SQLITE_DEBUG + int bInverse; /* True if xInverse() ever called */ +#endif }; /* @@ -109064,7 +113628,7 @@ static void countStep(sqlite3_context *context, int argc, sqlite3_value **argv){ ** sure it still operates correctly, verify that its count agrees with our ** internal count when using count(*) and when the total count can be ** expressed as a 32-bit integer. */ - assert( argc==1 || p==0 || p->n>0x7fffffff + assert( argc==1 || p==0 || p->n>0x7fffffff || p->bInverse || p->n==sqlite3_aggregate_count(context) ); #endif } @@ -109073,6 +113637,21 @@ static void countFinalize(sqlite3_context *context){ p = sqlite3_aggregate_context(context, 0); sqlite3_result_int64(context, p ? p->n : 0); } +#ifndef SQLITE_OMIT_WINDOWFUNC +static void countInverse(sqlite3_context *ctx, int argc, sqlite3_value **argv){ + CountCtx *p; + p = sqlite3_aggregate_context(ctx, sizeof(*p)); + /* p is always non-NULL since countStep() will have been called first */ + if( (argc==0 || SQLITE_NULL!=sqlite3_value_type(argv[0])) && ALWAYS(p) ){ + p->n--; +#ifdef SQLITE_DEBUG + p->bInverse = 1; +#endif + } +} +#else +# define countInverse 0 +#endif /* SQLITE_OMIT_WINDOWFUNC */ /* ** Routines to implement min() and max() aggregate functions. @@ -109089,7 +113668,7 @@ static void minmaxStep( pBest = (Mem *)sqlite3_aggregate_context(context, sizeof(*pBest)); if( !pBest ) return; - if( sqlite3_value_type(argv[0])==SQLITE_NULL ){ + if( sqlite3_value_type(pArg)==SQLITE_NULL ){ if( pBest->flags ) sqlite3SkipAccumulatorLoad(context); }else if( pBest->flags ){ int max; @@ -109115,16 +113694,26 @@ static void minmaxStep( sqlite3VdbeMemCopy(pBest, pArg); } } -static void minMaxFinalize(sqlite3_context *context){ +static void minMaxValueFinalize(sqlite3_context *context, int bValue){ sqlite3_value *pRes; pRes = (sqlite3_value *)sqlite3_aggregate_context(context, 0); if( pRes ){ if( pRes->flags ){ sqlite3_result_value(context, pRes); } - sqlite3VdbeMemRelease(pRes); + if( bValue==0 ) sqlite3VdbeMemRelease(pRes); } } +#ifndef SQLITE_OMIT_WINDOWFUNC +static void minMaxValue(sqlite3_context *context){ + minMaxValueFinalize(context, 1); +} +#else +# define minMaxValue 0 +#endif /* SQLITE_OMIT_WINDOWFUNC */ +static void minMaxFinalize(sqlite3_context *context){ + minMaxValueFinalize(context, 0); +} /* ** group_concat(EXPR, ?SEPARATOR?) @@ -109154,20 +113743,52 @@ static void groupConcatStep( zSep = ","; nSep = 1; } - if( zSep ) sqlite3StrAccumAppend(pAccum, zSep, nSep); + if( zSep ) sqlite3_str_append(pAccum, zSep, nSep); } zVal = (char*)sqlite3_value_text(argv[0]); nVal = sqlite3_value_bytes(argv[0]); - if( zVal ) sqlite3StrAccumAppend(pAccum, zVal, nVal); + if( zVal ) sqlite3_str_append(pAccum, zVal, nVal); } } +#ifndef SQLITE_OMIT_WINDOWFUNC +static void groupConcatInverse( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + int n; + StrAccum *pAccum; + assert( argc==1 || argc==2 ); + if( sqlite3_value_type(argv[0])==SQLITE_NULL ) return; + pAccum = (StrAccum*)sqlite3_aggregate_context(context, sizeof(*pAccum)); + /* pAccum is always non-NULL since groupConcatStep() will have always + ** run frist to initialize it */ + if( ALWAYS(pAccum) ){ + n = sqlite3_value_bytes(argv[0]); + if( argc==2 ){ + n += sqlite3_value_bytes(argv[1]); + }else{ + n++; + } + if( n>=(int)pAccum->nChar ){ + pAccum->nChar = 0; + }else{ + pAccum->nChar -= n; + memmove(pAccum->zText, &pAccum->zText[n], pAccum->nChar); + } + if( pAccum->nChar==0 ) pAccum->mxAlloc = 0; + } +} +#else +# define groupConcatInverse 0 +#endif /* SQLITE_OMIT_WINDOWFUNC */ static void groupConcatFinalize(sqlite3_context *context){ StrAccum *pAccum; pAccum = sqlite3_aggregate_context(context, 0); if( pAccum ){ - if( pAccum->accError==STRACCUM_TOOBIG ){ + if( pAccum->accError==SQLITE_TOOBIG ){ sqlite3_result_error_toobig(context); - }else if( pAccum->accError==STRACCUM_NOMEM ){ + }else if( pAccum->accError==SQLITE_NOMEM ){ sqlite3_result_error_nomem(context); }else{ sqlite3_result_text(context, sqlite3StrAccumFinish(pAccum), -1, @@ -109175,6 +113796,24 @@ static void groupConcatFinalize(sqlite3_context *context){ } } } +#ifndef SQLITE_OMIT_WINDOWFUNC +static void groupConcatValue(sqlite3_context *context){ + sqlite3_str *pAccum; + pAccum = (sqlite3_str*)sqlite3_aggregate_context(context, 0); + if( pAccum ){ + if( pAccum->accError==SQLITE_TOOBIG ){ + sqlite3_result_error_toobig(context); + }else if( pAccum->accError==SQLITE_NOMEM ){ + sqlite3_result_error_nomem(context); + }else{ + const char *zText = sqlite3_str_value(pAccum); + sqlite3_result_text(context, zText, -1, SQLITE_TRANSIENT); + } + } +} +#else +# define groupConcatValue 0 +#endif /* SQLITE_OMIT_WINDOWFUNC */ /* ** This routine does per-connection function registration. Most @@ -109212,10 +113851,10 @@ SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive) }else{ pInfo = (struct compareInfo*)&likeInfoNorm; } - sqlite3CreateFunc(db, "like", 2, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0); - sqlite3CreateFunc(db, "like", 3, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0); + 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); + (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); @@ -109324,11 +113963,11 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ FUNCTION(trim, 2, 3, 0, trimFunc ), FUNCTION(min, -1, 0, 1, minmaxFunc ), FUNCTION(min, 0, 0, 1, 0 ), - AGGREGATE2(min, 1, 0, 1, minmaxStep, minMaxFinalize, + WAGGREGATE(min, 1, 0, 1, minmaxStep, minMaxFinalize, minMaxValue, 0, SQLITE_FUNC_MINMAX ), FUNCTION(max, -1, 1, 1, minmaxFunc ), FUNCTION(max, 0, 1, 1, 0 ), - AGGREGATE2(max, 1, 1, 1, minmaxStep, minMaxFinalize, + WAGGREGATE(max, 1, 1, 1, minmaxStep, minMaxFinalize, minMaxValue, 0, SQLITE_FUNC_MINMAX ), FUNCTION2(typeof, 1, 0, 0, typeofFunc, SQLITE_FUNC_TYPEOF), FUNCTION2(length, 1, 0, 0, lengthFunc, SQLITE_FUNC_LENGTH), @@ -109359,14 +113998,17 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ FUNCTION(zeroblob, 1, 0, 0, zeroblobFunc ), FUNCTION(substr, 2, 0, 0, substrFunc ), FUNCTION(substr, 3, 0, 0, substrFunc ), - AGGREGATE(sum, 1, 0, 0, sumStep, sumFinalize ), - AGGREGATE(total, 1, 0, 0, sumStep, totalFinalize ), - AGGREGATE(avg, 1, 0, 0, sumStep, avgFinalize ), - AGGREGATE2(count, 0, 0, 0, countStep, countFinalize, - SQLITE_FUNC_COUNT ), - AGGREGATE(count, 1, 0, 0, countStep, countFinalize ), - AGGREGATE(group_concat, 1, 0, 0, groupConcatStep, groupConcatFinalize), - AGGREGATE(group_concat, 2, 0, 0, groupConcatStep, groupConcatFinalize), + WAGGREGATE(sum, 1,0,0, sumStep, sumFinalize, sumFinalize, sumInverse, 0), + WAGGREGATE(total, 1,0,0, sumStep,totalFinalize,totalFinalize,sumInverse, 0), + WAGGREGATE(avg, 1,0,0, sumStep, avgFinalize, avgFinalize, sumInverse, 0), + WAGGREGATE(count, 0,0,0, countStep, + countFinalize, countFinalize, countInverse, SQLITE_FUNC_COUNT ), + WAGGREGATE(count, 1,0,0, countStep, + countFinalize, countFinalize, countInverse, 0 ), + WAGGREGATE(group_concat, 1, 0, 0, groupConcatStep, + groupConcatFinalize, groupConcatValue, groupConcatInverse, 0), + WAGGREGATE(group_concat, 2, 0, 0, groupConcatStep, + groupConcatFinalize, groupConcatValue, groupConcatInverse, 0), LIKEFUNC(glob, 2, &globInfo, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE), #ifdef SQLITE_CASE_SENSITIVE_LIKE @@ -109386,6 +114028,7 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ #ifndef SQLITE_OMIT_ALTERTABLE sqlite3AlterFunctions(); #endif + sqlite3WindowFunctions(); #if defined(SQLITE_ENABLE_STAT3) || defined(SQLITE_ENABLE_STAT4) sqlite3AnalyzeFunctions(); #endif @@ -109744,6 +114387,12 @@ static void fkLookupParent( int iCur = pParse->nTab - 1; /* Cursor number to use */ int iOk = sqlite3VdbeMakeLabel(v); /* jump here if parent key found */ + sqlite3VdbeVerifyAbortable(v, + (!pFKey->isDeferred + && !(pParse->db->flags & SQLITE_DeferFKs) + && !pParse->pToplevel + && !pParse->isMultiWrite) ? OE_Abort : OE_Ignore); + /* If nIncr is less than zero, then check at runtime if there are any ** outstanding constraints to resolve. If there are not, there is no need ** to check if deleting this row resolves any outstanding violations. @@ -109909,7 +114558,7 @@ static Expr *exprTableColumn( ){ Expr *pExpr = sqlite3Expr(db, TK_COLUMN, 0); if( pExpr ){ - pExpr->pTab = pTab; + pExpr->y.pTab = pTab; pExpr->iTable = iCursor; pExpr->iColumn = iCol; } @@ -110117,11 +114766,12 @@ static void fkTriggerDelete(sqlite3 *dbMem, Trigger *p){ */ SQLITE_PRIVATE void sqlite3FkDropTable(Parse *pParse, SrcList *pName, Table *pTab){ sqlite3 *db = pParse->db; - if( (db->flags&SQLITE_ForeignKeys) && !IsVirtual(pTab) && !pTab->pSelect ){ + if( (db->flags&SQLITE_ForeignKeys) && !IsVirtual(pTab) ){ int iSkip = 0; Vdbe *v = sqlite3GetVdbe(pParse); assert( v ); /* VDBE has already been allocated */ + assert( pTab->pSelect==0 ); /* Not a view */ if( sqlite3FkReferences(pTab)==0 ){ /* Search for a deferred foreign key constraint for which this table ** is the child table. If one cannot be found, return without @@ -110151,6 +114801,7 @@ SQLITE_PRIVATE void sqlite3FkDropTable(Parse *pParse, SrcList *pName, Table *pTa ** constraints are violated. */ if( (db->flags & SQLITE_DeferFKs)==0 ){ + sqlite3VdbeVerifyAbortable(v, OE_Abort); sqlite3VdbeAddOp2(v, OP_FkIfZero, 0, sqlite3VdbeCurrentAddr(v)+2); VdbeCoverage(v); sqlite3HaltConstraint(pParse, SQLITE_CONSTRAINT_FOREIGNKEY, @@ -110983,7 +115634,8 @@ SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){ }while( i>=0 && zColAff[i]==SQLITE_AFF_BLOB ); pTab->zColAff = zColAff; } - i = sqlite3Strlen30(zColAff); + assert( zColAff!=0 ); + i = sqlite3Strlen30NN(zColAff); if( i ){ if( iReg ){ sqlite3VdbeAddOp4(v, OP_Affinity, iReg, i, 0, zColAff, i); @@ -111047,11 +115699,12 @@ static int readsTable(Parse *p, int iDb, Table *pTab){ ** first use of table pTab. On 2nd and subsequent uses, the original ** AutoincInfo structure is used. ** -** Three memory locations are allocated: +** Four consecutive registers are allocated: ** -** (1) Register to hold the name of the pTab table. -** (2) Register to hold the maximum ROWID of pTab. -** (3) Register to hold the rowid in sqlite_sequence of pTab +** (1) The name of the pTab table. +** (2) The maximum ROWID of pTab. +** (3) The rowid in sqlite_sequence of pTab +** (4) The original value of the max ROWID in pTab, or NULL if none ** ** The 2nd register is the one that is returned. That is all the ** insert routine needs to know about. @@ -111062,11 +115715,26 @@ static int autoIncBegin( Table *pTab /* The table we are writing to */ ){ int memId = 0; /* Register holding maximum rowid */ + assert( pParse->db->aDb[iDb].pSchema!=0 ); if( (pTab->tabFlags & TF_Autoincrement)!=0 && (pParse->db->mDbFlags & DBFLAG_Vacuum)==0 ){ Parse *pToplevel = sqlite3ParseToplevel(pParse); AutoincInfo *pInfo; + Table *pSeqTab = pParse->db->aDb[iDb].pSchema->pSeqTab; + + /* Verify that the sqlite_sequence table exists and is an ordinary + ** rowid table with exactly two columns. + ** Ticket d8dc2b3a58cd5dc2918a1d4acb 2018-05-23 */ + if( pSeqTab==0 + || !HasRowid(pSeqTab) + || IsVirtual(pSeqTab) + || pSeqTab->nCol!=2 + ){ + pParse->nErr++; + pParse->rc = SQLITE_CORRUPT_SEQUENCE; + return 0; + } pInfo = pToplevel->pAinc; while( pInfo && pInfo->pTab!=pTab ){ pInfo = pInfo->pNext; } @@ -111079,7 +115747,7 @@ static int autoIncBegin( pInfo->iDb = iDb; pToplevel->nMem++; /* Register to hold name of table */ pInfo->regCtr = ++pToplevel->nMem; /* Max rowid register */ - pToplevel->nMem++; /* Rowid in sqlite_sequence */ + pToplevel->nMem +=2; /* Rowid in sqlite_sequence + orig max val */ } memId = pInfo->regCtr; } @@ -111107,15 +115775,17 @@ SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse){ static const int iLn = VDBE_OFFSET_LINENO(2); static const VdbeOpList autoInc[] = { /* 0 */ {OP_Null, 0, 0, 0}, - /* 1 */ {OP_Rewind, 0, 9, 0}, + /* 1 */ {OP_Rewind, 0, 10, 0}, /* 2 */ {OP_Column, 0, 0, 0}, - /* 3 */ {OP_Ne, 0, 7, 0}, + /* 3 */ {OP_Ne, 0, 9, 0}, /* 4 */ {OP_Rowid, 0, 0, 0}, /* 5 */ {OP_Column, 0, 1, 0}, - /* 6 */ {OP_Goto, 0, 9, 0}, - /* 7 */ {OP_Next, 0, 2, 0}, - /* 8 */ {OP_Integer, 0, 0, 0}, - /* 9 */ {OP_Close, 0, 0, 0} + /* 6 */ {OP_AddImm, 0, 0, 0}, + /* 7 */ {OP_Copy, 0, 0, 0}, + /* 8 */ {OP_Goto, 0, 11, 0}, + /* 9 */ {OP_Next, 0, 2, 0}, + /* 10 */ {OP_Integer, 0, 0, 0}, + /* 11 */ {OP_Close, 0, 0, 0} }; VdbeOp *aOp; pDb = &db->aDb[p->iDb]; @@ -111126,14 +115796,17 @@ SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse){ aOp = sqlite3VdbeAddOpList(v, ArraySize(autoInc), autoInc, iLn); if( aOp==0 ) break; aOp[0].p2 = memId; - aOp[0].p3 = memId+1; + aOp[0].p3 = memId+2; aOp[2].p3 = memId; aOp[3].p1 = memId-1; aOp[3].p3 = memId; aOp[3].p5 = SQLITE_JUMPIFNULL; aOp[4].p2 = memId+1; aOp[5].p3 = memId; - aOp[8].p2 = memId; + aOp[6].p1 = memId; + aOp[7].p2 = memId+2; + aOp[7].p1 = memId; + aOp[10].p2 = memId; } } @@ -111180,6 +115853,8 @@ static SQLITE_NOINLINE void autoIncrementEnd(Parse *pParse){ iRec = sqlite3GetTempReg(pParse); assert( sqlite3SchemaMutexHeld(db, 0, pDb->pSchema) ); + sqlite3VdbeAddOp3(v, OP_Le, memId+2, sqlite3VdbeCurrentAddr(v)+7, memId); + VdbeCoverage(v); sqlite3OpenTable(pParse, 0, p->iDb, pDb->pSchema->pSeqTab, OP_OpenWrite); aOp = sqlite3VdbeAddOpList(v, ArraySize(autoIncEnd), autoIncEnd, iLn); if( aOp==0 ) break; @@ -111317,7 +115992,8 @@ SQLITE_PRIVATE void sqlite3Insert( SrcList *pTabList, /* Name of table into which we are inserting */ Select *pSelect, /* A SELECT statement to use as the data source */ IdList *pColumn, /* Column names corresponding to IDLIST. */ - int onError /* How to handle constraint errors */ + int onError, /* How to handle constraint errors */ + Upsert *pUpsert /* ON CONFLICT clauses for upsert, or NULL */ ){ sqlite3 *db; /* The main database structure */ Table *pTab; /* The table to insert into. aka TABLE */ @@ -111612,7 +116288,10 @@ SQLITE_PRIVATE void sqlite3Insert( /* Initialize the count of rows to be inserted */ - if( db->flags & SQLITE_CountRows ){ + if( (db->flags & SQLITE_CountRows)!=0 + && !pParse->nested + && !pParse->pTriggerTab + ){ regRowCount = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Integer, 0, regRowCount); } @@ -111632,6 +116311,19 @@ SQLITE_PRIVATE void sqlite3Insert( pParse->nMem += pIdx->nColumn; } } +#ifndef SQLITE_OMIT_UPSERT + if( pUpsert ){ + pTabList->a[0].iCursor = iDataCur; + pUpsert->pUpsertSrc = pTabList; + pUpsert->regData = regData; + pUpsert->iDataCur = iDataCur; + pUpsert->iIdxCur = iIdxCur; + if( pUpsert->pUpsertTarget ){ + sqlite3UpsertAnalyzeTarget(pParse, pTabList, pUpsert); + } + } +#endif + /* This is the top of the main insertion loop */ if( useTempTable ){ @@ -111834,7 +116526,7 @@ SQLITE_PRIVATE void sqlite3Insert( int isReplace; /* Set to true if constraints may cause a replace */ int bUseSeek; /* True to use OPFLAG_SEEKRESULT */ sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, - regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0 + regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0, pUpsert ); sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); @@ -111857,7 +116549,7 @@ SQLITE_PRIVATE void sqlite3Insert( /* Update the count of rows that are inserted */ - if( (db->flags & SQLITE_CountRows)!=0 ){ + if( regRowCount ){ sqlite3VdbeAddOp2(v, OP_AddImm, regRowCount, 1); } @@ -111894,7 +116586,7 @@ SQLITE_PRIVATE void sqlite3Insert( ** generating code because of a call to sqlite3NestedParse(), do not ** invoke the callback function. */ - if( (db->flags&SQLITE_CountRows) && !pParse->nested && !pParse->pTriggerTab ){ + if( regRowCount ){ sqlite3VdbeAddOp2(v, OP_ResultRow, regRowCount, 1); sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "rows inserted", SQLITE_STATIC); @@ -111903,6 +116595,7 @@ SQLITE_PRIVATE void sqlite3Insert( insert_cleanup: sqlite3SrcListDelete(db, pTabList); sqlite3ExprListDelete(db, pList); + sqlite3UpsertDelete(db, pUpsert); sqlite3SelectDelete(db, pSelect); sqlite3IdListDelete(db, pColumn); sqlite3DbFree(db, aRegIdx); @@ -111922,14 +116615,15 @@ SQLITE_PRIVATE void sqlite3Insert( #endif /* -** Meanings of bits in of pWalker->eCode for checkConstraintUnchanged() +** Meanings of bits in of pWalker->eCode for +** sqlite3ExprReferencesUpdatedColumn() */ #define CKCNSTRNT_COLUMN 0x01 /* CHECK constraint uses a changing column */ #define CKCNSTRNT_ROWID 0x02 /* CHECK constraint references the ROWID */ -/* This is the Walker callback from checkConstraintUnchanged(). Set -** bit 0x01 of pWalker->eCode if -** pWalker->eCode to 0 if this expression node references any of the +/* This is the Walker callback from sqlite3ExprReferencesUpdatedColumn(). +* Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this +** expression node references any of the ** columns that are being modifed by an UPDATE statement. */ static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr){ @@ -111951,12 +116645,21 @@ static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr){ ** only columns that are modified by the UPDATE are those for which ** aiChng[i]>=0, and also the ROWID is modified if chngRowid is true. ** -** Return true if CHECK constraint pExpr does not use any of the +** Return true if CHECK constraint pExpr uses any of the ** changing columns (or the rowid if it is changing). In other words, -** return true if this CHECK constraint can be skipped when validating +** return true if this CHECK constraint must be validated for ** the new row in the UPDATE statement. +** +** 2018-09-15: pExpr might also be an expression for an index-on-expressions. +** The operation of this routine is the same - return true if an only if +** the expression uses one or more of columns identified by the second and +** third arguments. */ -static int checkConstraintUnchanged(Expr *pExpr, int *aiChng, int chngRowid){ +SQLITE_PRIVATE int sqlite3ExprReferencesUpdatedColumn( + Expr *pExpr, /* The expression to be checked */ + int *aiChng, /* aiChng[x]>=0 if column x changed by the UPDATE */ + int chngRowid /* True if UPDATE changes the rowid */ +){ Walker w; memset(&w, 0, sizeof(w)); w.eCode = 0; @@ -111971,7 +116674,7 @@ static int checkConstraintUnchanged(Expr *pExpr, int *aiChng, int chngRowid){ testcase( w.eCode==CKCNSTRNT_COLUMN ); testcase( w.eCode==CKCNSTRNT_ROWID ); testcase( w.eCode==(CKCNSTRNT_ROWID|CKCNSTRNT_COLUMN) ); - return !w.eCode; + return w.eCode!=0; } /* @@ -112069,7 +116772,8 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( u8 overrideError, /* Override onError to this if not OE_Default */ int ignoreDest, /* Jump to this label on an OE_Ignore resolution */ int *pbMayReplace, /* OUT: Set to true if constraint may cause a replace */ - int *aiChng /* column i is unchanged if aiChng[i]<0 */ + int *aiChng, /* column i is unchanged if aiChng[i]<0 */ + Upsert *pUpsert /* ON CONFLICT clauses, if any. NULL otherwise */ ){ Vdbe *v; /* VDBE under constrution */ Index *pIdx; /* Pointer to one of the indices */ @@ -112082,10 +116786,13 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( int addr1; /* Address of jump instruction */ int seenReplace = 0; /* True if REPLACE is used to resolve INT PK conflict */ int nPkField; /* Number of fields in PRIMARY KEY. 1 for ROWID tables */ - int ipkTop = 0; /* Top of the rowid change constraint check */ - int ipkBottom = 0; /* Bottom of the rowid change constraint check */ + Index *pUpIdx = 0; /* Index to which to apply the upsert */ u8 isUpdate; /* True if this is an UPDATE operation */ u8 bAffinityDone = 0; /* True if the OP_Affinity operation has been run */ + int upsertBypass = 0; /* Address of Goto to bypass upsert subroutine */ + int upsertJump = 0; /* Address of Goto that jumps into upsert subroutine */ + int ipkTop = 0; /* Top of the IPK uniqueness check */ + int ipkBottom = 0; /* OP_Goto at the end of the IPK uniqueness check */ isUpdate = regOldData!=0; db = pParse->db; @@ -112173,8 +116880,15 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( for(i=0; inExpr; i++){ int allOk; Expr *pExpr = pCheck->a[i].pExpr; - if( aiChng && checkConstraintUnchanged(pExpr, aiChng, pkChng) ) continue; + if( aiChng + && !sqlite3ExprReferencesUpdatedColumn(pExpr, aiChng, pkChng) + ){ + /* The check constraints do not reference any of the columns being + ** updated so there is no point it verifying the check constraint */ + continue; + } allOk = sqlite3VdbeMakeLabel(v); + sqlite3VdbeVerifyAbortable(v, onError); sqlite3ExprIfTrue(pParse, pExpr, allOk, SQLITE_JUMPIFNULL); if( onError==OE_Ignore ){ sqlite3VdbeGoto(v, ignoreDest); @@ -112192,6 +116906,50 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } #endif /* !defined(SQLITE_OMIT_CHECK) */ + /* UNIQUE and PRIMARY KEY constraints should be handled in the following + ** order: + ** + ** (1) OE_Update + ** (2) OE_Abort, OE_Fail, OE_Rollback, OE_Ignore + ** (3) OE_Replace + ** + ** OE_Fail and OE_Ignore must happen before any changes are made. + ** OE_Update guarantees that only a single row will change, so it + ** must happen before OE_Replace. Technically, OE_Abort and OE_Rollback + ** could happen in any order, but they are grouped up front for + ** convenience. + ** + ** 2018-08-14: Ticket https://www.sqlite.org/src/info/908f001483982c43 + ** The order of constraints used to have OE_Update as (2) and OE_Abort + ** and so forth as (1). But apparently PostgreSQL checks the OE_Update + ** constraint before any others, so it had to be moved. + ** + ** Constraint checking code is generated in this order: + ** (A) The rowid constraint + ** (B) Unique index constraints that do not have OE_Replace as their + ** default conflict resolution strategy + ** (C) Unique index that do use OE_Replace by default. + ** + ** The ordering of (2) and (3) is accomplished by making sure the linked + ** list of indexes attached to a table puts all OE_Replace indexes last + ** in the list. See sqlite3CreateIndex() for where that happens. + */ + + if( pUpsert ){ + if( pUpsert->pUpsertTarget==0 ){ + /* An ON CONFLICT DO NOTHING clause, without a constraint-target. + ** Make all unique constraint resolution be OE_Ignore */ + assert( pUpsert->pUpsertSet==0 ); + overrideError = OE_Ignore; + pUpsert = 0; + }else if( (pUpIdx = pUpsert->pUpsertIdx)!=0 ){ + /* If the constraint-target uniqueness check must be run first. + ** Jump to that uniqueness check now */ + upsertJump = sqlite3VdbeAddOp0(v, OP_Goto); + VdbeComment((v, "UPSERT constraint goes first")); + } + } + /* If rowid is changing, make sure the new rowid does not previously ** exist in the table. */ @@ -112206,13 +116964,13 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( onError = OE_Abort; } - if( isUpdate ){ - /* pkChng!=0 does not mean that the rowid has changed, only that - ** it might have changed. Skip the conflict logic below if the rowid - ** is unchanged. */ - sqlite3VdbeAddOp3(v, OP_Eq, regNewData, addrRowidOk, regOldData); - sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); - VdbeCoverage(v); + /* figure out whether or not upsert applies in this case */ + if( pUpsert && pUpsert->pUpsertIdx==0 ){ + if( pUpsert->pUpsertSet==0 ){ + onError = OE_Ignore; /* DO NOTHING is the same as INSERT OR IGNORE */ + }else{ + onError = OE_Update; /* DO UPDATE */ + } } /* If the response to a rowid conflict is REPLACE but the response @@ -112220,21 +116978,30 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( ** to defer the running of the rowid conflict checking until after ** the UNIQUE constraints have run. */ - if( onError==OE_Replace && overrideError!=OE_Replace ){ - for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - if( pIdx->onError==OE_Ignore || pIdx->onError==OE_Fail ){ - ipkTop = sqlite3VdbeAddOp0(v, OP_Goto); - break; - } - } + if( onError==OE_Replace /* IPK rule is REPLACE */ + && onError!=overrideError /* Rules for other contraints are different */ + && pTab->pIndex /* There exist other constraints */ + ){ + ipkTop = sqlite3VdbeAddOp0(v, OP_Goto)+1; + VdbeComment((v, "defer IPK REPLACE until last")); + } + + if( isUpdate ){ + /* pkChng!=0 does not mean that the rowid has changed, only that + ** it might have changed. Skip the conflict logic below if the rowid + ** is unchanged. */ + sqlite3VdbeAddOp3(v, OP_Eq, regNewData, addrRowidOk, regOldData); + sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); + VdbeCoverage(v); } /* Check to see if the new rowid already exists in the table. Skip ** the following conflict logic if it does not. */ + VdbeNoopComment((v, "uniqueness check for ROWID")); + sqlite3VdbeVerifyAbortable(v, onError); sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, addrRowidOk, regNewData); VdbeCoverage(v); - /* Generate code that deals with a rowid collision */ switch( onError ){ default: { onError = OE_Abort; @@ -112243,6 +117010,9 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( case OE_Rollback: case OE_Abort: case OE_Fail: { + testcase( onError==OE_Rollback ); + testcase( onError==OE_Abort ); + testcase( onError==OE_Fail ); sqlite3RowidConstraint(pParse, onError, pTab); break; } @@ -112279,14 +117049,13 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( regNewData, 1, 0, OE_Replace, 1, -1); }else{ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK - if( HasRowid(pTab) ){ - /* This OP_Delete opcode fires the pre-update-hook only. It does - ** not modify the b-tree. It is more efficient to let the coming - ** OP_Insert replace the existing entry than it is to delete the - ** existing entry and then insert a new one. */ - sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, OPFLAG_ISNOOP); - sqlite3VdbeAppendP4(v, pTab, P4_TABLE); - } + assert( HasRowid(pTab) ); + /* This OP_Delete opcode fires the pre-update-hook only. It does + ** not modify the b-tree. It is more efficient to let the coming + ** OP_Insert replace the existing entry than it is to delete the + ** existing entry and then insert a new one. */ + sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, OPFLAG_ISNOOP); + sqlite3VdbeAppendP4(v, pTab, P4_TABLE); #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ if( pTab->pIndex ){ sqlite3MultiWrite(pParse); @@ -112296,8 +117065,14 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( seenReplace = 1; break; } +#ifndef SQLITE_OMIT_UPSERT + case OE_Update: { + sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, 0, iDataCur); + /* Fall through */ + } +#endif case OE_Ignore: { - /*assert( seenReplace==0 );*/ + testcase( onError==OE_Ignore ); sqlite3VdbeGoto(v, ignoreDest); break; } @@ -112305,7 +117080,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( sqlite3VdbeResolveLabel(v, addrRowidOk); if( ipkTop ){ ipkBottom = sqlite3VdbeAddOp0(v, OP_Goto); - sqlite3VdbeJumpHere(v, ipkTop); + sqlite3VdbeJumpHere(v, ipkTop-1); } } @@ -112323,12 +117098,21 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( int addrUniqueOk; /* Jump here if the UNIQUE constraint is satisfied */ if( aRegIdx[ix]==0 ) continue; /* Skip indices that do not change */ - if( bAffinityDone==0 ){ + if( pUpIdx==pIdx ){ + addrUniqueOk = upsertJump+1; + upsertBypass = sqlite3VdbeGoto(v, 0); + VdbeComment((v, "Skip upsert subroutine")); + sqlite3VdbeJumpHere(v, upsertJump); + }else{ + addrUniqueOk = sqlite3VdbeMakeLabel(v); + } + if( bAffinityDone==0 && (pUpIdx==0 || pUpIdx==pIdx) ){ sqlite3TableAffinity(v, pTab, regNewData+1); bAffinityDone = 1; } + VdbeNoopComment((v, "uniqueness check for %s", pIdx->zName)); iThisCur = iIdxCur+ix; - addrUniqueOk = sqlite3VdbeMakeLabel(v); + /* Skip partial indices for which the WHERE clause is not true */ if( pIdx->pPartIdxWhere ){ @@ -112388,6 +117172,15 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( onError = OE_Abort; } + /* Figure out if the upsert clause applies to this index */ + if( pUpIdx==pIdx ){ + if( pUpsert->pUpsertSet==0 ){ + onError = OE_Ignore; /* DO NOTHING is the same as INSERT OR IGNORE */ + }else{ + onError = OE_Update; /* DO UPDATE */ + } + } + /* Collision detection may be omitted if all of the following are true: ** (1) The conflict resolution algorithm is REPLACE ** (2) The table is a WITHOUT ROWID table @@ -112408,7 +117201,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } /* Check to see if the new index entry will be unique */ - sqlite3ExprCachePush(pParse); + sqlite3VdbeVerifyAbortable(v, onError); sqlite3VdbeAddOp4Int(v, OP_NoConflict, iThisCur, addrUniqueOk, regIdx, pIdx->nKeyCol); VdbeCoverage(v); @@ -112470,25 +117263,37 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( /* Generate code that executes if the new index entry is not unique */ assert( onError==OE_Rollback || onError==OE_Abort || onError==OE_Fail - || onError==OE_Ignore || onError==OE_Replace ); + || onError==OE_Ignore || onError==OE_Replace || onError==OE_Update ); switch( onError ){ case OE_Rollback: case OE_Abort: case OE_Fail: { + testcase( onError==OE_Rollback ); + testcase( onError==OE_Abort ); + testcase( onError==OE_Fail ); sqlite3UniqueConstraint(pParse, onError, pIdx); break; } +#ifndef SQLITE_OMIT_UPSERT + case OE_Update: { + sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, pIdx, iIdxCur+ix); + /* Fall through */ + } +#endif case OE_Ignore: { + testcase( onError==OE_Ignore ); sqlite3VdbeGoto(v, ignoreDest); break; } default: { Trigger *pTrigger = 0; assert( onError==OE_Replace ); - sqlite3MultiWrite(pParse); if( db->flags&SQLITE_RecTriggers ){ pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0); } + if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){ + sqlite3MultiWrite(pParse); + } sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, regR, nPkField, 0, OE_Replace, (pIdx==pPk ? ONEPASS_SINGLE : ONEPASS_OFF), iThisCur); @@ -112496,15 +117301,22 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( break; } } - sqlite3VdbeResolveLabel(v, addrUniqueOk); - sqlite3ExprCachePop(pParse); + if( pUpIdx==pIdx ){ + sqlite3VdbeGoto(v, upsertJump+1); + sqlite3VdbeJumpHere(v, upsertBypass); + }else{ + sqlite3VdbeResolveLabel(v, addrUniqueOk); + } if( regR!=regIdx ) sqlite3ReleaseTempRange(pParse, regR, nPkField); } + + /* If the IPK constraint is a REPLACE, run it last */ if( ipkTop ){ sqlite3VdbeGoto(v, ipkTop+1); + VdbeComment((v, "Do IPK REPLACE")); sqlite3VdbeJumpHere(v, ipkBottom); } - + *pbMayReplace = seenReplace; VdbeModuleComment((v, "END: GenCnstCks(%d)", seenReplace)); } @@ -112600,7 +117412,6 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( sqlite3SetMakeRecordP5(v, pTab); if( !bAffinityDone ){ sqlite3TableAffinity(v, pTab, 0); - sqlite3ExprCacheAffinityChange(pParse, regData, pTab->nCol); } if( pParse->nested ){ pik_flags = 0; @@ -113003,6 +117814,7 @@ static int xferOptimization( emptySrcTest = sqlite3VdbeAddOp2(v, OP_Rewind, iSrc, 0); VdbeCoverage(v); if( pDest->iPKey>=0 ){ addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); + sqlite3VdbeVerifyAbortable(v, onError); addr2 = sqlite3VdbeAddOp3(v, OP_NotExists, iDest, 0, regRowid); VdbeCoverage(v); sqlite3RowidConstraint(pParse, onError, pDest); @@ -113560,6 +118372,30 @@ struct sqlite3_api_routines { int (*vtab_nochange)(sqlite3_context*); int (*value_nochange)(sqlite3_value*); const char *(*vtab_collation)(sqlite3_index_info*,int); + /* Version 3.24.0 and later */ + int (*keyword_count)(void); + int (*keyword_name)(int,const char**,int*); + int (*keyword_check)(const char*,int); + sqlite3_str *(*str_new)(sqlite3*); + char *(*str_finish)(sqlite3_str*); + void (*str_appendf)(sqlite3_str*, const char *zFormat, ...); + void (*str_vappendf)(sqlite3_str*, const char *zFormat, va_list); + void (*str_append)(sqlite3_str*, const char *zIn, int N); + void (*str_appendall)(sqlite3_str*, const char *zIn); + void (*str_appendchar)(sqlite3_str*, int N, char C); + void (*str_reset)(sqlite3_str*); + int (*str_errcode)(sqlite3_str*); + int (*str_length)(sqlite3_str*); + char *(*str_value)(sqlite3_str*); + /* Version 3.25.0 and later */ + int (*create_window_function)(sqlite3*,const char*,int,int,void*, + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*), + void (*xValue)(sqlite3_context*), + void (*xInv)(sqlite3_context*,int,sqlite3_value**), + void(*xDestroy)(void*)); + /* Version 3.26.0 and later */ + const char *(*normalized_sql)(sqlite3_stmt*); }; /* @@ -113828,8 +118664,27 @@ typedef int (*sqlite3_loadext_entry)( #define sqlite3_value_pointer sqlite3_api->value_pointer /* Version 3.22.0 and later */ #define sqlite3_vtab_nochange sqlite3_api->vtab_nochange -#define sqlite3_value_nochange sqltie3_api->value_nochange -#define sqlite3_vtab_collation sqltie3_api->vtab_collation +#define sqlite3_value_nochange sqlite3_api->value_nochange +#define sqlite3_vtab_collation sqlite3_api->vtab_collation +/* Version 3.24.0 and later */ +#define sqlite3_keyword_count sqlite3_api->keyword_count +#define sqlite3_keyword_name sqlite3_api->keyword_name +#define sqlite3_keyword_check sqlite3_api->keyword_check +#define sqlite3_str_new sqlite3_api->str_new +#define sqlite3_str_finish sqlite3_api->str_finish +#define sqlite3_str_appendf sqlite3_api->str_appendf +#define sqlite3_str_vappendf sqlite3_api->str_vappendf +#define sqlite3_str_append sqlite3_api->str_append +#define sqlite3_str_appendall sqlite3_api->str_appendall +#define sqlite3_str_appendchar sqlite3_api->str_appendchar +#define sqlite3_str_reset sqlite3_api->str_reset +#define sqlite3_str_errcode sqlite3_api->str_errcode +#define sqlite3_str_length sqlite3_api->str_length +#define sqlite3_str_value sqlite3_api->str_value +/* Version 3.25.0 and later */ +#define sqlite3_create_window_function sqlite3_api->create_window_function +/* Version 3.26.0 and later */ +#define sqlite3_normalized_sql sqlite3_api->normalized_sql #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -113918,6 +118773,7 @@ typedef int (*sqlite3_loadext_entry)( # define sqlite3_declare_vtab 0 # define sqlite3_vtab_config 0 # define sqlite3_vtab_on_conflict 0 +# define sqlite3_vtab_collation 0 #endif #ifdef SQLITE_OMIT_SHARED_CACHE @@ -114268,7 +119124,30 @@ static const sqlite3_api_routines sqlite3Apis = { /* Version 3.22.0 and later */ sqlite3_vtab_nochange, sqlite3_value_nochange, - sqlite3_vtab_collation + sqlite3_vtab_collation, + /* Version 3.24.0 and later */ + sqlite3_keyword_count, + sqlite3_keyword_name, + sqlite3_keyword_check, + sqlite3_str_new, + sqlite3_str_finish, + sqlite3_str_appendf, + sqlite3_str_vappendf, + sqlite3_str_append, + sqlite3_str_appendall, + sqlite3_str_appendchar, + sqlite3_str_reset, + sqlite3_str_errcode, + sqlite3_str_length, + sqlite3_str_value, + /* Version 3.25.0 and later */ + sqlite3_create_window_function, + /* Version 3.26.0 and later */ +#ifdef SQLITE_ENABLE_NORMALIZE + sqlite3_normalized_sql +#else + 0 +#endif }; /* @@ -114334,10 +119213,8 @@ static int sqlite3LoadExtension( #if SQLITE_OS_UNIX || SQLITE_OS_WIN for(ii=0; iiflags & pPragma->iArg)!=0 ); }else{ - int mask = pPragma->iArg; /* Mask of bits to set or clear. */ + u64 mask = pPragma->iArg; /* Mask of bits to set or clear. */ if( db->autoCommit==0 ){ /* Foreign key support may not be enabled or disabled while not ** in auto-commit mode. */ @@ -116379,15 +121276,17 @@ SQLITE_PRIVATE void sqlite3Pragma( Table *pTab; pTab = sqlite3LocateTable(pParse, LOCATE_NOERR, zRight, zDb); if( pTab ){ + int iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); int i, k; int nHidden = 0; Column *pCol; Index *pPk = sqlite3PrimaryKeyIndex(pTab); - pParse->nMem = 6; - sqlite3CodeVerifySchema(pParse, iDb); + pParse->nMem = 7; + sqlite3CodeVerifySchema(pParse, iTabDb); sqlite3ViewGetColumnNames(pParse, pTab); for(i=0, pCol=pTab->aCol; inCol; i++, pCol++){ - if( IsHiddenColumn(pCol) ){ + int isHidden = IsHiddenColumn(pCol); + if( isHidden && pPragma->iArg==0 ){ nHidden++; continue; } @@ -116399,13 +121298,14 @@ SQLITE_PRIVATE void sqlite3Pragma( for(k=1; k<=pTab->nCol && pPk->aiColumn[k-1]!=i; k++){} } assert( pCol->pDflt==0 || pCol->pDflt->op==TK_SPAN ); - sqlite3VdbeMultiLoad(v, 1, "issisi", + sqlite3VdbeMultiLoad(v, 1, pPragma->iArg ? "issisii" : "issisi", i-nHidden, pCol->zName, sqlite3ColumnType(pCol,""), pCol->notNull ? 1 : 0, pCol->pDflt ? pCol->pDflt->u.zToken : 0, - k); + k, + isHidden); } } } @@ -116443,6 +121343,7 @@ SQLITE_PRIVATE void sqlite3Pragma( Table *pTab; pIdx = sqlite3FindIndex(db, zRight, zDb); if( pIdx ){ + int iIdxDb = sqlite3SchemaToIndex(db, pIdx->pSchema); int i; int mx; if( pPragma->iArg ){ @@ -116455,7 +121356,7 @@ SQLITE_PRIVATE void sqlite3Pragma( pParse->nMem = 3; } pTab = pIdx->pTable; - sqlite3CodeVerifySchema(pParse, iDb); + sqlite3CodeVerifySchema(pParse, iIdxDb); assert( pParse->nMem<=pPragma->nPragCName ); for(i=0; iaiColumn[i]; @@ -116479,8 +121380,9 @@ SQLITE_PRIVATE void sqlite3Pragma( int i; pTab = sqlite3FindTable(db, zRight, zDb); if( pTab ){ + int iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); pParse->nMem = 5; - sqlite3CodeVerifySchema(pParse, iDb); + sqlite3CodeVerifySchema(pParse, iTabDb); for(pIdx=pTab->pIndex, i=0; pIdx; pIdx=pIdx->pNext, i++){ const char *azOrigin[] = { "c", "u", "pk" }; sqlite3VdbeMultiLoad(v, 1, "isisi", @@ -116527,6 +121429,7 @@ SQLITE_PRIVATE void sqlite3Pragma( pParse->nMem = 2; for(i=0; iu.pHash ){ + if( p->funcFlags & SQLITE_FUNC_INTERNAL ) continue; sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 1); } } @@ -116568,9 +121471,10 @@ SQLITE_PRIVATE void sqlite3Pragma( if( pTab ){ pFK = pTab->pFKey; if( pFK ){ + int iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); int i = 0; pParse->nMem = 8; - sqlite3CodeVerifySchema(pParse, iDb); + sqlite3CodeVerifySchema(pParse, iTabDb); while(pFK){ int j; for(j=0; jnCol; j++){ @@ -116615,9 +121519,9 @@ SQLITE_PRIVATE void sqlite3Pragma( pParse->nMem += 4; regKey = ++pParse->nMem; regRow = ++pParse->nMem; - sqlite3CodeVerifySchema(pParse, iDb); k = sqliteHashFirst(&db->aDb[iDb].pSchema->tblHash); while( k ){ + int iTabDb; if( zRight ){ pTab = sqlite3LocateTable(pParse, 0, zRight, zDb); k = 0; @@ -116626,21 +121530,23 @@ SQLITE_PRIVATE void sqlite3Pragma( k = sqliteHashNext(k); } if( pTab==0 || pTab->pFKey==0 ) continue; - sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); + iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); + sqlite3CodeVerifySchema(pParse, iTabDb); + sqlite3TableLock(pParse, iTabDb, pTab->tnum, 0, pTab->zName); if( pTab->nCol+regRow>pParse->nMem ) pParse->nMem = pTab->nCol + regRow; - sqlite3OpenTable(pParse, 0, iDb, pTab, OP_OpenRead); + sqlite3OpenTable(pParse, 0, iTabDb, pTab, OP_OpenRead); sqlite3VdbeLoadString(v, regResult, pTab->zName); for(i=1, pFK=pTab->pFKey; pFK; i++, pFK=pFK->pNextFrom){ pParent = sqlite3FindTable(db, pFK->zTo, zDb); if( pParent==0 ) continue; pIdx = 0; - sqlite3TableLock(pParse, iDb, pParent->tnum, 0, pParent->zName); + sqlite3TableLock(pParse, iTabDb, pParent->tnum, 0, pParent->zName); x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, 0); if( x==0 ){ if( pIdx==0 ){ - sqlite3OpenTable(pParse, i, iDb, pParent, OP_OpenRead); + sqlite3OpenTable(pParse, i, iTabDb, pParent, OP_OpenRead); }else{ - sqlite3VdbeAddOp3(v, OP_OpenRead, i, pIdx->tnum, iDb); + sqlite3VdbeAddOp3(v, OP_OpenRead, i, pIdx->tnum, iTabDb); sqlite3VdbeSetP4KeyInfo(pParse, pIdx); } }else{ @@ -116843,7 +121749,6 @@ SQLITE_PRIVATE void sqlite3Pragma( if( pTab->tnum<1 ) continue; /* Skip VIEWs or VIRTUAL TABLEs */ pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); - sqlite3ExprCacheClear(pParse); sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenRead, 0, 1, 0, &iDataCur, &iIdxCur); /* reg[7] counts the number of entries in the table. @@ -116857,6 +121762,11 @@ SQLITE_PRIVATE void sqlite3Pragma( assert( sqlite3NoTempsInRange(pParse,1,7+j) ); sqlite3VdbeAddOp2(v, OP_Rewind, iDataCur, 0); VdbeCoverage(v); loopTop = sqlite3VdbeAddOp2(v, OP_AddImm, 7, 1); + if( !isQuick ){ + /* Sanity check on record header decoding */ + sqlite3VdbeAddOp3(v, OP_Column, iDataCur, pTab->nCol-1, 3); + sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG); + } /* Verify that all NOT NULL columns really are NOT NULL */ for(j=0; jnCol; j++){ char *zErr; @@ -116881,7 +121791,6 @@ SQLITE_PRIVATE void sqlite3Pragma( char *zErr; int k; pParse->iSelfTab = iDataCur + 1; - sqlite3ExprCachePush(pParse); for(k=pCheck->nExpr-1; k>0; k--){ sqlite3ExprIfFalse(pParse, pCheck->a[k].pExpr, addrCkFault, 0); } @@ -116894,14 +121803,10 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, zErr, P4_DYNAMIC); integrityCheckResultRow(v); sqlite3VdbeResolveLabel(v, addrCkOk); - sqlite3ExprCachePop(pParse); } sqlite3ExprListDelete(db, pCheck); } if( !isQuick ){ /* Omit the remaining tests for quick_check */ - /* Sanity check on record header decoding */ - sqlite3VdbeAddOp3(v, OP_Column, iDataCur, pTab->nCol-1, 3); - sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG); /* Validate index entries for the current row */ for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ int jmp2, jmp3, jmp4, jmp5; @@ -117410,12 +122315,24 @@ SQLITE_PRIVATE void sqlite3Pragma( #endif #ifdef SQLITE_HAS_CODEC + /* Pragma iArg + ** ---------- ------ + ** key 0 + ** rekey 1 + ** hexkey 2 + ** hexrekey 3 + ** textkey 4 + ** textrekey 5 + */ case PragTyp_KEY: { - if( zRight ) sqlite3_key_v2(db, zDb, zRight, sqlite3Strlen30(zRight)); - break; - } - case PragTyp_REKEY: { - if( zRight ) sqlite3_rekey_v2(db, zDb, zRight, sqlite3Strlen30(zRight)); + if( zRight ){ + int n = pPragma->iArg<4 ? sqlite3Strlen30(zRight) : -1; + if( (pPragma->iArg & 1)==0 ){ + sqlite3_key_v2(db, zDb, zRight, n); + }else{ + sqlite3_rekey_v2(db, zDb, zRight, n); + } + } break; } case PragTyp_HEXKEY: { @@ -117427,7 +122344,7 @@ SQLITE_PRIVATE void sqlite3Pragma( iByte = (iByte<<4) + sqlite3HexToInt(zRight[i]); if( (i&1)!=0 ) zKey[i/2] = iByte; } - if( (zLeft[3] & 0xf)==0xb ){ + if( (pPragma->iArg & 1)==0 ){ sqlite3_key_v2(db, zDb, zKey, i/2); }else{ sqlite3_rekey_v2(db, zDb, zKey, i/2); @@ -117509,26 +122426,25 @@ static int pragmaVtabConnect( UNUSED_PARAMETER(argc); UNUSED_PARAMETER(argv); sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0); - sqlite3StrAccumAppendAll(&acc, "CREATE TABLE x"); + sqlite3_str_appendall(&acc, "CREATE TABLE x"); for(i=0, j=pPragma->iPragCName; inPragCName; i++, j++){ - sqlite3XPrintf(&acc, "%c\"%s\"", cSep, pragCName[j]); + sqlite3_str_appendf(&acc, "%c\"%s\"", cSep, pragCName[j]); cSep = ','; } if( i==0 ){ - sqlite3XPrintf(&acc, "(\"%s\"", pPragma->zName); - cSep = ','; + sqlite3_str_appendf(&acc, "(\"%s\"", pPragma->zName); i++; } j = 0; if( pPragma->mPragFlg & PragFlg_Result1 ){ - sqlite3StrAccumAppendAll(&acc, ",arg HIDDEN"); + sqlite3_str_appendall(&acc, ",arg HIDDEN"); j++; } if( pPragma->mPragFlg & (PragFlg_SchemaOpt|PragFlg_SchemaReq) ){ - sqlite3StrAccumAppendAll(&acc, ",schema HIDDEN"); + sqlite3_str_appendall(&acc, ",schema HIDDEN"); j++; } - sqlite3StrAccumAppend(&acc, ")", 1); + sqlite3_str_append(&acc, ")", 1); sqlite3StrAccumFinish(&acc); assert( strlen(zBuf) < sizeof(zBuf)-1 ); rc = sqlite3_declare_vtab(db, zBuf); @@ -117680,13 +122596,13 @@ static int pragmaVtabFilter( } } sqlite3StrAccumInit(&acc, 0, 0, 0, pTab->db->aLimit[SQLITE_LIMIT_SQL_LENGTH]); - sqlite3StrAccumAppendAll(&acc, "PRAGMA "); + sqlite3_str_appendall(&acc, "PRAGMA "); if( pCsr->azArg[1] ){ - sqlite3XPrintf(&acc, "%Q.", pCsr->azArg[1]); + sqlite3_str_appendf(&acc, "%Q.", pCsr->azArg[1]); } - sqlite3StrAccumAppendAll(&acc, pTab->pName->zName); + sqlite3_str_appendall(&acc, pTab->pName->zName); if( pCsr->azArg[0] ){ - sqlite3XPrintf(&acc, "=%Q", pCsr->azArg[0]); + sqlite3_str_appendf(&acc, "=%Q", pCsr->azArg[0]); } zSql = sqlite3StrAccumFinish(&acc); if( zSql==0 ) return SQLITE_NOMEM; @@ -117758,7 +122674,8 @@ static const sqlite3_module pragmaVtabModule = { 0, /* xRename - rename the table */ 0, /* xSavepoint */ 0, /* xRelease */ - 0 /* xRollbackTo */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ }; /* @@ -117809,15 +122726,23 @@ static void corruptSchema( const char *zExtra /* Error information */ ){ sqlite3 *db = pData->db; - if( !db->mallocFailed && (db->flags & SQLITE_WriteSchema)==0 ){ + if( db->mallocFailed ){ + pData->rc = SQLITE_NOMEM_BKPT; + }else if( pData->pzErrMsg[0]!=0 ){ + /* A error message has already been generated. Do not overwrite it */ + }else if( pData->mInitFlags & INITFLAG_AlterTable ){ + *pData->pzErrMsg = sqlite3DbStrDup(db, zExtra); + pData->rc = SQLITE_ERROR; + }else if( db->flags & SQLITE_WriteSchema ){ + pData->rc = SQLITE_CORRUPT_BKPT; + }else{ char *z; if( zObj==0 ) zObj = "?"; z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj); - if( zExtra ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra); - sqlite3DbFree(db, *pData->pzErrMsg); + if( zExtra && zExtra[0] ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra); *pData->pzErrMsg = z; + pData->rc = SQLITE_CORRUPT_BKPT; } - pData->rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_CORRUPT_BKPT; } /* @@ -117869,7 +122794,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char rc = db->errCode; assert( (rc&0xFF)==(rcp&0xFF) ); db->init.iDb = saved_iDb; - assert( saved_iDb==0 || (db->mDbFlags & DBFLAG_Vacuum)!=0 ); + /* assert( saved_iDb==0 || (db->mDbFlags & DBFLAG_Vacuum)!=0 ); */ if( SQLITE_OK!=rc ){ if( db->init.orphanTrigger ){ assert( iDb==1 ); @@ -117916,7 +122841,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char ** auxiliary databases. Return one of the SQLITE_ error codes to ** indicate success or failure. */ -static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ +SQLITE_PRIVATE int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFlags){ int rc; int i; #ifndef SQLITE_OMIT_DEPRECATED @@ -117929,6 +122854,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ const char *zMasterName; int openedTransaction = 0; + assert( (db->mDbFlags & DBFLAG_SchemaKnownOk)==0 ); assert( iDb>=0 && iDbnDb ); assert( db->aDb[iDb].pSchema ); assert( sqlite3_mutex_held(db->mutex) ); @@ -117950,6 +122876,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ initData.iDb = iDb; initData.rc = SQLITE_OK; initData.pzErrMsg = pzErrMsg; + initData.mInitFlags = mFlags; sqlite3InitCallback(&initData, 3, (char **)azArg, 0); if( initData.rc ){ rc = initData.rc; @@ -117971,7 +122898,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ ** will be closed before this function returns. */ sqlite3BtreeEnter(pDb->pBt); if( !sqlite3BtreeIsInReadTrans(pDb->pBt) ){ - rc = sqlite3BtreeBeginTrans(pDb->pBt, 0); + rc = sqlite3BtreeBeginTrans(pDb->pBt, 0, 0); if( rc!=SQLITE_OK ){ sqlite3SetString(pzErrMsg, db, sqlite3ErrStr(rc)); goto initone_error_out; @@ -117999,6 +122926,9 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ for(i=0; ipBt, i+1, (u32 *)&meta[i]); } + if( (db->flags & SQLITE_ResetDatabase)!=0 ){ + memset(meta, 0, sizeof(meta)); + } pDb->pSchema->schema_cookie = meta[BTREE_SCHEMA_VERSION-1]; /* If opening a non-empty database, check the text encoding. For the @@ -118098,8 +123028,8 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ rc = SQLITE_NOMEM_BKPT; sqlite3ResetAllSchemasOfConnection(db); } - if( rc==SQLITE_OK || (db->flags&SQLITE_WriteSchema)){ - /* Black magic: If the SQLITE_WriteSchema flag is set, then consider + if( rc==SQLITE_OK || (db->flags&SQLITE_NoSchemaError)){ + /* Black magic: If the SQLITE_NoSchemaError flag is set, then consider ** the schema loaded, even if errors occurred. In this situation the ** current sqlite3_prepare() operation will fail, but the following one ** will attempt to compile the supplied statement against whatever subset @@ -118153,13 +123083,14 @@ SQLITE_PRIVATE int sqlite3Init(sqlite3 *db, char **pzErrMsg){ assert( db->nDb>0 ); /* Do the main schema first */ if( !DbHasProperty(db, 0, DB_SchemaLoaded) ){ - rc = sqlite3InitOne(db, 0, pzErrMsg); + rc = sqlite3InitOne(db, 0, pzErrMsg, 0); if( rc ) return rc; } /* All other schemas after the main schema. The "temp" schema must be last */ for(i=db->nDb-1; i>0; i--){ + assert( i==1 || sqlite3BtreeHoldsMutex(db->aDb[i].pBt) ); if( !DbHasProperty(db, i, DB_SchemaLoaded) ){ - rc = sqlite3InitOne(db, i, pzErrMsg); + rc = sqlite3InitOne(db, i, pzErrMsg, 0); if( rc ) return rc; } } @@ -118179,10 +123110,12 @@ SQLITE_PRIVATE int sqlite3ReadSchema(Parse *pParse){ assert( sqlite3_mutex_held(db->mutex) ); if( !db->init.busy ){ rc = sqlite3Init(db, &pParse->zErrMsg); - } - if( rc!=SQLITE_OK ){ - pParse->rc = rc; - pParse->nErr++; + if( rc!=SQLITE_OK ){ + pParse->rc = rc; + pParse->nErr++; + }else if( db->noSharedCache ){ + db->mDbFlags |= DBFLAG_SchemaKnownOk; + } } return rc; } @@ -118210,7 +123143,7 @@ static void schemaIsValid(Parse *pParse){ ** on the b-tree database, open one now. If a transaction is opened, it ** will be closed immediately after reading the meta-value. */ if( !sqlite3BtreeIsInReadTrans(pBt) ){ - rc = sqlite3BtreeBeginTrans(pBt, 0); + rc = sqlite3BtreeBeginTrans(pBt, 0, 0); if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ sqlite3OomFault(db); } @@ -118393,7 +123326,7 @@ static int sqlite3Prepare( if( rc==SQLITE_OK && sParse.pVdbe && sParse.explain ){ static const char * const azColName[] = { "addr", "opcode", "p1", "p2", "p3", "p4", "p5", "comment", - "selectid", "order", "from", "detail" + "id", "parent", "notused", "detail" }; int iFirst, mx; if( sParse.explain==2 ){ @@ -118477,6 +123410,294 @@ 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. ** @@ -118707,8 +123928,7 @@ SQLITE_API int sqlite3_prepare16_v3( /***/ int sqlite3SelectTrace = 0; # define SELECTTRACE(K,P,S,X) \ if(sqlite3SelectTrace&(K)) \ - sqlite3DebugPrintf("%*s%s.%p: ",(P)->nSelectIndent*2-2,"",\ - (S)->zSelName,(S)),\ + sqlite3DebugPrintf("%u/%d/%p: ",(S)->selId,(P)->addrExplain,(S)),\ sqlite3DebugPrintf X #else # define SELECTTRACE(K,P,S,X) @@ -118731,6 +123951,20 @@ struct DistinctCtx { /* ** An instance of the following object is used to record information about ** the ORDER BY (or GROUP BY) clause of query is being coded. +** +** The aDefer[] array is used by the sorter-references optimization. For +** example, assuming there is no index that can be used for the ORDER BY, +** for the query: +** +** SELECT a, bigblob FROM t1 ORDER BY a LIMIT 10; +** +** it may be more efficient to add just the "a" values to the sorter, and +** retrieve the associated "bigblob" values directly from table t1 as the +** 10 smallest "a" values are extracted from the sorter. +** +** When the sorter-reference optimization is used, there is one entry in the +** aDefer[] array for each database table that may be read as values are +** extracted from the sorter. */ typedef struct SortCtx SortCtx; struct SortCtx { @@ -118741,8 +123975,17 @@ struct SortCtx { int labelBkOut; /* Start label for the block-output subroutine */ int addrSortIndex; /* Address of the OP_SorterOpen or OP_OpenEphemeral */ int labelDone; /* Jump here when done, ex: LIMIT reached */ + int labelOBLopt; /* Jump here when sorter is full */ u8 sortFlags; /* Zero or more SORTFLAG_* bits */ - u8 bOrderedInnerLoop; /* ORDER BY correctly sorts the inner loop */ +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + u8 nDefer; /* Number of valid entries in aDefer[] */ + struct DeferredCsr { + Table *pTab; /* Table definition */ + int iCsr; /* Cursor number for table */ + int nKey; /* Number of PK columns for table pTab (>=1) */ + } aDefer[4]; +#endif + struct RowLoadInfo *pDeferredRowLoad; /* Deferred row loading info or NULL */ }; #define SORTFLAG_UseSorter 0x01 /* Use SorterOpen instead of OpenEphemeral */ @@ -118760,6 +124003,11 @@ static void clearSelect(sqlite3 *db, Select *p, int bFree){ sqlite3ExprDelete(db, p->pHaving); sqlite3ExprListDelete(db, p->pOrderBy); sqlite3ExprDelete(db, p->pLimit); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( OK_IF_ALWAYS_TRUE(p->pWinDefn) ){ + sqlite3WindowListDelete(db, p->pWinDefn); + } +#endif if( OK_IF_ALWAYS_TRUE(p->pWith) ) sqlite3WithDelete(db, p->pWith); if( bFree ) sqlite3DbFreeNN(db, p); p = pPrior; @@ -118810,9 +124058,7 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( pNew->selFlags = selFlags; pNew->iLimit = 0; pNew->iOffset = 0; -#if SELECTTRACE_ENABLED - pNew->zSelName[0] = 0; -#endif + pNew->selId = ++pParse->nSelect; pNew->addrOpenEphm[0] = -1; pNew->addrOpenEphm[1] = -1; pNew->nSelectRow = 0; @@ -118826,6 +124072,10 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( pNew->pNext = 0; pNew->pLimit = pLimit; pNew->pWith = 0; +#ifndef SQLITE_OMIT_WINDOWFUNC + pNew->pWin = 0; + pNew->pWinDefn = 0; +#endif if( pParse->db->mallocFailed ) { clearSelect(pParse->db, pNew, pNew!=&standin); pNew = 0; @@ -118836,17 +124086,6 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( return pNew; } -#if SELECTTRACE_ENABLED -/* -** Set the name of a Select object -*/ -SQLITE_PRIVATE void sqlite3SelectSetName(Select *p, const char *zName){ - if( p && zName ){ - sqlite3_snprintf(sizeof(p->zSelName), p->zSelName, "%s", zName); - } -} -#endif - /* ** Delete the given Select structure and all of its substructures. @@ -119069,6 +124308,29 @@ static void setJoinExpr(Expr *p, int iTable){ } } +/* Undo the work of setJoinExpr(). In the expression tree p, convert every +** term that is marked with EP_FromJoin and iRightJoinTable==iTable into +** an ordinary term that omits the EP_FromJoin mark. +** +** This happens when a LEFT JOIN is simplified into an ordinary JOIN. +*/ +static void unsetJoinExpr(Expr *p, int iTable){ + while( p ){ + if( ExprHasProperty(p, EP_FromJoin) + && (iTable<0 || p->iRightJoinTable==iTable) ){ + ExprClearProperty(p, EP_FromJoin); + } + if( p->op==TK_FUNCTION && p->x.pList ){ + int i; + for(i=0; ix.pList->nExpr; i++){ + unsetJoinExpr(p->x.pList->a[i].pExpr, iTable); + } + } + unsetJoinExpr(p->pLeft, iTable); + p = p->pRight; + } +} + /* ** This routine processes the join information for a SELECT statement. ** ON and USING clauses are converted into extra terms of the WHERE clause. @@ -119170,13 +124432,61 @@ static int sqliteProcessJoin(Parse *pParse, Select *p){ return 0; } -/* Forward reference */ -static KeyInfo *keyInfoFromExprList( - Parse *pParse, /* Parsing context */ - ExprList *pList, /* Form the KeyInfo object from this ExprList */ - int iStart, /* Begin with this column of pList */ - int nExtra /* Add this many extra columns to the end */ -); +/* +** An instance of this object holds information (beyond pParse and pSelect) +** needed to load the next result row that is to be added to the sorter. +*/ +typedef struct RowLoadInfo RowLoadInfo; +struct RowLoadInfo { + int regResult; /* Store results in array of registers here */ + u8 ecelFlags; /* Flag argument to ExprCodeExprList() */ +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + ExprList *pExtra; /* Extra columns needed by sorter refs */ + int regExtraResult; /* Where to load the extra columns */ +#endif +}; + +/* +** This routine does the work of loading query data into an array of +** registers so that it can be added to the sorter. +*/ +static void innerLoopLoadRow( + Parse *pParse, /* Statement under construction */ + Select *pSelect, /* The query being coded */ + RowLoadInfo *pInfo /* Info needed to complete the row load */ +){ + sqlite3ExprCodeExprList(pParse, pSelect->pEList, pInfo->regResult, + 0, pInfo->ecelFlags); +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + if( pInfo->pExtra ){ + sqlite3ExprCodeExprList(pParse, pInfo->pExtra, pInfo->regExtraResult, 0, 0); + sqlite3ExprListDelete(pParse->db, pInfo->pExtra); + } +#endif +} + +/* +** Code the OP_MakeRecord instruction that generates the entry to be +** added into the sorter. +** +** Return the register in which the result is stored. +*/ +static int makeSorterRecord( + Parse *pParse, + SortCtx *pSort, + Select *pSelect, + int regBase, + int nBase +){ + int nOBSat = pSort->nOBSat; + Vdbe *v = pParse->pVdbe; + int regOut = ++pParse->nMem; + if( pSort->pDeferredRowLoad ){ + innerLoopLoadRow(pParse, pSelect, pSort->pDeferredRowLoad); + } + sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase+nOBSat, nBase-nOBSat, regOut); + return regOut; +} /* ** Generate code that will push the record in registers regData @@ -119188,7 +124498,7 @@ static void pushOntoSorter( Select *pSelect, /* The whole SELECT statement */ int regData, /* First register holding data to be sorted */ int regOrigData, /* First register holding data before packing */ - int nData, /* Number of elements in the data array */ + int nData, /* Number of elements in the regData data array */ int nPrefixReg /* No. of reg prior to regData available for use */ ){ Vdbe *v = pParse->pVdbe; /* Stmt under construction */ @@ -119196,16 +124506,32 @@ static void pushOntoSorter( int nExpr = pSort->pOrderBy->nExpr; /* No. of ORDER BY terms */ int nBase = nExpr + bSeq + nData; /* Fields in sorter record */ int regBase; /* Regs for sorter record */ - int regRecord = ++pParse->nMem; /* Assembled sorter record */ + int regRecord = 0; /* Assembled sorter record */ int nOBSat = pSort->nOBSat; /* ORDER BY terms to skip */ int op; /* Opcode to add sorter record to sorter */ int iLimit; /* LIMIT counter */ + int iSkip = 0; /* End of the sorter insert loop */ assert( bSeq==0 || bSeq==1 ); + + /* Three cases: + ** (1) The data to be sorted has already been packed into a Record + ** by a prior OP_MakeRecord. In this case nData==1 and regData + ** will be completely unrelated to regOrigData. + ** (2) All output columns are included in the sort record. In that + ** case regData==regOrigData. + ** (3) Some output columns are omitted from the sort record due to + ** the SQLITE_ENABLE_SORTER_REFERENCE optimization, or due to the + ** SQLITE_ECEL_OMITREF optimization, or due to the + ** SortCtx.pDeferredRowLoad optimiation. In any of these cases + ** regOrigData is 0 to prevent this routine from trying to copy + ** values that might not yet exist. + */ assert( nData==1 || regData==regOrigData || regOrigData==0 ); + if( nPrefixReg ){ assert( nPrefixReg==nExpr+bSeq ); - regBase = regData - nExpr - bSeq; + regBase = regData - nPrefixReg; }else{ regBase = pParse->nMem + 1; pParse->nMem += nBase; @@ -119221,7 +124547,6 @@ static void pushOntoSorter( if( nPrefixReg==0 && nData>0 ){ sqlite3ExprCodeMove(pParse, regData, regBase+nExpr+bSeq, nData); } - sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase+nOBSat, nBase-nOBSat, regRecord); if( nOBSat>0 ){ int regPrevKey; /* The first nOBSat columns of the previous row */ int addrFirst; /* Address of the OP_IfNot opcode */ @@ -119230,6 +124555,7 @@ static void pushOntoSorter( int nKey; /* Number of sorting key columns, including OP_Sequence */ KeyInfo *pKI; /* Original KeyInfo on the sorter table */ + regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase); regPrevKey = pParse->nMem+1; pParse->nMem += pSort->nOBSat; nKey = nExpr - pSort->nOBSat + bSeq; @@ -119247,7 +124573,7 @@ static void pushOntoSorter( memset(pKI->aSortOrder, 0, pKI->nKeyField); /* Makes OP_Jump testable */ sqlite3VdbeChangeP4(v, -1, (char*)pKI, P4_KEYINFO); testcase( pKI->nAllField > pKI->nKeyField+2 ); - pOp->p4.pKeyInfo = keyInfoFromExprList(pParse, pSort->pOrderBy, nOBSat, + 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); @@ -119263,6 +124589,34 @@ static void pushOntoSorter( sqlite3ExprCodeMove(pParse, regBase, regPrevKey, pSort->nOBSat); sqlite3VdbeJumpHere(v, addrJmp); } + if( iLimit ){ + /* At this point the values for the new sorter entry are stored + ** in an array of registers. They need to be composed into a record + ** and inserted into the sorter if either (a) there are currently + ** less than LIMIT+OFFSET items or (b) the new record is smaller than + ** the largest record currently in the sorter. If (b) is true and there + ** are already LIMIT+OFFSET items in the sorter, delete the largest + ** entry before inserting the new one. This way there are never more + ** than LIMIT+OFFSET items in the sorter. + ** + ** If the new record does not need to be inserted into the sorter, + ** jump to the next iteration of the loop. If the pSort->labelOBLopt + ** value is not zero, then it is a label of where to jump. Otherwise, + ** just bypass the row insert logic. See the header comment on the + ** sqlite3WhereOrderByLimitOptLabel() function for additional info. + */ + int iCsr = pSort->iECursor; + sqlite3VdbeAddOp2(v, OP_IfNotZero, iLimit, sqlite3VdbeCurrentAddr(v)+4); + VdbeCoverage(v); + sqlite3VdbeAddOp2(v, OP_Last, iCsr, 0); + iSkip = sqlite3VdbeAddOp4Int(v, OP_IdxLE, + iCsr, 0, regBase+nOBSat, nExpr-nOBSat); + VdbeCoverage(v); + sqlite3VdbeAddOp1(v, OP_Delete, iCsr); + } + if( regRecord==0 ){ + regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase); + } if( pSort->sortFlags & SORTFLAG_UseSorter ){ op = OP_SorterInsert; }else{ @@ -119270,33 +124624,9 @@ static void pushOntoSorter( } sqlite3VdbeAddOp4Int(v, op, pSort->iECursor, regRecord, regBase+nOBSat, nBase-nOBSat); - if( iLimit ){ - int addr; - int r1 = 0; - /* Fill the sorter until it contains LIMIT+OFFSET entries. (The iLimit - ** register is initialized with value of LIMIT+OFFSET.) After the sorter - ** fills up, delete the least entry in the sorter after each insert. - ** Thus we never hold more than the LIMIT+OFFSET rows in memory at once */ - addr = sqlite3VdbeAddOp1(v, OP_IfNotZero, iLimit); VdbeCoverage(v); - sqlite3VdbeAddOp1(v, OP_Last, pSort->iECursor); - if( pSort->bOrderedInnerLoop ){ - r1 = ++pParse->nMem; - sqlite3VdbeAddOp3(v, OP_Column, pSort->iECursor, nExpr, r1); - VdbeComment((v, "seq")); - } - sqlite3VdbeAddOp1(v, OP_Delete, pSort->iECursor); - if( pSort->bOrderedInnerLoop ){ - /* If the inner loop is driven by an index such that values from - ** the same iteration of the inner loop are in sorted order, then - ** immediately jump to the next iteration of an inner loop if the - ** entry from the current iteration does not fit into the top - ** LIMIT+OFFSET entries of the sorter. */ - int iBrk = sqlite3VdbeCurrentAddr(v) + 2; - sqlite3VdbeAddOp3(v, OP_Eq, regBase+nExpr, iBrk, r1); - sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); - VdbeCoverage(v); - } - sqlite3VdbeJumpHere(v, addr); + if( iSkip ){ + sqlite3VdbeChangeP2(v, iSkip, + pSort->labelOBLopt ? pSort->labelOBLopt : sqlite3VdbeCurrentAddr(v)); } } @@ -119342,6 +124672,87 @@ static void codeDistinct( sqlite3ReleaseTempReg(pParse, r1); } +#ifdef SQLITE_ENABLE_SORTER_REFERENCES +/* +** This function is called as part of inner-loop generation for a SELECT +** statement with an ORDER BY that is not optimized by an index. It +** determines the expressions, if any, that the sorter-reference +** optimization should be used for. The sorter-reference optimization +** is used for SELECT queries like: +** +** SELECT a, bigblob FROM t1 ORDER BY a LIMIT 10 +** +** If the optimization is used for expression "bigblob", then instead of +** storing values read from that column in the sorter records, the PK of +** the row from table t1 is stored instead. Then, as records are extracted from +** the sorter to return to the user, the required value of bigblob is +** retrieved directly from table t1. If the values are very large, this +** can be more efficient than storing them directly in the sorter records. +** +** The ExprList_item.bSorterRef flag is set for each expression in pEList +** for which the sorter-reference optimization should be enabled. +** Additionally, the pSort->aDefer[] array is populated with entries +** for all cursors required to evaluate all selected expressions. Finally. +** output variable (*ppExtra) is set to an expression list containing +** expressions for all extra PK values that should be stored in the +** sorter records. +*/ +static void selectExprDefer( + Parse *pParse, /* Leave any error here */ + SortCtx *pSort, /* Sorter context */ + ExprList *pEList, /* Expressions destined for sorter */ + ExprList **ppExtra /* Expressions to append to sorter record */ +){ + int i; + int nDefer = 0; + ExprList *pExtra = 0; + for(i=0; inExpr; i++){ + struct ExprList_item *pItem = &pEList->a[i]; + if( pItem->u.x.iOrderByCol==0 ){ + Expr *pExpr = pItem->pExpr; + Table *pTab = pExpr->y.pTab; + if( pExpr->op==TK_COLUMN && pExpr->iColumn>=0 && pTab && !IsVirtual(pTab) + && (pTab->aCol[pExpr->iColumn].colFlags & COLFLAG_SORTERREF) + ){ + int j; + for(j=0; jaDefer[j].iCsr==pExpr->iTable ) break; + } + if( j==nDefer ){ + if( nDefer==ArraySize(pSort->aDefer) ){ + continue; + }else{ + int nKey = 1; + int k; + Index *pPk = 0; + if( !HasRowid(pTab) ){ + pPk = sqlite3PrimaryKeyIndex(pTab); + nKey = pPk->nKeyCol; + } + for(k=0; kiTable = pExpr->iTable; + pNew->y.pTab = pExpr->y.pTab; + pNew->iColumn = pPk ? pPk->aiColumn[k] : -1; + pExtra = sqlite3ExprListAppend(pParse, pExtra, pNew); + } + } + pSort->aDefer[nDefer].pTab = pExpr->y.pTab; + pSort->aDefer[nDefer].iCsr = pExpr->iTable; + pSort->aDefer[nDefer].nKey = nKey; + nDefer++; + } + } + pItem->bSorterRef = 1; + } + } + } + pSort->nDefer = (u8)nDefer; + *ppExtra = pExtra; +} +#endif + /* ** This routine generates the code for the inside of the inner loop ** of a SELECT. @@ -119368,6 +124779,7 @@ static void selectInnerLoop( int iParm = pDest->iSDParm; /* First argument to disposal method */ int nResultCol; /* Number of result columns */ int nPrefixReg = 0; /* Number of extra registers before regResult */ + RowLoadInfo sRowLoadInfo; /* Info for deferred row loading */ /* Usually, regResult is the first cell in an array of memory cells ** containing the current result row. In this case regOrig is set to the @@ -119414,10 +124826,14 @@ static void selectInnerLoop( VdbeComment((v, "%s", p->pEList->a[i].zName)); } }else if( eDest!=SRT_Exists ){ +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + ExprList *pExtra = 0; +#endif /* If the destination is an EXISTS(...) expression, the actual ** values returned by the SELECT are not required. */ - u8 ecelFlags; + u8 ecelFlags; /* "ecel" is an abbreviation of "ExprCodeExprList" */ + ExprList *pEList; if( eDest==SRT_Mem || eDest==SRT_Output || eDest==SRT_Coroutine ){ ecelFlags = SQLITE_ECEL_DUP; }else{ @@ -119431,18 +124847,68 @@ static void selectInnerLoop( ** This allows the p->pEList field to be omitted from the sorted record, ** saving space and CPU cycles. */ ecelFlags |= (SQLITE_ECEL_OMITREF|SQLITE_ECEL_REF); + for(i=pSort->nOBSat; ipOrderBy->nExpr; i++){ int j; if( (j = pSort->pOrderBy->a[i].u.x.iOrderByCol)>0 ){ p->pEList->a[j-1].u.x.iOrderByCol = i+1-pSort->nOBSat; } } - regOrig = 0; +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + selectExprDefer(pParse, pSort, p->pEList, &pExtra); + if( pExtra && pParse->db->mallocFailed==0 ){ + /* If there are any extra PK columns to add to the sorter records, + ** allocate extra memory cells and adjust the OpenEphemeral + ** instruction to account for the larger records. This is only + ** required if there are one or more WITHOUT ROWID tables with + ** composite primary keys in the SortCtx.aDefer[] array. */ + VdbeOp *pOp = sqlite3VdbeGetOp(v, pSort->addrSortIndex); + pOp->p2 += (pExtra->nExpr - pSort->nDefer); + pOp->p4.pKeyInfo->nAllField += (pExtra->nExpr - pSort->nDefer); + pParse->nMem += pExtra->nExpr; + } +#endif + + /* Adjust nResultCol to account for columns that are omitted + ** from the sorter by the optimizations in this branch */ + pEList = p->pEList; + for(i=0; inExpr; i++){ + if( pEList->a[i].u.x.iOrderByCol>0 +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + || pEList->a[i].bSorterRef +#endif + ){ + nResultCol--; + regOrig = 0; + } + } + + testcase( regOrig ); + testcase( eDest==SRT_Set ); + testcase( eDest==SRT_Mem ); + testcase( eDest==SRT_Coroutine ); + testcase( eDest==SRT_Output ); assert( eDest==SRT_Set || eDest==SRT_Mem || eDest==SRT_Coroutine || eDest==SRT_Output ); } - nResultCol = sqlite3ExprCodeExprList(pParse,p->pEList,regResult, - 0,ecelFlags); + sRowLoadInfo.regResult = regResult; + sRowLoadInfo.ecelFlags = ecelFlags; +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + sRowLoadInfo.pExtra = pExtra; + sRowLoadInfo.regExtraResult = regResult + nResultCol; + if( pExtra ) nResultCol += pExtra->nExpr; +#endif + if( p->iLimit + && (ecelFlags & SQLITE_ECEL_OMITREF)!=0 + && nPrefixReg>0 + ){ + assert( pSort!=0 ); + assert( hasDistinct==0 ); + pSort->pDeferredRowLoad = &sRowLoadInfo; + regOrig = 0; + }else{ + innerLoopLoadRow(pParse, p, &sRowLoadInfo); + } } /* If the DISTINCT keyword was present on the SELECT statement @@ -119558,7 +125024,8 @@ static void selectInnerLoop( } #endif if( pSort ){ - pushOntoSorter(pParse, pSort, p, r1+nPrefixReg,regResult,1,nPrefixReg); + assert( regResult==regOrig ); + pushOntoSorter(pParse, pSort, p, r1+nPrefixReg, regOrig, 1, nPrefixReg); }else{ int r2 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp2(v, OP_NewRowid, iParm, r2); @@ -119588,7 +125055,6 @@ static void selectInnerLoop( assert( sqlite3Strlen30(pDest->zAffSdst)==nResultCol ); sqlite3VdbeAddOp4(v, OP_MakeRecord, regResult, nResultCol, r1, pDest->zAffSdst, nResultCol); - sqlite3ExprCacheAffinityChange(pParse, regResult, nResultCol); sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iParm, r1, regResult, nResultCol); sqlite3ReleaseTempReg(pParse, r1); } @@ -119632,7 +125098,6 @@ static void selectInnerLoop( sqlite3VdbeAddOp1(v, OP_Yield, pDest->iSDParm); }else{ sqlite3VdbeAddOp2(v, OP_ResultRow, regResult, nResultCol); - sqlite3ExprCacheAffinityChange(pParse, regResult, nResultCol); } break; } @@ -119775,7 +125240,7 @@ SQLITE_PRIVATE int sqlite3KeyInfoIsWriteable(KeyInfo *p){ return p->nRef==1; } ** function is responsible for seeing that this structure is eventually ** freed. */ -static KeyInfo *keyInfoFromExprList( +SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoFromExprList( Parse *pParse, /* Parsing context */ ExprList *pList, /* Form the KeyInfo object from this ExprList */ int iStart, /* Begin with this column of pList */ @@ -119825,11 +125290,7 @@ static const char *selectOpName(int id){ ** is determined by the zUsage argument. */ static void explainTempTable(Parse *pParse, const char *zUsage){ - if( pParse->explain==2 ){ - Vdbe *v = pParse->pVdbe; - char *zMsg = sqlite3MPrintf(pParse->db, "USE TEMP B-TREE FOR %s", zUsage); - sqlite3VdbeAddOp4(v, OP_Explain, pParse->iSelectId, 0, 0, zMsg, P4_DYNAMIC); - } + ExplainQueryPlan((pParse, 0, "USE TEMP B-TREE FOR %s", zUsage)); } /* @@ -119847,42 +125308,6 @@ static void explainTempTable(Parse *pParse, const char *zUsage){ # define explainSetInteger(y,z) #endif -#if !defined(SQLITE_OMIT_EXPLAIN) && !defined(SQLITE_OMIT_COMPOUND_SELECT) -/* -** Unless an "EXPLAIN QUERY PLAN" command is being processed, this function -** is a no-op. Otherwise, it adds a single row of output to the EQP result, -** where the caption is of one of the two forms: -** -** "COMPOSITE SUBQUERIES iSub1 and iSub2 (op)" -** "COMPOSITE SUBQUERIES iSub1 and iSub2 USING TEMP B-TREE (op)" -** -** where iSub1 and iSub2 are the integers passed as the corresponding -** function parameters, and op is the text representation of the parameter -** of the same name. The parameter "op" must be one of TK_UNION, TK_EXCEPT, -** TK_INTERSECT or TK_ALL. The first form is used if argument bUseTmp is -** false, or the second form if it is true. -*/ -static void explainComposite( - Parse *pParse, /* Parse context */ - int op, /* One of TK_UNION, TK_EXCEPT etc. */ - int iSub1, /* Subquery id 1 */ - int iSub2, /* Subquery id 2 */ - int bUseTmp /* True if a temp table was used */ -){ - assert( op==TK_UNION || op==TK_EXCEPT || op==TK_INTERSECT || op==TK_ALL ); - if( pParse->explain==2 ){ - Vdbe *v = pParse->pVdbe; - char *zMsg = sqlite3MPrintf( - pParse->db, "COMPOUND SUBQUERIES %d AND %d %s(%s)", iSub1, iSub2, - bUseTmp?"USING TEMP B-TREE ":"", selectOpName(op) - ); - sqlite3VdbeAddOp4(v, OP_Explain, pParse->iSelectId, 0, 0, zMsg, P4_DYNAMIC); - } -} -#else -/* No-op versions of the explainXXX() functions and macros. */ -# define explainComposite(v,w,x,y,z) -#endif /* ** If the inner loop was generated using a non-null pOrderBy argument, @@ -119900,7 +125325,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 addr; + int addr; /* Top of output loop. Jump for Next. */ int addrOnce = 0; int iTab; ExprList *pOrderBy = pSort->pOrderBy; @@ -119909,11 +125334,11 @@ static void generateSortTail( int regRow; int regRowid; int iCol; - int nKey; + int nKey; /* Number of key columns in sorter record */ int iSortTab; /* Sorter cursor to read from */ - int nSortData; /* Trailing values to read from sorter */ int i; int bSeq; /* True if sorter record includes seq. no. */ + int nRefKey = 0; struct ExprList_item *aOutEx = p->pEList->a; assert( addrBreak<0 ); @@ -119922,15 +125347,24 @@ static void generateSortTail( sqlite3VdbeGoto(v, addrBreak); sqlite3VdbeResolveLabel(v, pSort->labelBkOut); } + +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + /* Open any cursors needed for sorter-reference expressions */ + for(i=0; inDefer; i++){ + Table *pTab = pSort->aDefer[i].pTab; + int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); + sqlite3OpenTable(pParse, pSort->aDefer[i].iCsr, iDb, pTab, OP_OpenRead); + nRefKey = MAX(nRefKey, pSort->aDefer[i].nKey); + } +#endif + iTab = pSort->iECursor; if( eDest==SRT_Output || eDest==SRT_Coroutine || eDest==SRT_Mem ){ regRowid = 0; regRow = pDest->iSdst; - nSortData = nColumn; }else{ regRowid = sqlite3GetTempReg(pParse); regRow = sqlite3GetTempRange(pParse, nColumn); - nSortData = nColumn; } nKey = pOrderBy->nExpr - pSort->nOBSat; if( pSort->sortFlags & SORTFLAG_UseSorter ){ @@ -119939,7 +125373,8 @@ static void generateSortTail( if( pSort->labelBkOut ){ addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); } - sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, nKey+1+nSortData); + sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, + nKey+1+nColumn+nRefKey); if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); addr = 1 + sqlite3VdbeAddOp2(v, OP_SorterSort, iTab, addrBreak); VdbeCoverage(v); @@ -119952,15 +125387,59 @@ static void generateSortTail( iSortTab = iTab; bSeq = 1; } - for(i=0, iCol=nKey+bSeq; inDefer ){ + int iKey = iCol+1; + int regKey = sqlite3GetTempRange(pParse, nRefKey); + + for(i=0; inDefer; i++){ + int iCsr = pSort->aDefer[i].iCsr; + Table *pTab = pSort->aDefer[i].pTab; + int nKey = pSort->aDefer[i].nKey; + + sqlite3VdbeAddOp1(v, OP_NullRow, iCsr); + if( HasRowid(pTab) ){ + sqlite3VdbeAddOp3(v, OP_Column, iSortTab, iKey++, regKey); + sqlite3VdbeAddOp3(v, OP_SeekRowid, iCsr, + sqlite3VdbeCurrentAddr(v)+1, regKey); + }else{ + int k; + int iJmp; + assert( sqlite3PrimaryKeyIndex(pTab)->nKeyCol==nKey ); + for(k=0; k=0; i--){ +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + if( aOutEx[i].bSorterRef ){ + sqlite3ExprCode(pParse, aOutEx[i].pExpr, regRow+i); + }else +#endif + { + int iRead; + if( aOutEx[i].u.x.iOrderByCol ){ + iRead = aOutEx[i].u.x.iOrderByCol-1; + }else{ + iRead = iCol--; + } + sqlite3VdbeAddOp3(v, OP_Column, iSortTab, iRead, regRow+i); + VdbeComment((v, "%s", aOutEx[i].zName?aOutEx[i].zName : aOutEx[i].zSpan)); } - sqlite3VdbeAddOp3(v, OP_Column, iSortTab, iRead, regRow+i); - VdbeComment((v, "%s", aOutEx[i].zName ? aOutEx[i].zName : aOutEx[i].zSpan)); } switch( eDest ){ case SRT_Table: @@ -119975,7 +125454,6 @@ static void generateSortTail( assert( nColumn==sqlite3Strlen30(pDest->zAffSdst) ); sqlite3VdbeAddOp4(v, OP_MakeRecord, regRow, nColumn, regRowid, pDest->zAffSdst, nColumn); - sqlite3ExprCacheAffinityChange(pParse, regRow, nColumn); sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iParm, regRowid, regRow, nColumn); break; } @@ -119990,7 +125468,6 @@ static void generateSortTail( testcase( eDest==SRT_Coroutine ); if( eDest==SRT_Output ){ sqlite3VdbeAddOp2(v, OP_ResultRow, pDest->iSdst, nColumn); - sqlite3ExprCacheAffinityChange(pParse, pDest->iSdst, nColumn); }else{ sqlite3VdbeAddOp1(v, OP_Yield, pDest->iSDParm); } @@ -120110,7 +125587,7 @@ static const char *columnTypeImpl( break; } - assert( pTab && pExpr->pTab==pTab ); + assert( pTab && pExpr->y.pTab==pTab ); if( pS ){ /* The "table" is actually a sub-select or a view in the FROM clause ** of the SELECT statement. Return the declaration type and origin @@ -120278,7 +125755,7 @@ static void generateColumnNames( } #endif - if( pParse->colNamesSet || db->mallocFailed ) return; + if( pParse->colNamesSet ) return; /* Column names are determined by the left-most term of a compound select */ while( pSelect->pPrior ) pSelect = pSelect->pPrior; SELECTTRACE(1,pParse,pSelect,("generating column names\n")); @@ -120295,7 +125772,7 @@ static void generateColumnNames( assert( p!=0 ); assert( p->op!=TK_AGG_COLUMN ); /* Agg processing has not run yet */ - assert( p->op!=TK_COLUMN || p->pTab!=0 ); /* Covering idx not yet coded */ + assert( p->op!=TK_COLUMN || p->y.pTab!=0 ); /* Covering idx not yet coded */ if( pEList->a[i].zName ){ /* An AS clause always takes first priority */ char *zName = pEList->a[i].zName; @@ -120303,7 +125780,7 @@ static void generateColumnNames( }else if( srcName && p->op==TK_COLUMN ){ char *zCol; int iCol = p->iColumn; - pTab = p->pTab; + pTab = p->y.pTab; assert( pTab!=0 ); if( iCol<0 ) iCol = pTab->iPKey; assert( iCol==-1 || (iCol>=0 && iColnCol) ); @@ -120394,7 +125871,7 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( if( pColExpr->op==TK_COLUMN ){ /* For columns use the column name name */ int iCol = pColExpr->iColumn; - Table *pTab = pColExpr->pTab; + Table *pTab = pColExpr->y.pTab; assert( pTab!=0 ); if( iCol<0 ) iCol = pTab->iPKey; zName = iCol>=0 ? pTab->aCol[iCol].zName : "rowid"; @@ -120591,7 +126068,6 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ ** The current implementation interprets "LIMIT 0" to mean ** no rows. */ - sqlite3ExprCacheClear(pParse); if( pLimit ){ assert( pLimit->op==TK_LIMIT ); assert( pLimit->pLeft!=0 ); @@ -120749,6 +126225,13 @@ static void generateWithRecursiveQuery( Expr *pLimit; /* Saved LIMIT and OFFSET */ int regLimit, regOffset; /* Registers used by LIMIT and OFFSET */ +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->pWin ){ + sqlite3ErrorMsg(pParse, "cannot use window functions in recursive queries"); + return; + } +#endif + /* Obtain authorization to do a recursive query */ if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return; @@ -120805,6 +126288,7 @@ static void generateWithRecursiveQuery( /* Store the results of the setup-query in Queue. */ pSetup->pNext = 0; + ExplainQueryPlan((pParse, 1, "SETUP")); rc = sqlite3Select(pParse, pSetup, &destQueue); pSetup->pNext = p; if( rc ) goto end_of_recursive_query; @@ -120839,6 +126323,7 @@ static void generateWithRecursiveQuery( sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported"); }else{ p->pPrior = 0; + ExplainQueryPlan((pParse, 1, "RECURSIVE STEP")); sqlite3Select(pParse, p, &destQueue); assert( p->pPrior==0 ); p->pPrior = pSetup; @@ -120884,10 +126369,9 @@ static int multiSelectValues( Select *p, /* The right-most of SELECTs to be coded */ SelectDest *pDest /* What to do with query results */ ){ - Select *pPrior; - Select *pRightmost = p; int nRow = 1; int rc = 0; + int bShowAll = p->pLimit==0; assert( p->selFlags & SF_MultiValue ); do{ assert( p->selFlags & SF_Values ); @@ -120896,14 +126380,13 @@ static int multiSelectValues( if( p->pPrior==0 ) break; assert( p->pPrior->pNext==p ); p = p->pPrior; - nRow++; + nRow += bShowAll; }while(1); + ExplainQueryPlan((pParse, 0, "SCAN %d CONSTANT ROW%s", nRow, + nRow==1 ? "" : "S")); while( p ){ - pPrior = p->pPrior; - p->pPrior = 0; - rc = sqlite3Select(pParse, p, pDest); - p->pPrior = pPrior; - if( rc || pRightmost->pLimit ) break; + selectInnerLoop(pParse, p, -1, 0, 0, pDest, 1, 1); + if( !bShowAll ) break; p->nSelectRow = nRow; p = p->pNext; } @@ -120952,10 +126435,6 @@ static int multiSelect( SelectDest dest; /* Alternative data destination */ Select *pDelete = 0; /* Chain of simple selects to delete */ sqlite3 *db; /* Database connection */ -#ifndef SQLITE_OMIT_EXPLAIN - int iSub1 = 0; /* EQP id of left-hand query */ - int iSub2 = 0; /* EQP id of right-hand query */ -#endif /* Make sure there is no ORDER BY or LIMIT clause on prior SELECTs. Only ** the last (right-most) SELECT in the series may have an ORDER BY or LIMIT. @@ -121006,217 +126485,231 @@ static int multiSelect( */ if( p->pOrderBy ){ return multiSelectOrderBy(pParse, p, pDest); - }else + }else{ - /* Generate code for the left and right SELECT statements. - */ - switch( p->op ){ - case TK_ALL: { - int addr = 0; - int nLimit; - assert( !pPrior->pLimit ); - pPrior->iLimit = p->iLimit; - pPrior->iOffset = p->iOffset; - pPrior->pLimit = p->pLimit; - explainSetInteger(iSub1, pParse->iNextSelectId); - rc = sqlite3Select(pParse, pPrior, &dest); - p->pLimit = 0; - if( rc ){ - goto multi_select_end; - } - p->pPrior = 0; - p->iLimit = pPrior->iLimit; - p->iOffset = pPrior->iOffset; - if( p->iLimit ){ - addr = sqlite3VdbeAddOp1(v, OP_IfNot, p->iLimit); VdbeCoverage(v); - VdbeComment((v, "Jump ahead if LIMIT reached")); - if( p->iOffset ){ - sqlite3VdbeAddOp3(v, OP_OffsetLimit, - p->iLimit, p->iOffset+1, p->iOffset); +#ifndef SQLITE_OMIT_EXPLAIN + if( pPrior->pPrior==0 ){ + ExplainQueryPlan((pParse, 1, "COMPOUND QUERY")); + ExplainQueryPlan((pParse, 1, "LEFT-MOST SUBQUERY")); + } +#endif + + /* Generate code for the left and right SELECT statements. + */ + switch( p->op ){ + case TK_ALL: { + int addr = 0; + int nLimit; + assert( !pPrior->pLimit ); + pPrior->iLimit = p->iLimit; + pPrior->iOffset = p->iOffset; + pPrior->pLimit = p->pLimit; + rc = sqlite3Select(pParse, pPrior, &dest); + p->pLimit = 0; + if( rc ){ + goto multi_select_end; + } + p->pPrior = 0; + p->iLimit = pPrior->iLimit; + p->iOffset = pPrior->iOffset; + if( p->iLimit ){ + addr = sqlite3VdbeAddOp1(v, OP_IfNot, p->iLimit); VdbeCoverage(v); + VdbeComment((v, "Jump ahead if LIMIT reached")); + if( p->iOffset ){ + sqlite3VdbeAddOp3(v, OP_OffsetLimit, + p->iLimit, p->iOffset+1, p->iOffset); + } } + ExplainQueryPlan((pParse, 1, "UNION ALL")); + rc = sqlite3Select(pParse, p, &dest); + testcase( rc!=SQLITE_OK ); + pDelete = p->pPrior; + p->pPrior = pPrior; + p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); + if( pPrior->pLimit + && sqlite3ExprIsInteger(pPrior->pLimit->pLeft, &nLimit) + && nLimit>0 && p->nSelectRow > sqlite3LogEst((u64)nLimit) + ){ + p->nSelectRow = sqlite3LogEst((u64)nLimit); + } + if( addr ){ + sqlite3VdbeJumpHere(v, addr); + } + break; } - explainSetInteger(iSub2, pParse->iNextSelectId); - rc = sqlite3Select(pParse, p, &dest); - testcase( rc!=SQLITE_OK ); - pDelete = p->pPrior; - p->pPrior = pPrior; - p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); - if( pPrior->pLimit - && sqlite3ExprIsInteger(pPrior->pLimit->pLeft, &nLimit) - && nLimit>0 && p->nSelectRow > sqlite3LogEst((u64)nLimit) - ){ - p->nSelectRow = sqlite3LogEst((u64)nLimit); - } - if( addr ){ - sqlite3VdbeJumpHere(v, addr); - } - break; - } - case TK_EXCEPT: - case TK_UNION: { - int unionTab; /* Cursor number of the temporary table holding result */ - u8 op = 0; /* One of the SRT_ operations to apply to self */ - int priorOp; /* The SRT_ operation to apply to prior selects */ - Expr *pLimit; /* Saved values of p->nLimit */ - int addr; - SelectDest uniondest; - - testcase( p->op==TK_EXCEPT ); - testcase( p->op==TK_UNION ); - priorOp = SRT_Union; - if( dest.eDest==priorOp ){ - /* We can reuse a temporary table generated by a SELECT to our - ** right. + case TK_EXCEPT: + case TK_UNION: { + int unionTab; /* Cursor number of the temp table holding result */ + u8 op = 0; /* One of the SRT_ operations to apply to self */ + int priorOp; /* The SRT_ operation to apply to prior selects */ + Expr *pLimit; /* Saved values of p->nLimit */ + int addr; + SelectDest uniondest; + + testcase( p->op==TK_EXCEPT ); + testcase( p->op==TK_UNION ); + priorOp = SRT_Union; + if( dest.eDest==priorOp ){ + /* We can reuse a temporary table generated by a SELECT to our + ** right. + */ + assert( p->pLimit==0 ); /* Not allowed on leftward elements */ + unionTab = dest.iSDParm; + }else{ + /* We will need to create our own temporary table to hold the + ** intermediate results. + */ + unionTab = pParse->nTab++; + assert( p->pOrderBy==0 ); + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, unionTab, 0); + assert( p->addrOpenEphm[0] == -1 ); + p->addrOpenEphm[0] = addr; + findRightmost(p)->selFlags |= SF_UsesEphemeral; + assert( p->pEList ); + } + + /* Code the SELECT statements to our left */ - assert( p->pLimit==0 ); /* Not allowed on leftward elements */ - unionTab = dest.iSDParm; - }else{ - /* We will need to create our own temporary table to hold the - ** intermediate results. + assert( !pPrior->pOrderBy ); + sqlite3SelectDestInit(&uniondest, priorOp, unionTab); + rc = sqlite3Select(pParse, pPrior, &uniondest); + if( rc ){ + goto multi_select_end; + } + + /* Code the current SELECT statement */ - unionTab = pParse->nTab++; + if( p->op==TK_EXCEPT ){ + op = SRT_Except; + }else{ + assert( p->op==TK_UNION ); + op = SRT_Union; + } + p->pPrior = 0; + pLimit = p->pLimit; + p->pLimit = 0; + uniondest.eDest = op; + ExplainQueryPlan((pParse, 1, "%s USING TEMP B-TREE", + selectOpName(p->op))); + rc = sqlite3Select(pParse, p, &uniondest); + testcase( rc!=SQLITE_OK ); + /* Query flattening in sqlite3Select() might refill p->pOrderBy. + ** Be sure to delete p->pOrderBy, therefore, to avoid a memory leak. */ + sqlite3ExprListDelete(db, p->pOrderBy); + pDelete = p->pPrior; + p->pPrior = pPrior; + p->pOrderBy = 0; + if( p->op==TK_UNION ){ + p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); + } + sqlite3ExprDelete(db, p->pLimit); + p->pLimit = pLimit; + p->iLimit = 0; + p->iOffset = 0; + + /* Convert the data in the temporary table into whatever form + ** it is that we currently need. + */ + assert( unionTab==dest.iSDParm || dest.eDest!=priorOp ); + if( dest.eDest!=priorOp ){ + int iCont, iBreak, iStart; + assert( p->pEList ); + iBreak = sqlite3VdbeMakeLabel(v); + iCont = sqlite3VdbeMakeLabel(v); + computeLimitRegisters(pParse, p, iBreak); + sqlite3VdbeAddOp2(v, OP_Rewind, unionTab, iBreak); VdbeCoverage(v); + iStart = sqlite3VdbeCurrentAddr(v); + selectInnerLoop(pParse, p, unionTab, + 0, 0, &dest, iCont, iBreak); + sqlite3VdbeResolveLabel(v, iCont); + sqlite3VdbeAddOp2(v, OP_Next, unionTab, iStart); VdbeCoverage(v); + sqlite3VdbeResolveLabel(v, iBreak); + sqlite3VdbeAddOp2(v, OP_Close, unionTab, 0); + } + break; + } + default: assert( p->op==TK_INTERSECT ); { + int tab1, tab2; + int iCont, iBreak, iStart; + Expr *pLimit; + int addr; + SelectDest intersectdest; + int r1; + + /* INTERSECT is different from the others since it requires + ** two temporary tables. Hence it has its own case. Begin + ** by allocating the tables we will need. + */ + tab1 = pParse->nTab++; + tab2 = pParse->nTab++; assert( p->pOrderBy==0 ); - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, unionTab, 0); + + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, tab1, 0); assert( p->addrOpenEphm[0] == -1 ); p->addrOpenEphm[0] = addr; findRightmost(p)->selFlags |= SF_UsesEphemeral; assert( p->pEList ); - } - - /* Code the SELECT statements to our left - */ - assert( !pPrior->pOrderBy ); - sqlite3SelectDestInit(&uniondest, priorOp, unionTab); - explainSetInteger(iSub1, pParse->iNextSelectId); - rc = sqlite3Select(pParse, pPrior, &uniondest); - if( rc ){ - goto multi_select_end; - } - - /* Code the current SELECT statement - */ - if( p->op==TK_EXCEPT ){ - op = SRT_Except; - }else{ - assert( p->op==TK_UNION ); - op = SRT_Union; - } - p->pPrior = 0; - pLimit = p->pLimit; - p->pLimit = 0; - uniondest.eDest = op; - explainSetInteger(iSub2, pParse->iNextSelectId); - rc = sqlite3Select(pParse, p, &uniondest); - testcase( rc!=SQLITE_OK ); - /* Query flattening in sqlite3Select() might refill p->pOrderBy. - ** Be sure to delete p->pOrderBy, therefore, to avoid a memory leak. */ - sqlite3ExprListDelete(db, p->pOrderBy); - pDelete = p->pPrior; - p->pPrior = pPrior; - p->pOrderBy = 0; - if( p->op==TK_UNION ){ - p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); - } - sqlite3ExprDelete(db, p->pLimit); - p->pLimit = pLimit; - p->iLimit = 0; - p->iOffset = 0; - - /* Convert the data in the temporary table into whatever form - ** it is that we currently need. - */ - assert( unionTab==dest.iSDParm || dest.eDest!=priorOp ); - if( dest.eDest!=priorOp ){ - int iCont, iBreak, iStart; + + /* Code the SELECTs to our left into temporary table "tab1". + */ + sqlite3SelectDestInit(&intersectdest, SRT_Union, tab1); + rc = sqlite3Select(pParse, pPrior, &intersectdest); + if( rc ){ + goto multi_select_end; + } + + /* Code the current SELECT into temporary table "tab2" + */ + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, tab2, 0); + assert( p->addrOpenEphm[1] == -1 ); + p->addrOpenEphm[1] = addr; + p->pPrior = 0; + pLimit = p->pLimit; + p->pLimit = 0; + intersectdest.iSDParm = tab2; + ExplainQueryPlan((pParse, 1, "%s USING TEMP B-TREE", + selectOpName(p->op))); + rc = sqlite3Select(pParse, p, &intersectdest); + testcase( rc!=SQLITE_OK ); + pDelete = p->pPrior; + p->pPrior = pPrior; + if( p->nSelectRow>pPrior->nSelectRow ){ + p->nSelectRow = pPrior->nSelectRow; + } + sqlite3ExprDelete(db, p->pLimit); + p->pLimit = pLimit; + + /* Generate code to take the intersection of the two temporary + ** tables. + */ assert( p->pEList ); iBreak = sqlite3VdbeMakeLabel(v); iCont = sqlite3VdbeMakeLabel(v); computeLimitRegisters(pParse, p, iBreak); - sqlite3VdbeAddOp2(v, OP_Rewind, unionTab, iBreak); VdbeCoverage(v); - iStart = sqlite3VdbeCurrentAddr(v); - selectInnerLoop(pParse, p, unionTab, + sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); VdbeCoverage(v); + r1 = sqlite3GetTempReg(pParse); + iStart = sqlite3VdbeAddOp2(v, OP_RowData, tab1, r1); + sqlite3VdbeAddOp4Int(v, OP_NotFound, tab2, iCont, r1, 0); + VdbeCoverage(v); + sqlite3ReleaseTempReg(pParse, r1); + selectInnerLoop(pParse, p, tab1, 0, 0, &dest, iCont, iBreak); sqlite3VdbeResolveLabel(v, iCont); - sqlite3VdbeAddOp2(v, OP_Next, unionTab, iStart); VdbeCoverage(v); + sqlite3VdbeAddOp2(v, OP_Next, tab1, iStart); VdbeCoverage(v); sqlite3VdbeResolveLabel(v, iBreak); - sqlite3VdbeAddOp2(v, OP_Close, unionTab, 0); + sqlite3VdbeAddOp2(v, OP_Close, tab2, 0); + sqlite3VdbeAddOp2(v, OP_Close, tab1, 0); + break; } - break; } - default: assert( p->op==TK_INTERSECT ); { - int tab1, tab2; - int iCont, iBreak, iStart; - Expr *pLimit; - int addr; - SelectDest intersectdest; - int r1; - - /* INTERSECT is different from the others since it requires - ** two temporary tables. Hence it has its own case. Begin - ** by allocating the tables we will need. - */ - tab1 = pParse->nTab++; - tab2 = pParse->nTab++; - assert( p->pOrderBy==0 ); - - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, tab1, 0); - assert( p->addrOpenEphm[0] == -1 ); - p->addrOpenEphm[0] = addr; - findRightmost(p)->selFlags |= SF_UsesEphemeral; - assert( p->pEList ); - - /* Code the SELECTs to our left into temporary table "tab1". - */ - sqlite3SelectDestInit(&intersectdest, SRT_Union, tab1); - explainSetInteger(iSub1, pParse->iNextSelectId); - rc = sqlite3Select(pParse, pPrior, &intersectdest); - if( rc ){ - goto multi_select_end; - } - - /* Code the current SELECT into temporary table "tab2" - */ - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, tab2, 0); - assert( p->addrOpenEphm[1] == -1 ); - p->addrOpenEphm[1] = addr; - p->pPrior = 0; - pLimit = p->pLimit; - p->pLimit = 0; - intersectdest.iSDParm = tab2; - explainSetInteger(iSub2, pParse->iNextSelectId); - rc = sqlite3Select(pParse, p, &intersectdest); - testcase( rc!=SQLITE_OK ); - pDelete = p->pPrior; - p->pPrior = pPrior; - if( p->nSelectRow>pPrior->nSelectRow ) p->nSelectRow = pPrior->nSelectRow; - sqlite3ExprDelete(db, p->pLimit); - p->pLimit = pLimit; - - /* Generate code to take the intersection of the two temporary - ** tables. - */ - assert( p->pEList ); - iBreak = sqlite3VdbeMakeLabel(v); - iCont = sqlite3VdbeMakeLabel(v); - computeLimitRegisters(pParse, p, iBreak); - sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); VdbeCoverage(v); - r1 = sqlite3GetTempReg(pParse); - iStart = sqlite3VdbeAddOp2(v, OP_RowData, tab1, r1); - sqlite3VdbeAddOp4Int(v, OP_NotFound, tab2, iCont, r1, 0); VdbeCoverage(v); - sqlite3ReleaseTempReg(pParse, r1); - selectInnerLoop(pParse, p, tab1, - 0, 0, &dest, iCont, iBreak); - sqlite3VdbeResolveLabel(v, iCont); - sqlite3VdbeAddOp2(v, OP_Next, tab1, iStart); VdbeCoverage(v); - sqlite3VdbeResolveLabel(v, iBreak); - sqlite3VdbeAddOp2(v, OP_Close, tab2, 0); - sqlite3VdbeAddOp2(v, OP_Close, tab1, 0); - break; + + #ifndef SQLITE_OMIT_EXPLAIN + if( p->pNext==0 ){ + ExplainQueryPlanPop(pParse); } + #endif } - - explainComposite(pParse, p->op, iSub1, iSub2, p->op!=TK_ALL); - + /* Compute collating sequences used by ** temporary tables needed to implement the compound select. ** Attach the KeyInfo structure to all temporary tables. @@ -121367,7 +126860,6 @@ static int generateOutputSubroutine( r1 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp4(v, OP_MakeRecord, pIn->iSdst, pIn->nSdst, r1, pDest->zAffSdst, pIn->nSdst); - sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, pIn->nSdst); sqlite3VdbeAddOp4Int(v, OP_IdxInsert, pDest->iSDParm, r1, pIn->iSdst, pIn->nSdst); sqlite3ReleaseTempReg(pParse, r1); @@ -121410,7 +126902,6 @@ static int generateOutputSubroutine( default: { assert( pDest->eDest==SRT_Output ); sqlite3VdbeAddOp2(v, OP_ResultRow, pIn->iSdst, pIn->nSdst); - sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, pIn->nSdst); break; } } @@ -121554,10 +127045,6 @@ static int multiSelectOrderBy( ExprList *pOrderBy; /* The ORDER BY clause */ int nOrderBy; /* Number of terms in the ORDER BY clause */ int *aPermute; /* Mapping from ORDER BY terms to result set columns */ -#ifndef SQLITE_OMIT_EXPLAIN - int iSub1; /* EQP id of left-hand query */ - int iSub2; /* EQP id of right-hand query */ -#endif assert( p->pOrderBy!=0 ); assert( pKeyDup==0 ); /* "Managed" code needs this. Ticket #3382. */ @@ -121677,6 +127164,8 @@ static int multiSelectOrderBy( sqlite3SelectDestInit(&destA, SRT_Coroutine, regAddrA); sqlite3SelectDestInit(&destB, SRT_Coroutine, regAddrB); + ExplainQueryPlan((pParse, 1, "MERGE (%s)", selectOpName(p->op))); + /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ @@ -121684,7 +127173,7 @@ static int multiSelectOrderBy( addr1 = sqlite3VdbeAddOp3(v, OP_InitCoroutine, regAddrA, 0, addrSelectA); VdbeComment((v, "left SELECT")); pPrior->iLimit = regLimitA; - explainSetInteger(iSub1, pParse->iNextSelectId); + ExplainQueryPlan((pParse, 1, "LEFT")); sqlite3Select(pParse, pPrior, &destA); sqlite3VdbeEndCoroutine(v, regAddrA); sqlite3VdbeJumpHere(v, addr1); @@ -121699,7 +127188,7 @@ static int multiSelectOrderBy( savedOffset = p->iOffset; p->iLimit = regLimitB; p->iOffset = 0; - explainSetInteger(iSub2, pParse->iNextSelectId); + ExplainQueryPlan((pParse, 1, "RIGHT")); sqlite3Select(pParse, p, &destB); p->iLimit = savedLimit; p->iOffset = savedOffset; @@ -121811,7 +127300,7 @@ static int multiSelectOrderBy( /*** TBD: Insert subroutine calls to close cursors on incomplete **** subqueries ****/ - explainComposite(pParse, p->op, iSub1, iSub2, 0); + ExplainQueryPlanPop(pParse); return pParse->nErr!=0; } #endif @@ -121867,7 +127356,7 @@ static Expr *substExpr( Expr *pCopy = pSubst->pEList->a[pExpr->iColumn].pExpr; Expr ifNullRow; assert( pSubst->pEList!=0 && pExpr->iColumnpEList->nExpr ); - assert( pExpr->pLeft==0 && pExpr->pRight==0 ); + assert( pExpr->pRight==0 ); if( sqlite3ExprIsVector(pCopy) ){ sqlite3VectorErrorMsg(pSubst->pParse, pCopy); }else{ @@ -122081,6 +127570,10 @@ static void substSelect( ** "SELECT x FROM (SELECT max(y), x FROM t1)" would not necessarily ** return the value X for which Y was maximal.) ** +** (25) If either the subquery or the parent query contains a window +** function in the select list or ORDER BY clause, flattening +** is not attempted. +** ** ** In this routine, the "p" parameter is a pointer to the outer query. ** The subquery is p->pSrc->a[iFrom]. isAgg is true if the outer query @@ -122124,6 +127617,10 @@ static int flattenSubquery( pSub = pSubitem->pSelect; assert( pSub!=0 ); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->pWin || pSub->pWin ) return 0; /* Restriction (25) */ +#endif + pSubSrc = pSub->pSrc; assert( pSubSrc ); /* Prior to version 3.1.2, when LIMIT and OFFSET had to be simple constants, @@ -122234,8 +127731,8 @@ static int flattenSubquery( assert( (p->selFlags & SF_Recursive)==0 || pSub->pPrior==0 ); /***** If we reach this point, flattening is permitted. *****/ - SELECTTRACE(1,pParse,p,("flatten %s.%p from term %d\n", - pSub->zSelName, pSub, iFrom)); + SELECTTRACE(1,pParse,p,("flatten %u.%p from term %d\n", + pSub->selId, pSub, iFrom)); /* Authorize the subquery */ pParse->zAuthContext = pSubitem->zName; @@ -122286,7 +127783,6 @@ static int flattenSubquery( p->pPrior = 0; p->pLimit = 0; pNew = sqlite3SelectDup(db, p, 0); - sqlite3SelectSetName(pNew, pSub->zSelName); p->pLimit = pLimit; p->pOrderBy = pOrderBy; p->pSrc = pSrc; @@ -122298,9 +127794,8 @@ static int flattenSubquery( if( pPrior ) pPrior->pNext = pNew; pNew->pNext = p; p->pPrior = pNew; - SELECTTRACE(2,pParse,p, - ("compound-subquery flattener creates %s.%p as peer\n", - pNew->zSelName, pNew)); + SELECTTRACE(2,pParse,p,("compound-subquery flattener" + " creates %u as peer\n",pNew->selId)); } if( db->mallocFailed ) return 1; } @@ -122434,7 +127929,6 @@ static int flattenSubquery( pOrderBy->a[i].u.x.iOrderByCol = 0; } assert( pParent->pOrderBy==0 ); - assert( pSub->pPrior==0 ); pParent->pOrderBy = pOrderBy; pSub->pOrderBy = 0; } @@ -122486,7 +127980,183 @@ static int flattenSubquery( } #endif /* !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) */ +/* +** A structure to keep track of all of the column values that are fixed to +** a known value due to WHERE clause constraints of the form COLUMN=VALUE. +*/ +typedef struct WhereConst WhereConst; +struct WhereConst { + Parse *pParse; /* Parsing context */ + int nConst; /* Number for COLUMN=CONSTANT terms */ + int nChng; /* Number of times a constant is propagated */ + Expr **apExpr; /* [i*2] is COLUMN and [i*2+1] is VALUE */ +}; +/* +** Add a new entry to the pConst object. Except, do not add duplicate +** pColumn entires. +*/ +static void constInsert( + WhereConst *pConst, /* The WhereConst into which we are inserting */ + Expr *pColumn, /* The COLUMN part of the constraint */ + Expr *pValue /* The VALUE part of the constraint */ +){ + int i; + assert( pColumn->op==TK_COLUMN ); + + /* 2018-10-25 ticket [cf5ed20f] + ** Make sure the same pColumn is not inserted more than once */ + for(i=0; inConst; i++){ + const Expr *pExpr = pConst->apExpr[i*2]; + assert( pExpr->op==TK_COLUMN ); + if( pExpr->iTable==pColumn->iTable + && pExpr->iColumn==pColumn->iColumn + ){ + return; /* Already present. Return without doing anything. */ + } + } + + pConst->nConst++; + pConst->apExpr = sqlite3DbReallocOrFree(pConst->pParse->db, pConst->apExpr, + pConst->nConst*2*sizeof(Expr*)); + if( pConst->apExpr==0 ){ + pConst->nConst = 0; + }else{ + if( ExprHasProperty(pValue, EP_FixedCol) ) pValue = pValue->pLeft; + pConst->apExpr[pConst->nConst*2-2] = pColumn; + pConst->apExpr[pConst->nConst*2-1] = pValue; + } +} + +/* +** Find all terms of COLUMN=VALUE or VALUE=COLUMN in pExpr where VALUE +** is a constant expression and where the term must be true because it +** is part of the AND-connected terms of the expression. For each term +** found, add it to the pConst structure. +*/ +static void findConstInWhere(WhereConst *pConst, Expr *pExpr){ + Expr *pRight, *pLeft; + if( pExpr==0 ) return; + if( ExprHasProperty(pExpr, EP_FromJoin) ) return; + if( pExpr->op==TK_AND ){ + findConstInWhere(pConst, pExpr->pRight); + findConstInWhere(pConst, pExpr->pLeft); + return; + } + if( pExpr->op!=TK_EQ ) return; + pRight = pExpr->pRight; + pLeft = pExpr->pLeft; + assert( pRight!=0 ); + assert( pLeft!=0 ); + if( pRight->op==TK_COLUMN + && !ExprHasProperty(pRight, EP_FixedCol) + && sqlite3ExprIsConstant(pLeft) + && sqlite3IsBinary(sqlite3BinaryCompareCollSeq(pConst->pParse,pLeft,pRight)) + ){ + constInsert(pConst, pRight, pLeft); + }else + if( pLeft->op==TK_COLUMN + && !ExprHasProperty(pLeft, EP_FixedCol) + && sqlite3ExprIsConstant(pRight) + && sqlite3IsBinary(sqlite3BinaryCompareCollSeq(pConst->pParse,pLeft,pRight)) + ){ + constInsert(pConst, pLeft, pRight); + } +} + +/* +** This is a Walker expression callback. pExpr is a candidate expression +** to be replaced by a value. If pExpr is equivalent to one of the +** columns named in pWalker->u.pConst, then overwrite it with its +** corresponding value. +*/ +static int propagateConstantExprRewrite(Walker *pWalker, Expr *pExpr){ + int i; + WhereConst *pConst; + if( pExpr->op!=TK_COLUMN ) return WRC_Continue; + if( ExprHasProperty(pExpr, EP_FixedCol) ) return WRC_Continue; + pConst = pWalker->u.pConst; + for(i=0; inConst; i++){ + Expr *pColumn = pConst->apExpr[i*2]; + if( pColumn==pExpr ) continue; + if( pColumn->iTable!=pExpr->iTable ) continue; + if( pColumn->iColumn!=pExpr->iColumn ) continue; + /* A match is found. Add the EP_FixedCol property */ + pConst->nChng++; + ExprClearProperty(pExpr, EP_Leaf); + ExprSetProperty(pExpr, EP_FixedCol); + assert( pExpr->pLeft==0 ); + pExpr->pLeft = sqlite3ExprDup(pConst->pParse->db, pConst->apExpr[i*2+1], 0); + break; + } + return WRC_Prune; +} + +/* +** The WHERE-clause constant propagation optimization. +** +** If the WHERE clause contains terms of the form COLUMN=CONSTANT or +** CONSTANT=COLUMN that must be tree (in other words, if the terms top-level +** AND-connected terms that are not part of a ON clause from a LEFT JOIN) +** then throughout the query replace all other occurrences of COLUMN +** with CONSTANT within the WHERE clause. +** +** For example, the query: +** +** SELECT * FROM t1, t2, t3 WHERE t1.a=39 AND t2.b=t1.a AND t3.c=t2.b +** +** Is transformed into +** +** SELECT * FROM t1, t2, t3 WHERE t1.a=39 AND t2.b=39 AND t3.c=39 +** +** Return true if any transformations where made and false if not. +** +** Implementation note: Constant propagation is tricky due to affinity +** and collating sequence interactions. Consider this example: +** +** CREATE TABLE t1(a INT,b TEXT); +** INSERT INTO t1 VALUES(123,'0123'); +** SELECT * FROM t1 WHERE a=123 AND b=a; +** SELECT * FROM t1 WHERE a=123 AND b=123; +** +** The two SELECT statements above should return different answers. b=a +** is alway true because the comparison uses numeric affinity, but b=123 +** is false because it uses text affinity and '0123' is not the same as '123'. +** To work around this, the expression tree is not actually changed from +** "b=a" to "b=123" but rather the "a" in "b=a" is tagged with EP_FixedCol +** and the "123" value is hung off of the pLeft pointer. Code generator +** routines know to generate the constant "123" instead of looking up the +** column value. Also, to avoid collation problems, this optimization is +** only attempted if the "a=123" term uses the default BINARY collation. +*/ +static int propagateConstants( + Parse *pParse, /* The parsing context */ + Select *p /* The query in which to propagate constants */ +){ + WhereConst x; + Walker w; + int nChng = 0; + x.pParse = pParse; + do{ + x.nConst = 0; + x.nChng = 0; + x.apExpr = 0; + findConstInWhere(&x, p->pWhere); + if( x.nConst ){ + memset(&w, 0, sizeof(w)); + w.pParse = pParse; + w.xExprCallback = propagateConstantExprRewrite; + w.xSelectCallback = sqlite3SelectWalkNoop; + w.xSelectCallback2 = 0; + w.walkerDepth = 0; + w.u.pConst = &x; + sqlite3WalkExpr(&w, p->pWhere); + sqlite3DbFree(x.pParse->db, x.apExpr); + nChng += x.nChng; + } + }while( x.nChng ); + return nChng; +} #if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) /* @@ -122516,14 +128186,28 @@ static int flattenSubquery( ** (2) The inner query is the recursive part of a common table expression. ** ** (3) The inner query has a LIMIT clause (since the changes to the WHERE -** close would change the meaning of the LIMIT). +** clause would change the meaning of the LIMIT). ** -** (4) The inner query is the right operand of a LEFT JOIN. (The caller -** enforces this restriction since this routine does not have enough -** information to know.) +** (4) The inner query is the right operand of a LEFT JOIN and the +** expression to be pushed down does not come from the ON clause +** on that LEFT JOIN. ** ** (5) The WHERE clause expression originates in the ON or USING clause -** of a LEFT JOIN. +** of a LEFT JOIN where iCursor is not the right-hand table of that +** left join. An example: +** +** SELECT * +** FROM (SELECT 1 AS a1 UNION ALL SELECT 2) AS aa +** JOIN (SELECT 1 AS b2 UNION ALL SELECT 2) AS bb ON (a1=b2) +** LEFT JOIN (SELECT 8 AS c3 UNION ALL SELECT 9) AS cc ON (b2=2); +** +** The correct answer is three rows: (1,1,NULL),(2,2,8),(2,2,9). +** But if the (b2=2) term were to be pushed down into the bb subquery, +** then the (1,1,NULL) row would be suppressed. +** +** (6) The inner query features one or more window-functions (since +** changes to the WHERE clause of the inner query could change the +** window over which window functions are calculated). ** ** Return 0 if no changes are made and non-zero if one or more WHERE clause ** terms are duplicated into the subquery. @@ -122532,13 +128216,18 @@ static int pushDownWhereTerms( Parse *pParse, /* Parse context (for malloc() and error reporting) */ Select *pSubq, /* The subquery whose WHERE clause is to be augmented */ Expr *pWhere, /* The WHERE clause of the outer query */ - int iCursor /* Cursor number of the subquery */ + int iCursor, /* Cursor number of the subquery */ + int isLeftJoin /* True if pSubq is the right term of a LEFT JOIN */ ){ Expr *pNew; int nChng = 0; if( pWhere==0 ) return 0; if( pSubq->selFlags & SF_Recursive ) return 0; /* restriction (2) */ +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pSubq->pWin ) return 0; /* restriction (6) */ +#endif + #ifdef SQLITE_DEBUG /* Only the first term of a compound can have a WITH clause. But make ** sure no other terms are marked SF_Recursive in case something changes @@ -122556,15 +128245,25 @@ static int pushDownWhereTerms( return 0; /* restriction (3) */ } while( pWhere->op==TK_AND ){ - nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight, iCursor); + nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight, + iCursor, isLeftJoin); pWhere = pWhere->pLeft; } - if( ExprHasProperty(pWhere,EP_FromJoin) ) return 0; /* restriction (5) */ + if( isLeftJoin + && (ExprHasProperty(pWhere,EP_FromJoin)==0 + || pWhere->iRightJoinTable!=iCursor) + ){ + return 0; /* restriction (4) */ + } + if( ExprHasProperty(pWhere,EP_FromJoin) && pWhere->iRightJoinTable!=iCursor ){ + return 0; /* restriction (5) */ + } if( sqlite3ExprIsTableConstant(pWhere, iCursor) ){ nChng++; while( pSubq ){ SubstContext x; pNew = sqlite3ExprDup(pParse->db, pWhere, 0); + unsetJoinExpr(pNew, -1); x.pParse = pParse; x.iTable = iCursor; x.iNewTable = iCursor; @@ -122974,6 +128673,35 @@ static void selectPopWith(Walker *pWalker, Select *p){ #define selectPopWith 0 #endif +/* +** The SrcList_item structure passed as the second argument represents a +** sub-query in the FROM clause of a SELECT statement. This function +** allocates and populates the SrcList_item.pTab object. If successful, +** SQLITE_OK is returned. Otherwise, if an OOM error is encountered, +** SQLITE_NOMEM. +*/ +SQLITE_PRIVATE int sqlite3ExpandSubquery(Parse *pParse, struct SrcList_item *pFrom){ + Select *pSel = pFrom->pSelect; + Table *pTab; + + assert( pSel ); + pFrom->pTab = pTab = sqlite3DbMallocZero(pParse->db, sizeof(Table)); + if( pTab==0 ) return SQLITE_NOMEM; + pTab->nTabRef = 1; + if( pFrom->zAlias ){ + pTab->zName = sqlite3DbStrDup(pParse->db, pFrom->zAlias); + }else{ + pTab->zName = sqlite3MPrintf(pParse->db, "subquery_%u", pSel->selId); + } + while( pSel->pPrior ){ pSel = pSel->pPrior; } + sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol); + pTab->iPKey = -1; + pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); + pTab->tabFlags |= TF_Ephemeral; + + return SQLITE_OK; +} + /* ** This routine is a Walker callback for "expanding" a SELECT statement. ** "Expanding" means to do the following: @@ -123019,9 +128747,7 @@ static int selectExpander(Walker *pWalker, Select *p){ } pTabList = p->pSrc; pEList = p->pEList; - if( OK_IF_ALWAYS_TRUE(p->pWith) ){ - sqlite3WithPush(pParse, p->pWith, 0); - } + sqlite3WithPush(pParse, p->pWith, 0); /* Make sure cursor numbers have been assigned to all entries in ** the FROM clause of the SELECT statement. @@ -123048,19 +128774,7 @@ static int selectExpander(Walker *pWalker, Select *p){ assert( pSel!=0 ); assert( pFrom->pTab==0 ); if( sqlite3WalkSelect(pWalker, pSel) ) return WRC_Abort; - pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); - if( pTab==0 ) return WRC_Abort; - pTab->nTabRef = 1; - if( pFrom->zAlias ){ - pTab->zName = sqlite3DbStrDup(db, pFrom->zAlias); - }else{ - pTab->zName = sqlite3MPrintf(db, "subquery_%p", (void*)pTab); - } - while( pSel->pPrior ){ pSel = pSel->pPrior; } - sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol); - pTab->iPKey = -1; - pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); - pTab->tabFlags |= TF_Ephemeral; + if( sqlite3ExpandSubquery(pParse, pFrom) ) return WRC_Abort; #endif }else{ /* An ordinary table or view name in the FROM clause */ @@ -123083,7 +128797,6 @@ static int selectExpander(Walker *pWalker, Select *p){ if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort; assert( pFrom->pSelect==0 ); pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0); - sqlite3SelectSetName(pFrom->pSelect, pTab->zName); nCol = pTab->nCol; pTab->nCol = -1; sqlite3WalkSelect(pWalker, pFrom->pSelect); @@ -123361,7 +129074,7 @@ static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ struct SrcList_item *pFrom; assert( p->selFlags & SF_Resolved ); - assert( (p->selFlags & SF_HasTypeInfo)==0 ); + if( p->selFlags & SF_HasTypeInfo ) return; p->selFlags |= SF_HasTypeInfo; pParse = pWalker->pParse; pTabList = p->pSrc; @@ -123464,7 +129177,7 @@ static void resetAccumulator(Parse *pParse, AggInfo *pAggInfo){ "argument"); pFunc->iDistinct = -1; }else{ - KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0); + KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0); sqlite3VdbeAddOp4(v, OP_OpenEphemeral, pFunc->iDistinct, 0, 0, (char*)pKeyInfo, P4_KEYINFO); } @@ -123488,11 +129201,17 @@ static void finalizeAggFunctions(Parse *pParse, AggInfo *pAggInfo){ } } + /* ** Update the accumulator memory cells for an aggregate based on ** the current cursor position. +** +** 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 +** of setting and clearing regAcc. */ -static void updateAccumulator(Parse *pParse, AggInfo *pAggInfo){ +static void updateAccumulator(Parse *pParse, int regAcc, AggInfo *pAggInfo){ Vdbe *v = pParse->pVdbe; int i; int regHit = 0; @@ -123535,36 +129254,24 @@ static void updateAccumulator(Parse *pParse, AggInfo *pAggInfo){ if( regHit==0 && pAggInfo->nAccumulator ) regHit = ++pParse->nMem; sqlite3VdbeAddOp4(v, OP_CollSeq, regHit, 0, 0, (char *)pColl, P4_COLLSEQ); } - sqlite3VdbeAddOp3(v, OP_AggStep0, 0, regAgg, pF->iMem); + sqlite3VdbeAddOp3(v, OP_AggStep, 0, regAgg, pF->iMem); sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF); sqlite3VdbeChangeP5(v, (u8)nArg); - sqlite3ExprCacheAffinityChange(pParse, regAgg, nArg); sqlite3ReleaseTempRange(pParse, regAgg, nArg); if( addrNext ){ sqlite3VdbeResolveLabel(v, addrNext); - sqlite3ExprCacheClear(pParse); } } - - /* Before populating the accumulator registers, clear the column cache. - ** Otherwise, if any of the required column values are already present - ** in registers, sqlite3ExprCode() may use OP_SCopy to copy the value - ** to pC->iMem. But by the time the value is used, the original register - ** may have been used, invalidating the underlying buffer holding the - ** text or blob value. See ticket [883034dcb5]. - ** - ** Another solution would be to change the OP_SCopy used to copy cached - ** values to an OP_Copy. - */ + if( regHit==0 && pAggInfo->nAccumulator ){ + regHit = regAcc; + } if( regHit ){ addrHitTest = sqlite3VdbeAddOp1(v, OP_If, regHit); VdbeCoverage(v); } - sqlite3ExprCacheClear(pParse); for(i=0, pC=pAggInfo->aCol; inAccumulator; i++, pC++){ sqlite3ExprCode(pParse, pC->pExpr, pC->iMem); } pAggInfo->directMode = 0; - sqlite3ExprCacheClear(pParse); if( addrHitTest ){ sqlite3VdbeJumpHere(v, addrHitTest); } @@ -123582,28 +129289,17 @@ static void explainSimpleCount( ){ if( pParse->explain==2 ){ int bCover = (pIdx!=0 && (HasRowid(pTab) || !IsPrimaryKeyIndex(pIdx))); - char *zEqp = sqlite3MPrintf(pParse->db, "SCAN TABLE %s%s%s", + sqlite3VdbeExplain(pParse, 0, "SCAN TABLE %s%s%s", pTab->zName, bCover ? " USING COVERING INDEX " : "", bCover ? pIdx->zName : "" ); - sqlite3VdbeAddOp4( - pParse->pVdbe, OP_Explain, pParse->iSelectId, 0, 0, zEqp, P4_DYNAMIC - ); } } #else # define explainSimpleCount(a,b,c) #endif -/* -** Context object for havingToWhereExprCb(). -*/ -struct HavingToWhereCtx { - Expr **ppWhere; - ExprList *pGroupBy; -}; - /* ** sqlite3WalkExpr() callback used by havingToWhere(). ** @@ -123617,15 +129313,16 @@ struct HavingToWhereCtx { */ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){ if( pExpr->op!=TK_AND ){ - struct HavingToWhereCtx *p = pWalker->u.pHavingCtx; - if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, p->pGroupBy) ){ + 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); if( pNew ){ - Expr *pWhere = *(p->ppWhere); + Expr *pWhere = pS->pWhere; SWAP(Expr, *pNew, *pExpr); pNew = sqlite3ExprAnd(db, pWhere, pNew); - *(p->ppWhere) = pNew; + pS->pWhere = pNew; + pWalker->eCode = 1; } } return WRC_Prune; @@ -123648,23 +129345,19 @@ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){ ** entirely of constants and expressions that are also GROUP BY terms that ** use the "BINARY" collation sequence. */ -static void havingToWhere( - Parse *pParse, - ExprList *pGroupBy, - Expr *pHaving, - Expr **ppWhere -){ - struct HavingToWhereCtx sCtx; +static void havingToWhere(Parse *pParse, Select *p){ Walker sWalker; - - sCtx.ppWhere = ppWhere; - sCtx.pGroupBy = pGroupBy; - memset(&sWalker, 0, sizeof(sWalker)); sWalker.pParse = pParse; sWalker.xExprCallback = havingToWhereExprCb; - sWalker.u.pHavingCtx = &sCtx; - sqlite3WalkExpr(&sWalker, pHaving); + sWalker.u.pSelect = p; + sqlite3WalkExpr(&sWalker, p->pHaving); +#if SELECTTRACE_ENABLED + if( sWalker.eCode && (sqlite3SelectTrace & 0x100)!=0 ){ + SELECTTRACE(0x100,pParse,p,("Move HAVING terms into WHERE:\n")); + sqlite3TreeViewSelect(0, p, 0); + } +#endif } /* @@ -123708,6 +129401,7 @@ static struct SrcList_item *isSelfJoinView( ** The transformation only works if all of the following are true: ** ** * 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(*) ** @@ -123731,6 +129425,7 @@ static int countOfViewOptimization(Parse *pParse, Select *p){ do{ if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */ if( pSub->pWhere ) return 0; /* No WHERE clause */ + if( pSub->pLimit ) return 0; /* No LIMIT clause */ if( pSub->selFlags & SF_Aggregate ) return 0; /* Not an aggregate */ pSub = pSub->pPrior; /* Repeat over compound */ }while( pSub ); @@ -123813,20 +129508,15 @@ SQLITE_PRIVATE int sqlite3Select( ExprList *pMinMaxOrderBy = 0; /* Added ORDER BY for min/max queries */ u8 minMaxFlag; /* Flag for min/max queries */ -#ifndef SQLITE_OMIT_EXPLAIN - int iRestoreSelectId = pParse->iSelectId; - pParse->iSelectId = pParse->iNextSelectId++; -#endif - db = pParse->db; + v = sqlite3GetVdbe(pParse); if( p==0 || db->mallocFailed || pParse->nErr ){ return 1; } if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; memset(&sAggInfo, 0, sizeof(sAggInfo)); #if SELECTTRACE_ENABLED - pParse->nSelectIndent++; - SELECTTRACE(1,pParse,p, ("begin processing:\n")); + SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain)); if( sqlite3SelectTrace & 0x100 ){ sqlite3TreeViewSelect(0, p, 0); } @@ -123848,36 +129538,60 @@ SQLITE_PRIVATE int sqlite3Select( p->selFlags &= ~SF_Distinct; } sqlite3SelectPrep(pParse, p, 0); - memset(&sSort, 0, sizeof(sSort)); - sSort.pOrderBy = p->pOrderBy; - pTabList = p->pSrc; if( pParse->nErr || db->mallocFailed ){ goto select_end; } assert( p->pEList!=0 ); - isAgg = (p->selFlags & SF_Aggregate)!=0; #if SELECTTRACE_ENABLED - if( sqlite3SelectTrace & 0x100 ){ - SELECTTRACE(0x100,pParse,p, ("after name resolution:\n")); + if( sqlite3SelectTrace & 0x104 ){ + SELECTTRACE(0x104,pParse,p, ("after name resolution:\n")); sqlite3TreeViewSelect(0, p, 0); } #endif - /* Get a pointer the VDBE under construction, allocating a new VDBE if one - ** does not already exist */ - v = sqlite3GetVdbe(pParse); - if( v==0 ) goto select_end; if( pDest->eDest==SRT_Output ){ generateColumnNames(pParse, p); } - /* Try to flatten subqueries in the FROM clause up into the main query +#ifndef SQLITE_OMIT_WINDOWFUNC + if( sqlite3WindowRewrite(pParse, p) ){ + goto select_end; + } +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x108 ){ + SELECTTRACE(0x104,pParse,p, ("after window rewrite:\n")); + sqlite3TreeViewSelect(0, p, 0); + } +#endif +#endif /* SQLITE_OMIT_WINDOWFUNC */ + pTabList = p->pSrc; + isAgg = (p->selFlags & SF_Aggregate)!=0; + memset(&sSort, 0, sizeof(sSort)); + sSort.pOrderBy = p->pOrderBy; + + /* Try to various optimizations (flattening subqueries, and strength + ** reduction of join operators) in the FROM clause up into the main query */ #if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) for(i=0; !p->pPrior && inSrc; i++){ struct SrcList_item *pItem = &pTabList->a[i]; Select *pSub = pItem->pSelect; Table *pTab = pItem->pTab; + + /* Convert LEFT JOIN into JOIN if there are terms of the right table + ** of the LEFT JOIN used in the WHERE clause. + */ + if( (pItem->fg.jointype & JT_LEFT)!=0 + && sqlite3ExprImpliesNonNullRow(p->pWhere, pItem->iCursor) + && OptimizationEnabled(db, SQLITE_SimplifyJoin) + ){ + SELECTTRACE(0x100,pParse,p, + ("LEFT-JOIN simplifies to JOIN on term %d\n",i)); + pItem->fg.jointype &= ~(JT_LEFT|JT_OUTER); + unsetJoinExpr(p->pWhere, pItem->iCursor); + } + + /* No futher action if this term of the FROM clause is no a subquery */ if( pSub==0 ) continue; /* Catch mismatch in the declared columns of a view and the number of @@ -123943,15 +129657,46 @@ SQLITE_PRIVATE int sqlite3Select( */ if( p->pPrior ){ rc = multiSelect(pParse, p, pDest); - explainSetInteger(pParse->iSelectId, iRestoreSelectId); #if SELECTTRACE_ENABLED - SELECTTRACE(1,pParse,p,("end compound-select processing\n")); - pParse->nSelectIndent--; + SELECTTRACE(0x1,pParse,p,("end compound-select processing\n")); + if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ + sqlite3TreeViewSelect(0, p, 0); + } #endif + if( p->pNext==0 ) ExplainQueryPlanPop(pParse); return rc; } #endif + /* Do the WHERE-clause constant propagation optimization if this is + ** a join. No need to speed time on this operation for non-join queries + ** as the equivalent optimization will be handled by query planner in + ** sqlite3WhereBegin(). + */ + if( pTabList->nSrc>1 + && OptimizationEnabled(db, SQLITE_PropagateConst) + && propagateConstants(pParse, p) + ){ +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x100 ){ + SELECTTRACE(0x100,pParse,p,("After constant propagation:\n")); + sqlite3TreeViewSelect(0, p, 0); + } +#endif + }else{ + SELECTTRACE(0x100,pParse,p,("Constant propagation not helpful\n")); + } + +#ifdef SQLITE_COUNTOFVIEW_OPTIMIZATION + if( OptimizationEnabled(db, SQLITE_QueryFlattener|SQLITE_CountOfView) + && countOfViewOptimization(pParse, p) + ){ + if( db->mallocFailed ) goto select_end; + pEList = p->pEList; + pTabList = p->pSrc; + } +#endif + /* For each term in the FROM clause, do two things: ** (1) Authorized unreferenced tables ** (2) Generate code for all sub-queries @@ -124019,15 +129764,19 @@ SQLITE_PRIVATE int sqlite3Select( /* Make copies of constant WHERE-clause terms in the outer query down ** inside the subquery. This can help the subquery to run more efficiently. */ - if( (pItem->fg.jointype & JT_OUTER)==0 - && pushDownWhereTerms(pParse, pSub, p->pWhere, pItem->iCursor) + if( OptimizationEnabled(db, SQLITE_PushDown) + && pushDownWhereTerms(pParse, pSub, p->pWhere, pItem->iCursor, + (pItem->fg.jointype & JT_OUTER)!=0) ){ #if SELECTTRACE_ENABLED if( sqlite3SelectTrace & 0x100 ){ - SELECTTRACE(0x100,pParse,p,("After WHERE-clause push-down:\n")); + SELECTTRACE(0x100,pParse,p, + ("After WHERE-clause push-down into subquery %d:\n", pSub->selId)); sqlite3TreeViewSelect(0, p, 0); } #endif + }else{ + SELECTTRACE(0x100,pParse,p,("Push-down not possible\n")); } zSavedAuthContext = pParse->zAuthContext; @@ -124056,7 +129805,7 @@ SQLITE_PRIVATE int sqlite3Select( VdbeComment((v, "%s", pItem->pTab->zName)); pItem->addrFillSub = addrTop; sqlite3SelectDestInit(&dest, SRT_Coroutine, pItem->regReturn); - explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); + ExplainQueryPlan((pParse, 1, "CO-ROUTINE %u", pSub->selId)); sqlite3Select(pParse, pSub, &dest); pItem->pTab->nRowLogEst = pSub->nSelectRow; pItem->fg.viaCoroutine = 1; @@ -124091,12 +129840,11 @@ SQLITE_PRIVATE int sqlite3Select( pPrior = isSelfJoinView(pTabList, pItem); if( pPrior ){ sqlite3VdbeAddOp2(v, OP_OpenDup, pItem->iCursor, pPrior->iCursor); - explainSetInteger(pItem->iSelectId, pPrior->iSelectId); assert( pPrior->pSelect!=0 ); pSub->nSelectRow = pPrior->pSelect->nSelectRow; }else{ sqlite3SelectDestInit(&dest, SRT_EphemTab, pItem->iCursor); - explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); + ExplainQueryPlan((pParse, 1, "MATERIALIZE %u", pSub->selId)); sqlite3Select(pParse, pSub, &dest); } pItem->pTab->nRowLogEst = pSub->nSelectRow; @@ -124127,16 +129875,6 @@ SQLITE_PRIVATE int sqlite3Select( } #endif -#ifdef SQLITE_COUNTOFVIEW_OPTIMIZATION - if( OptimizationEnabled(db, SQLITE_QueryFlattener|SQLITE_CountOfView) - && countOfViewOptimization(pParse, p) - ){ - if( db->mallocFailed ) goto select_end; - pEList = p->pEList; - pTabList = p->pSrc; - } -#endif - /* If the query is DISTINCT with an ORDER BY but is not an aggregate, and ** if the select-list is the same as the ORDER BY list, then this query ** can be rewritten as a GROUP BY. In other words, this: @@ -124180,7 +129918,8 @@ SQLITE_PRIVATE int sqlite3Select( */ if( sSort.pOrderBy ){ KeyInfo *pKeyInfo; - pKeyInfo = keyInfoFromExprList(pParse, sSort.pOrderBy, 0, pEList->nExpr); + pKeyInfo = sqlite3KeyInfoFromExprList( + pParse, sSort.pOrderBy, 0, pEList->nExpr); sSort.iECursor = pParse->nTab++; sSort.addrSortIndex = sqlite3VdbeAddOp4(v, OP_OpenEphemeral, @@ -124214,9 +129953,9 @@ SQLITE_PRIVATE int sqlite3Select( if( p->selFlags & SF_Distinct ){ sDistinct.tabTnct = pParse->nTab++; sDistinct.addrTnct = sqlite3VdbeAddOp4(v, OP_OpenEphemeral, - sDistinct.tabTnct, 0, 0, - (char*)keyInfoFromExprList(pParse, p->pEList,0,0), - P4_KEYINFO); + sDistinct.tabTnct, 0, 0, + (char*)sqlite3KeyInfoFromExprList(pParse, p->pEList,0,0), + P4_KEYINFO); sqlite3VdbeChangeP5(v, BTREE_UNORDERED); sDistinct.eTnctType = WHERE_DISTINCT_UNORDERED; }else{ @@ -124225,11 +129964,19 @@ SQLITE_PRIVATE int sqlite3Select( if( !isAgg && pGroupBy==0 ){ /* No aggregate functions and no GROUP BY clause */ - u16 wctrlFlags = (sDistinct.isTnct ? WHERE_WANT_DISTINCT : 0); + u16 wctrlFlags = (sDistinct.isTnct ? WHERE_WANT_DISTINCT : 0) + | (p->selFlags & SF_FixedLimit); +#ifndef SQLITE_OMIT_WINDOWFUNC + Window *pWin = p->pWin; /* Master window object (or NULL) */ + if( pWin ){ + sqlite3WindowCodeInit(pParse, pWin); + } +#endif assert( WHERE_USE_LIMIT==SF_FixedLimit ); - wctrlFlags |= p->selFlags & SF_FixedLimit; + /* Begin the database scan. */ + SELECTTRACE(1,pParse,p,("WhereBegin\n")); pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, sSort.pOrderBy, p->pEList, wctrlFlags, p->nSelectRow); if( pWInfo==0 ) goto select_end; @@ -124241,7 +129988,7 @@ SQLITE_PRIVATE int sqlite3Select( } if( sSort.pOrderBy ){ sSort.nOBSat = sqlite3WhereIsOrdered(pWInfo); - sSort.bOrderedInnerLoop = sqlite3WhereOrderedInnerLoop(pWInfo); + sSort.labelOBLopt = sqlite3WhereOrderByLimitOptLabel(pWInfo); if( sSort.nOBSat==sSort.pOrderBy->nExpr ){ sSort.pOrderBy = 0; } @@ -124255,15 +130002,37 @@ SQLITE_PRIVATE int sqlite3Select( sqlite3VdbeChangeToNoop(v, sSort.addrSortIndex); } - /* Use the standard inner loop. */ assert( p->pEList==pEList ); - selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, - sqlite3WhereContinueLabel(pWInfo), - sqlite3WhereBreakLabel(pWInfo)); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( pWin ){ + int addrGosub = sqlite3VdbeMakeLabel(v); + int iCont = sqlite3VdbeMakeLabel(v); + int iBreak = sqlite3VdbeMakeLabel(v); + int regGosub = ++pParse->nMem; + + sqlite3WindowCodeStep(pParse, p, pWInfo, regGosub, addrGosub); + + sqlite3VdbeAddOp2(v, OP_Goto, 0, iBreak); + sqlite3VdbeResolveLabel(v, addrGosub); + VdbeNoopComment((v, "inner-loop subroutine")); + sSort.labelOBLopt = 0; + selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, iCont, iBreak); + sqlite3VdbeResolveLabel(v, iCont); + sqlite3VdbeAddOp1(v, OP_Return, regGosub); + VdbeComment((v, "end inner-loop subroutine")); + sqlite3VdbeResolveLabel(v, iBreak); + }else +#endif /* SQLITE_OMIT_WINDOWFUNC */ + { + /* Use the standard inner loop. */ + selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, + sqlite3WhereContinueLabel(pWInfo), + sqlite3WhereBreakLabel(pWInfo)); - /* End the database scan loop. - */ - sqlite3WhereEnd(pWInfo); + /* End the database scan loop. + */ + sqlite3WhereEnd(pWInfo); + } }else{ /* This case when there exist aggregate functions or a GROUP BY clause ** or both */ @@ -124322,7 +130091,8 @@ SQLITE_PRIVATE int sqlite3Select( memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; sNC.pSrcList = pTabList; - sNC.pAggInfo = &sAggInfo; + sNC.uNC.pAggInfo = &sAggInfo; + VVA_ONLY( sNC.ncFlags = NC_UAggInfo; ) sAggInfo.mnReg = pParse->nMem+1; sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; sAggInfo.pGroupBy = pGroupBy; @@ -124331,7 +130101,9 @@ SQLITE_PRIVATE int sqlite3Select( if( pHaving ){ if( pGroupBy ){ assert( pWhere==p->pWhere ); - havingToWhere(pParse, pGroupBy, pHaving, &p->pWhere); + assert( pHaving==p->pHaving ); + assert( pGroupBy==p->pGroupBy ); + havingToWhere(pParse, p); pWhere = p->pWhere; } sqlite3ExprAnalyzeAggregates(&sNC, pHaving); @@ -124389,7 +130161,7 @@ SQLITE_PRIVATE int sqlite3Select( ** will be converted into a Noop. */ sAggInfo.sortingIdx = pParse->nTab++; - pKeyInfo = keyInfoFromExprList(pParse, pGroupBy, 0, sAggInfo.nColumn); + pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pGroupBy,0,sAggInfo.nColumn); addrSortingIdx = sqlite3VdbeAddOp4(v, OP_SorterOpen, sAggInfo.sortingIdx, sAggInfo.nSortingColumn, 0, (char*)pKeyInfo, P4_KEYINFO); @@ -124408,8 +130180,6 @@ SQLITE_PRIVATE int sqlite3Select( pParse->nMem += pGroupBy->nExpr; sqlite3VdbeAddOp2(v, OP_Integer, 0, iAbortFlag); VdbeComment((v, "clear abort flag")); - sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag); - VdbeComment((v, "indicate accumulator empty")); sqlite3VdbeAddOp3(v, OP_Null, 0, iAMem, iAMem+pGroupBy->nExpr-1); /* Begin a loop that will extract all source rows in GROUP BY order. @@ -124418,6 +130188,7 @@ SQLITE_PRIVATE int sqlite3Select( ** in the right order to begin with. */ sqlite3VdbeAddOp2(v, OP_Gosub, regReset, addrReset); + SELECTTRACE(1,pParse,p,("WhereBegin\n")); pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pGroupBy, 0, WHERE_GROUPBY | (orderByGrp ? WHERE_SORTBYGROUP : 0), 0 ); @@ -124454,15 +130225,14 @@ SQLITE_PRIVATE int sqlite3Select( } } regBase = sqlite3GetTempRange(pParse, nCol); - sqlite3ExprCacheClear(pParse); sqlite3ExprCodeExprList(pParse, pGroupBy, regBase, 0, 0); j = nGroupBy; for(i=0; iiSorterColumn>=j ){ int r1 = j + regBase; - sqlite3ExprCodeGetColumnToReg(pParse, - pCol->pTab, pCol->iColumn, pCol->iTable, r1); + sqlite3ExprCodeGetColumnOfTable(v, + pCol->pTab, pCol->iTable, pCol->iColumn, r1); j++; } } @@ -124478,8 +130248,6 @@ SQLITE_PRIVATE int sqlite3Select( sqlite3VdbeAddOp2(v, OP_SorterSort, sAggInfo.sortingIdx, addrEnd); VdbeComment((v, "GROUP BY sort")); VdbeCoverage(v); sAggInfo.useSortingIdx = 1; - sqlite3ExprCacheClear(pParse); - } /* If the index or temporary table used by the GROUP BY sort @@ -124502,7 +130270,6 @@ SQLITE_PRIVATE int sqlite3Select( ** from the previous row currently stored in a0, a1, a2... */ addrTopOfLoop = sqlite3VdbeCurrentAddr(v); - sqlite3ExprCacheClear(pParse); if( groupBySort ){ sqlite3VdbeAddOp3(v, OP_SorterData, sAggInfo.sortingIdx, sortOut, sortPTab); @@ -124541,7 +130308,7 @@ SQLITE_PRIVATE int sqlite3Select( ** the current row */ sqlite3VdbeJumpHere(v, addr1); - updateAccumulator(pParse, &sAggInfo); + updateAccumulator(pParse, iUseFlag, &sAggInfo); sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag); VdbeComment((v, "indicate data in accumulator")); @@ -124593,6 +130360,8 @@ SQLITE_PRIVATE int sqlite3Select( */ sqlite3VdbeResolveLabel(v, addrReset); resetAccumulator(pParse, &sAggInfo); + sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag); + VdbeComment((v, "indicate accumulator empty")); sqlite3VdbeAddOp1(v, OP_Return, regReset); } /* endif pGroupBy. Begin aggregate queries without GROUP BY: */ @@ -124658,6 +130427,23 @@ SQLITE_PRIVATE int sqlite3Select( }else #endif /* SQLITE_OMIT_BTREECOUNT */ { + 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( sAggInfo.nAccumulator ){ + for(i=0; ifuncFlags&SQLITE_FUNC_NEEDCOLL ) break; + } + if( i==sAggInfo.nFunc ){ + regAcc = ++pParse->nMem; + sqlite3VdbeAddOp2(v, OP_Integer, 0, regAcc); + } + } + /* This case runs if the aggregate has no GROUP BY clause. The ** processing is much simpler since there is only a single row ** of output. @@ -124673,12 +130459,14 @@ SQLITE_PRIVATE int sqlite3Select( assert( minMaxFlag==WHERE_ORDERBY_NORMAL || pMinMaxOrderBy!=0 ); assert( pMinMaxOrderBy==0 || pMinMaxOrderBy->nExpr==1 ); + SELECTTRACE(1,pParse,p,("WhereBegin\n")); pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMaxOrderBy, 0, minMaxFlag, 0); if( pWInfo==0 ){ goto select_end; } - updateAccumulator(pParse, &sAggInfo); + updateAccumulator(pParse, regAcc, &sAggInfo); + if( regAcc ) sqlite3VdbeAddOp2(v, OP_Integer, 1, regAcc); if( sqlite3WhereIsOrdered(pWInfo)>0 ){ sqlite3VdbeGoto(v, sqlite3WhereBreakLabel(pWInfo)); VdbeComment((v, "%s() by index", @@ -124707,6 +130495,7 @@ SQLITE_PRIVATE int sqlite3Select( if( sSort.pOrderBy ){ explainTempTable(pParse, sSort.nOBSat>0 ? "RIGHT PART OF ORDER BY":"ORDER BY"); + assert( p->pEList==pEList ); generateSortTail(pParse, p, &sSort, pEList->nExpr, pDest); } @@ -124722,14 +130511,16 @@ SQLITE_PRIVATE int sqlite3Select( ** successful coding of the SELECT. */ select_end: - explainSetInteger(pParse->iSelectId, iRestoreSelectId); sqlite3ExprListDelete(db, pMinMaxOrderBy); sqlite3DbFree(db, sAggInfo.aCol); sqlite3DbFree(db, sAggInfo.aFunc); #if SELECTTRACE_ENABLED - SELECTTRACE(1,pParse,p,("end processing\n")); - pParse->nSelectIndent--; + SELECTTRACE(0x1,pParse,p,("end processing\n")); + if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ + sqlite3TreeViewSelect(0, p, 0); + } #endif + ExplainQueryPlanPop(pParse); return rc; } @@ -124963,6 +130754,7 @@ SQLITE_PRIVATE void sqlite3DeleteTriggerStep(sqlite3 *db, TriggerStep *pTriggerS sqlite3ExprListDelete(db, pTmp->pExprList); sqlite3SelectDelete(db, pTmp->pSelect); sqlite3IdListDelete(db, pTmp->pIdList); + sqlite3UpsertDelete(db, pTmp->pUpsert); sqlite3DbFree(db, pTmp->zSpan); sqlite3DbFree(db, pTmp); @@ -125118,14 +130910,16 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( goto trigger_cleanup; } assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash),zName) ){ - if( !noErr ){ - sqlite3ErrorMsg(pParse, "trigger %T already exists", pName); - }else{ - assert( !db->init.busy ); - sqlite3CodeVerifySchema(pParse, iDb); + if( !IN_RENAME_OBJECT ){ + if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash),zName) ){ + if( !noErr ){ + sqlite3ErrorMsg(pParse, "trigger %T already exists", pName); + }else{ + assert( !db->init.busy ); + sqlite3CodeVerifySchema(pParse, iDb); + } + goto trigger_cleanup; } - goto trigger_cleanup; } /* Do not create a trigger on a system table */ @@ -125149,7 +130943,7 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( } #ifndef SQLITE_OMIT_AUTHORIZATION - { + if( !IN_RENAME_OBJECT ){ int iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); int code = SQLITE_CREATE_TRIGGER; const char *zDb = db->aDb[iTabDb].zDbSName; @@ -125183,8 +130977,15 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( pTrigger->pTabSchema = pTab->pSchema; pTrigger->op = (u8)op; pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER; - pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE); - pTrigger->pColumns = sqlite3IdListDup(db, pColumns); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, pTrigger->table, pTableName->a[0].zName); + pTrigger->pWhen = pWhen; + pWhen = 0; + }else{ + pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE); + } + pTrigger->pColumns = pColumns; + pColumns = 0; assert( pParse->pNewTrigger==0 ); pParse->pNewTrigger = pTrigger; @@ -125233,6 +131034,14 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( goto triggerfinish_cleanup; } +#ifndef SQLITE_OMIT_ALTERTABLE + if( IN_RENAME_OBJECT ){ + assert( !db->init.busy ); + pParse->pNewTrigger = pTrig; + pTrig = 0; + }else +#endif + /* if we are not initializing, ** build the sqlite_master entry */ @@ -125274,7 +131083,7 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( triggerfinish_cleanup: sqlite3DeleteTrigger(db, pTrig); - assert( !pParse->pNewTrigger ); + assert( IN_RENAME_OBJECT || !pParse->pNewTrigger ); sqlite3DeleteTriggerStep(db, pStepList); } @@ -125321,12 +131130,13 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep( ** If an OOM error occurs, NULL is returned and db->mallocFailed is set. */ static TriggerStep *triggerStepAllocate( - sqlite3 *db, /* Database connection */ + Parse *pParse, /* Parser context */ u8 op, /* Trigger opcode */ Token *pName, /* The target name */ const char *zStart, /* Start of SQL text */ const char *zEnd /* End of SQL text */ ){ + sqlite3 *db = pParse->db; TriggerStep *pTriggerStep; pTriggerStep = sqlite3DbMallocZero(db, sizeof(TriggerStep) + pName->n + 1); @@ -125337,6 +131147,9 @@ static TriggerStep *triggerStepAllocate( pTriggerStep->zTarget = z; pTriggerStep->op = op; pTriggerStep->zSpan = triggerSpanDup(db, zStart, zEnd); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, pTriggerStep->zTarget, pName); + } } return pTriggerStep; } @@ -125349,25 +131162,36 @@ static TriggerStep *triggerStepAllocate( ** body of a trigger. */ SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep( - sqlite3 *db, /* The database connection */ + Parse *pParse, /* Parser */ Token *pTableName, /* Name of the table into which we insert */ IdList *pColumn, /* List of columns in pTableName to insert into */ Select *pSelect, /* A SELECT statement that supplies values */ u8 orconf, /* The conflict algorithm (OE_Abort, OE_Replace, etc.) */ + Upsert *pUpsert, /* ON CONFLICT clauses for upsert */ const char *zStart, /* Start of SQL text */ const char *zEnd /* End of SQL text */ ){ + sqlite3 *db = pParse->db; TriggerStep *pTriggerStep; assert(pSelect != 0 || db->mallocFailed); - pTriggerStep = triggerStepAllocate(db, TK_INSERT, pTableName, zStart, zEnd); + pTriggerStep = triggerStepAllocate(pParse, TK_INSERT, pTableName,zStart,zEnd); if( pTriggerStep ){ - pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); + if( IN_RENAME_OBJECT ){ + pTriggerStep->pSelect = pSelect; + pSelect = 0; + }else{ + pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); + } pTriggerStep->pIdList = pColumn; + pTriggerStep->pUpsert = pUpsert; pTriggerStep->orconf = orconf; }else{ + testcase( pColumn ); sqlite3IdListDelete(db, pColumn); + testcase( pUpsert ); + sqlite3UpsertDelete(db, pUpsert); } sqlite3SelectDelete(db, pSelect); @@ -125380,7 +131204,7 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep( ** sees an UPDATE statement inside the body of a CREATE TRIGGER. */ SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep( - sqlite3 *db, /* The database connection */ + Parse *pParse, /* Parser */ Token *pTableName, /* Name of the table to be updated */ ExprList *pEList, /* The SET clause: list of column and new values */ Expr *pWhere, /* The WHERE clause */ @@ -125388,12 +131212,20 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep( const char *zStart, /* Start of SQL text */ const char *zEnd /* End of SQL text */ ){ + sqlite3 *db = pParse->db; TriggerStep *pTriggerStep; - pTriggerStep = triggerStepAllocate(db, TK_UPDATE, pTableName, zStart, zEnd); + pTriggerStep = triggerStepAllocate(pParse, TK_UPDATE, pTableName,zStart,zEnd); if( pTriggerStep ){ - pTriggerStep->pExprList = sqlite3ExprListDup(db, pEList, EXPRDUP_REDUCE); - pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); + if( IN_RENAME_OBJECT ){ + pTriggerStep->pExprList = pEList; + pTriggerStep->pWhere = pWhere; + pEList = 0; + pWhere = 0; + }else{ + pTriggerStep->pExprList = sqlite3ExprListDup(db, pEList, EXPRDUP_REDUCE); + pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); + } pTriggerStep->orconf = orconf; } sqlite3ExprListDelete(db, pEList); @@ -125407,17 +131239,23 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep( ** sees a DELETE statement inside the body of a CREATE TRIGGER. */ SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep( - sqlite3 *db, /* Database connection */ + Parse *pParse, /* Parser */ Token *pTableName, /* The table from which rows are deleted */ Expr *pWhere, /* The WHERE clause */ const char *zStart, /* Start of SQL text */ const char *zEnd /* End of SQL text */ ){ + sqlite3 *db = pParse->db; TriggerStep *pTriggerStep; - pTriggerStep = triggerStepAllocate(db, TK_DELETE, pTableName, zStart, zEnd); + pTriggerStep = triggerStepAllocate(pParse, TK_DELETE, pTableName,zStart,zEnd); if( pTriggerStep ){ - pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); + if( IN_RENAME_OBJECT ){ + pTriggerStep->pWhere = pWhere; + pWhere = 0; + }else{ + pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); + } pTriggerStep->orconf = OE_Default; } sqlite3ExprDelete(db, pWhere); @@ -125684,7 +131522,7 @@ static int codeTriggerProgram( targetSrcList(pParse, pStep), sqlite3ExprListDup(db, pStep->pExprList, 0), sqlite3ExprDup(db, pStep->pWhere, 0), - pParse->eOrconf, 0, 0 + pParse->eOrconf, 0, 0, 0 ); break; } @@ -125693,7 +131531,8 @@ static int codeTriggerProgram( targetSrcList(pParse, pStep), sqlite3SelectDup(db, pStep->pSelect, 0), sqlite3IdListDup(db, pStep->pIdList), - pParse->eOrconf + pParse->eOrconf, + sqlite3UpsertDup(db, pStep->pUpsert) ); break; } @@ -126157,6 +131996,57 @@ SQLITE_PRIVATE void sqlite3ColumnDefault(Vdbe *v, Table *pTab, int i, int iReg){ #endif } +/* +** Check to see if column iCol of index pIdx references any of the +** columns defined by aXRef and chngRowid. Return true if it does +** and false if not. This is an optimization. False-positives are a +** performance degradation, but false-negatives can result in a corrupt +** index and incorrect answers. +** +** aXRef[j] will be non-negative if column j of the original table is +** being updated. chngRowid will be true if the rowid of the table is +** being updated. +*/ +static int indexColumnIsBeingUpdated( + Index *pIdx, /* The index to check */ + int iCol, /* Which column of the index to check */ + int *aXRef, /* aXRef[j]>=0 if column j is being updated */ + int chngRowid /* true if the rowid is being updated */ +){ + i16 iIdxCol = pIdx->aiColumn[iCol]; + assert( iIdxCol!=XN_ROWID ); /* Cannot index rowid */ + if( iIdxCol>=0 ){ + return aXRef[iIdxCol]>=0; + } + assert( iIdxCol==XN_EXPR ); + assert( pIdx->aColExpr!=0 ); + assert( pIdx->aColExpr->a[iCol].pExpr!=0 ); + return sqlite3ExprReferencesUpdatedColumn(pIdx->aColExpr->a[iCol].pExpr, + aXRef,chngRowid); +} + +/* +** Check to see if index pIdx is a partial index whose conditional +** expression might change values due to an UPDATE. Return true if +** the index is subject to change and false if the index is guaranteed +** to be unchanged. This is an optimization. False-positives are a +** performance degradation, but false-negatives can result in a corrupt +** index and incorrect answers. +** +** aXRef[j] will be non-negative if column j of the original table is +** being updated. chngRowid will be true if the rowid of the table is +** being updated. +*/ +static int indexWhereClauseMightChange( + Index *pIdx, /* The index to check */ + int *aXRef, /* aXRef[j]>=0 if column j is being updated */ + int chngRowid /* true if the rowid is being updated */ +){ + if( pIdx->pPartIdxWhere==0 ) return 0; + return sqlite3ExprReferencesUpdatedColumn(pIdx->pPartIdxWhere, + aXRef, chngRowid); +} + /* ** Process an UPDATE statement. ** @@ -126171,7 +132061,8 @@ SQLITE_PRIVATE void sqlite3Update( Expr *pWhere, /* The WHERE clause. May be null */ int onError, /* How to handle constraint errors */ ExprList *pOrderBy, /* ORDER BY clause. May be null */ - Expr *pLimit /* LIMIT clause. May be null */ + Expr *pLimit, /* LIMIT clause. May be null */ + Upsert *pUpsert /* ON CONFLICT clause, or null */ ){ int i, j; /* Loop counters */ Table *pTab; /* The table to be updated */ @@ -126278,16 +132169,23 @@ SQLITE_PRIVATE void sqlite3Update( ** need to occur right after the database cursor. So go ahead and ** allocate enough space, just in case. */ - pTabList->a[0].iCursor = iBaseCur = iDataCur = pParse->nTab++; + iBaseCur = iDataCur = pParse->nTab++; iIdxCur = iDataCur+1; pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); + testcase( pPk!=0 && pPk!=pTab->pIndex ); for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ - if( IsPrimaryKeyIndex(pIdx) && pPk!=0 ){ + if( pPk==pIdx ){ iDataCur = pParse->nTab; - pTabList->a[0].iCursor = iDataCur; } pParse->nTab++; } + if( pUpsert ){ + /* On an UPSERT, reuse the same cursors already opened by INSERT */ + iDataCur = pUpsert->iDataCur; + iIdxCur = pUpsert->iIdxCur; + pParse->nTab = iBaseCur; + } + pTabList->a[0].iCursor = iDataCur; /* Allocate space for aXRef[], aRegIdx[], and aToOpen[]. ** Initialize aXRef[] and aToOpen[] to their default values. @@ -126304,6 +132202,8 @@ SQLITE_PRIVATE void sqlite3Update( memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; sNC.pSrcList = pTabList; + sNC.uNC.pUpsert = pUpsert; + sNC.ncFlags = NC_UUpsert; /* Resolve the column names in all the expressions of the ** of the UPDATE statement. Also find the column index @@ -126370,19 +132270,18 @@ SQLITE_PRIVATE void sqlite3Update( /* There is one entry in the aRegIdx[] array for each index on the table ** being updated. Fill in aRegIdx[] with a register number that will hold ** the key for accessing each index. - ** - ** FIXME: Be smarter about omitting indexes that use expressions. */ for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ int reg; - if( chngKey || hasFK>1 || pIdx->pPartIdxWhere || pIdx==pPk ){ + if( chngKey || hasFK>1 || pIdx==pPk + || indexWhereClauseMightChange(pIdx,aXRef,chngRowid) + ){ reg = ++pParse->nMem; pParse->nMem += pIdx->nColumn; }else{ reg = 0; for(i=0; inKeyCol; i++){ - i16 iIdxCol = pIdx->aiColumn[i]; - if( iIdxCol<0 || aXRef[iIdxCol]>=0 ){ + if( indexColumnIsBeingUpdated(pIdx, i, aXRef, chngRowid) ){ reg = ++pParse->nMem; pParse->nMem += pIdx->nColumn; if( (onError==OE_Replace) @@ -126407,7 +132306,7 @@ SQLITE_PRIVATE void sqlite3Update( v = sqlite3GetVdbe(pParse); if( v==0 ) goto update_cleanup; if( pParse->nested==0 ) sqlite3VdbeCountChanges(v); - sqlite3BeginWriteOperation(pParse, 1, iDb); + sqlite3BeginWriteOperation(pParse, pTrigger || hasFK, iDb); /* Allocate required registers. */ if( !IsVirtual(pTab) ){ @@ -126458,8 +132357,16 @@ SQLITE_PRIVATE void sqlite3Update( } #endif - /* Initialize the count of updated rows */ - if( (db->flags & SQLITE_CountRows) && !pParse->pTriggerTab ){ + /* Jump to labelBreak to abandon further processing of this UPDATE */ + labelContinue = labelBreak = sqlite3VdbeMakeLabel(v); + + /* Not an UPSERT. Normal processing. Begin by + ** initialize the count of updated rows */ + if( (db->flags&SQLITE_CountRows)!=0 + && !pParse->pTriggerTab + && !pParse->nested + && pUpsert==0 + ){ regRowCount = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Integer, 0, regRowCount); } @@ -126472,46 +132379,61 @@ SQLITE_PRIVATE void sqlite3Update( iPk = pParse->nMem+1; pParse->nMem += nPk; regKey = ++pParse->nMem; - iEph = pParse->nTab++; - - sqlite3VdbeAddOp2(v, OP_Null, 0, iPk); - addrOpen = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iEph, nPk); - sqlite3VdbeSetP4KeyInfo(pParse, pPk); - } - - /* Begin the database scan. - ** - ** Do not consider a single-pass strategy for a multi-row update if - ** there are any triggers or foreign keys to process, or rows may - ** be deleted as a result of REPLACE conflict handling. Any of these - ** things might disturb a cursor being used to scan through the table - ** or index, causing a single-pass approach to malfunction. */ - flags = WHERE_ONEPASS_DESIRED|WHERE_SEEK_UNIQ_TABLE; - if( !pParse->nested && !pTrigger && !hasFK && !chngKey && !bReplace ){ - flags |= WHERE_ONEPASS_MULTIROW; - } - pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, flags, iIdxCur); - if( pWInfo==0 ) goto update_cleanup; - - /* A one-pass strategy that might update more than one row may not - ** be used if any column of the index used for the scan is being - ** updated. Otherwise, if there is an index on "b", statements like - ** the following could create an infinite loop: - ** - ** UPDATE t1 SET b=b+1 WHERE b>? - ** - ** Fall back to ONEPASS_OFF if where.c has selected a ONEPASS_MULTI - ** strategy that uses an index for which one or more columns are being - ** updated. */ - eOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); - if( eOnePass==ONEPASS_MULTI ){ - int iCur = aiCurOnePass[1]; - if( iCur>=0 && iCur!=iDataCur && aToOpen[iCur-iBaseCur] ){ - eOnePass = ONEPASS_OFF; + if( pUpsert==0 ){ + iEph = pParse->nTab++; + sqlite3VdbeAddOp3(v, OP_Null, 0, iPk, iPk+nPk-1); + addrOpen = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iEph, nPk); + sqlite3VdbeSetP4KeyInfo(pParse, pPk); } - assert( iCur!=iDataCur || !HasRowid(pTab) ); } + if( pUpsert ){ + /* If this is an UPSERT, then all cursors have already been opened by + ** the outer INSERT and the data cursor should be pointing at the row + ** that is to be updated. So bypass the code that searches for the + ** row(s) to be updated. + */ + pWInfo = 0; + eOnePass = ONEPASS_SINGLE; + sqlite3ExprIfFalse(pParse, pWhere, labelBreak, SQLITE_JUMPIFNULL); + }else{ + /* Begin the database scan. + ** + ** Do not consider a single-pass strategy for a multi-row update if + ** there are any triggers or foreign keys to process, or rows may + ** be deleted as a result of REPLACE conflict handling. Any of these + ** things might disturb a cursor being used to scan through the table + ** or index, causing a single-pass approach to malfunction. */ + flags = WHERE_ONEPASS_DESIRED|WHERE_SEEK_UNIQ_TABLE; + if( !pParse->nested && !pTrigger && !hasFK && !chngKey && !bReplace ){ + flags |= WHERE_ONEPASS_MULTIROW; + } + pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, flags, iIdxCur); + if( pWInfo==0 ) goto update_cleanup; + + /* A one-pass strategy that might update more than one row may not + ** be used if any column of the index used for the scan is being + ** updated. Otherwise, if there is an index on "b", statements like + ** the following could create an infinite loop: + ** + ** UPDATE t1 SET b=b+1 WHERE b>? + ** + ** Fall back to ONEPASS_OFF if where.c has selected a ONEPASS_MULTI + ** strategy that uses an index for which one or more columns are being + ** updated. */ + eOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); + if( eOnePass!=ONEPASS_SINGLE ){ + sqlite3MultiWrite(pParse); + if( eOnePass==ONEPASS_MULTI ){ + int iCur = aiCurOnePass[1]; + if( iCur>=0 && iCur!=iDataCur && aToOpen[iCur-iBaseCur] ){ + eOnePass = ONEPASS_OFF; + } + assert( iCur!=iDataCur || !HasRowid(pTab) ); + } + } + } + if( HasRowid(pTab) ){ /* Read the rowid of the current row of the WHERE scan. In ONEPASS_OFF ** mode, write the rowid into the FIFO. In either of the one-pass modes, @@ -126531,7 +132453,7 @@ SQLITE_PRIVATE void sqlite3Update( sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur,pPk->aiColumn[i],iPk+i); } if( eOnePass ){ - sqlite3VdbeChangeToNoop(v, addrOpen); + if( addrOpen ) sqlite3VdbeChangeToNoop(v, addrOpen); nKey = nPk; regKey = iPk; }else{ @@ -126541,59 +132463,58 @@ SQLITE_PRIVATE void sqlite3Update( } } - if( eOnePass!=ONEPASS_MULTI ){ - sqlite3WhereEnd(pWInfo); - } - - labelBreak = sqlite3VdbeMakeLabel(v); - if( !isView ){ - int addrOnce = 0; - - /* Open every index that needs updating. */ - if( eOnePass!=ONEPASS_OFF ){ - if( aiCurOnePass[0]>=0 ) aToOpen[aiCurOnePass[0]-iBaseCur] = 0; - if( aiCurOnePass[1]>=0 ) aToOpen[aiCurOnePass[1]-iBaseCur] = 0; - } - - if( eOnePass==ONEPASS_MULTI && (nIdx-(aiCurOnePass[1]>=0))>0 ){ - addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + if( pUpsert==0 ){ + if( eOnePass!=ONEPASS_MULTI ){ + sqlite3WhereEnd(pWInfo); } - sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, iBaseCur, aToOpen, - 0, 0); - if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); - } - - /* Top of the update loop */ - if( eOnePass!=ONEPASS_OFF ){ - if( !isView && aiCurOnePass[0]!=iDataCur && aiCurOnePass[1]!=iDataCur ){ - assert( pPk ); - sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey, nKey); - VdbeCoverageNeverTaken(v); + + if( !isView ){ + int addrOnce = 0; + + /* Open every index that needs updating. */ + if( eOnePass!=ONEPASS_OFF ){ + if( aiCurOnePass[0]>=0 ) aToOpen[aiCurOnePass[0]-iBaseCur] = 0; + if( aiCurOnePass[1]>=0 ) aToOpen[aiCurOnePass[1]-iBaseCur] = 0; + } + + if( eOnePass==ONEPASS_MULTI && (nIdx-(aiCurOnePass[1]>=0))>0 ){ + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + } + sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, iBaseCur, + aToOpen, 0, 0); + if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); } - if( eOnePass==ONEPASS_SINGLE ){ - labelContinue = labelBreak; - }else{ + + /* Top of the update loop */ + if( eOnePass!=ONEPASS_OFF ){ + if( !isView && aiCurOnePass[0]!=iDataCur && aiCurOnePass[1]!=iDataCur ){ + assert( pPk ); + sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey,nKey); + VdbeCoverage(v); + } + if( eOnePass!=ONEPASS_SINGLE ){ + labelContinue = sqlite3VdbeMakeLabel(v); + } + sqlite3VdbeAddOp2(v, OP_IsNull, pPk ? regKey : regOldRowid, labelBreak); + VdbeCoverageIf(v, pPk==0); + VdbeCoverageIf(v, pPk!=0); + }else if( pPk ){ labelContinue = sqlite3VdbeMakeLabel(v); + sqlite3VdbeAddOp2(v, OP_Rewind, iEph, labelBreak); VdbeCoverage(v); + addrTop = sqlite3VdbeAddOp2(v, OP_RowData, iEph, regKey); + sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelContinue, regKey, 0); + VdbeCoverage(v); + }else{ + labelContinue = sqlite3VdbeAddOp3(v, OP_RowSetRead, regRowSet,labelBreak, + regOldRowid); + VdbeCoverage(v); + sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, labelContinue, regOldRowid); + VdbeCoverage(v); } - sqlite3VdbeAddOp2(v, OP_IsNull, pPk ? regKey : regOldRowid, labelBreak); - VdbeCoverageIf(v, pPk==0); - VdbeCoverageIf(v, pPk!=0); - }else if( pPk ){ - labelContinue = sqlite3VdbeMakeLabel(v); - sqlite3VdbeAddOp2(v, OP_Rewind, iEph, labelBreak); VdbeCoverage(v); - addrTop = sqlite3VdbeAddOp2(v, OP_RowData, iEph, regKey); - sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelContinue, regKey, 0); - VdbeCoverage(v); - }else{ - labelContinue = sqlite3VdbeAddOp3(v, OP_RowSetRead, regRowSet, labelBreak, - regOldRowid); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, labelContinue, regOldRowid); - VdbeCoverage(v); } - /* If the record number will change, set register regNewRowid to - ** contain the new value. If the record number is not being modified, + /* If the rowid value will change, set register regNewRowid to + ** contain the new value. If the rowid is not being modified, ** then regNewRowid is the same register as regOldRowid, which is ** already populated. */ assert( chngKey || pTrigger || hasFK || regOldRowid==regNewRowid ); @@ -126656,7 +132577,7 @@ SQLITE_PRIVATE void sqlite3Update( */ testcase( i==31 ); testcase( i==32 ); - sqlite3ExprCodeGetColumnToReg(pParse, pTab, i, iDataCur, regNew+i); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, i, regNew+i); }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, regNew+i); } @@ -126685,10 +132606,14 @@ SQLITE_PRIVATE void sqlite3Update( VdbeCoverage(v); } - /* If it did not delete it, the row-trigger may still have modified + /* After-BEFORE-trigger-reload-loop: + ** If it did not delete it, the BEFORE trigger may still have modified ** some of the columns of the row being updated. Load the values for - ** all columns not modified by the update statement into their - ** registers in case this has happened. + ** all columns not modified by the update statement into their registers + ** in case this has happened. Only unmodified columns are reloaded. + ** The values computed for modified columns use the values before the + ** BEFORE trigger runs. See test case trigger1-18.0 (added 2018-04-26) + ** for an example. */ for(i=0; inCol; i++){ if( aXRef[i]<0 && i!=pTab->iPKey ){ @@ -126704,7 +132629,7 @@ SQLITE_PRIVATE void sqlite3Update( assert( regOldRowid>0 ); sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, regNewRowid, regOldRowid, chngKey, onError, labelContinue, &bReplace, - aXRef); + aXRef, 0); /* Do FK constraint checks. */ if( hasFK ){ @@ -126774,7 +132699,7 @@ SQLITE_PRIVATE void sqlite3Update( /* Increment the row counter */ - if( (db->flags & SQLITE_CountRows) && !pParse->pTriggerTab){ + if( regRowCount ){ sqlite3VdbeAddOp2(v, OP_AddImm, regRowCount, 1); } @@ -126801,16 +132726,15 @@ SQLITE_PRIVATE void sqlite3Update( ** maximum rowid counter values recorded while inserting into ** autoincrement tables. */ - if( pParse->nested==0 && pParse->pTriggerTab==0 ){ + if( pParse->nested==0 && pParse->pTriggerTab==0 && pUpsert==0 ){ sqlite3AutoincrementEnd(pParse); } /* - ** Return the number of rows that were changed. If this routine is - ** generating code because of a call to sqlite3NestedParse(), do not - ** invoke the callback function. + ** Return the number of rows that were changed, if we are tracking + ** that information. */ - if( (db->flags&SQLITE_CountRows) && !pParse->pTriggerTab && !pParse->nested ){ + if( regRowCount ){ sqlite3VdbeAddOp2(v, OP_ResultRow, regRowCount, 1); sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "rows updated", SQLITE_STATIC); @@ -126882,7 +132806,7 @@ static void updateVirtualTable( int regRowid; /* Register for ephem table rowid */ int iCsr = pSrc->a[0].iCursor; /* Cursor used for virtual table scan */ int aDummy[2]; /* Unused arg for sqlite3WhereOkOnePass() */ - int bOnePass; /* True to use onepass strategy */ + int eOnePass; /* True to use onepass strategy */ int addr; /* Address of OP_OpenEphemeral */ /* Allocate nArg registers in which to gather the arguments for VUpdate. Then @@ -126906,7 +132830,7 @@ static void updateVirtualTable( sqlite3ExprCode(pParse, pChanges->a[aXRef[i]].pExpr, regArg+2+i); }else{ sqlite3VdbeAddOp3(v, OP_VColumn, iCsr, i, regArg+2+i); - sqlite3VdbeChangeP5(v, 1); /* Enable sqlite3_vtab_nochange() */ + sqlite3VdbeChangeP5(v, OPFLAG_NOCHNG);/* Enable sqlite3_vtab_nochange() */ } } if( HasRowid(pTab) ){ @@ -126927,19 +132851,20 @@ static void updateVirtualTable( sqlite3VdbeAddOp2(v, OP_SCopy, regArg+2+iPk, regArg+1); } - bOnePass = sqlite3WhereOkOnePass(pWInfo, aDummy); + eOnePass = sqlite3WhereOkOnePass(pWInfo, aDummy); - if( bOnePass ){ + /* There is no ONEPASS_MULTI on virtual tables */ + assert( eOnePass==ONEPASS_OFF || eOnePass==ONEPASS_SINGLE ); + + if( eOnePass ){ /* If using the onepass strategy, no-op out the OP_OpenEphemeral coded - ** above. Also, if this is a top-level parse (not a trigger), clear the - ** multi-write flag so that the VM does not open a statement journal */ + ** above. */ sqlite3VdbeChangeToNoop(v, addr); - if( sqlite3IsToplevel(pParse) ){ - pParse->isMultiWrite = 0; - } + sqlite3VdbeAddOp1(v, OP_Close, iCsr); }else{ /* Create a record from the argument register contents and insert it into ** the ephemeral table. */ + sqlite3MultiWrite(pParse); sqlite3VdbeAddOp3(v, OP_MakeRecord, regArg, nArg, regRec); #ifdef SQLITE_DEBUG /* Signal an assert() within OP_MakeRecord that it is allowed to @@ -126951,7 +132876,7 @@ static void updateVirtualTable( } - if( bOnePass==0 ){ + if( eOnePass==ONEPASS_OFF ){ /* End the virtual table scan */ sqlite3WhereEnd(pWInfo); @@ -126971,7 +132896,7 @@ static void updateVirtualTable( /* End of the ephemeral table scan. Or, if using the onepass strategy, ** jump to here if the scan visited zero rows. */ - if( bOnePass==0 ){ + if( eOnePass==ONEPASS_OFF ){ sqlite3VdbeAddOp2(v, OP_Next, ephemTab, addr+1); VdbeCoverage(v); sqlite3VdbeJumpHere(v, addr); sqlite3VdbeAddOp2(v, OP_Close, ephemTab, 0); @@ -126982,6 +132907,261 @@ static void updateVirtualTable( #endif /* SQLITE_OMIT_VIRTUALTABLE */ /************** End of update.c **********************************************/ +/************** Begin file upsert.c ******************************************/ +/* +** 2018-04-12 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This file contains code to implement various aspects of UPSERT +** processing and handling of the Upsert object. +*/ +/* #include "sqliteInt.h" */ + +#ifndef SQLITE_OMIT_UPSERT +/* +** Free a list of Upsert objects +*/ +SQLITE_PRIVATE void sqlite3UpsertDelete(sqlite3 *db, Upsert *p){ + if( p ){ + sqlite3ExprListDelete(db, p->pUpsertTarget); + sqlite3ExprDelete(db, p->pUpsertTargetWhere); + sqlite3ExprListDelete(db, p->pUpsertSet); + sqlite3ExprDelete(db, p->pUpsertWhere); + sqlite3DbFree(db, p); + } +} + +/* +** Duplicate an Upsert object. +*/ +SQLITE_PRIVATE Upsert *sqlite3UpsertDup(sqlite3 *db, Upsert *p){ + if( p==0 ) return 0; + return sqlite3UpsertNew(db, + sqlite3ExprListDup(db, p->pUpsertTarget, 0), + sqlite3ExprDup(db, p->pUpsertTargetWhere, 0), + sqlite3ExprListDup(db, p->pUpsertSet, 0), + sqlite3ExprDup(db, p->pUpsertWhere, 0) + ); +} + +/* +** Create a new Upsert object. +*/ +SQLITE_PRIVATE Upsert *sqlite3UpsertNew( + sqlite3 *db, /* Determines which memory allocator to use */ + ExprList *pTarget, /* Target argument to ON CONFLICT, or NULL */ + Expr *pTargetWhere, /* Optional WHERE clause on the target */ + ExprList *pSet, /* UPDATE columns, or NULL for a DO NOTHING */ + Expr *pWhere /* WHERE clause for the ON CONFLICT UPDATE */ +){ + Upsert *pNew; + pNew = sqlite3DbMallocRaw(db, sizeof(Upsert)); + if( pNew==0 ){ + sqlite3ExprListDelete(db, pTarget); + sqlite3ExprDelete(db, pTargetWhere); + sqlite3ExprListDelete(db, pSet); + sqlite3ExprDelete(db, pWhere); + return 0; + }else{ + pNew->pUpsertTarget = pTarget; + pNew->pUpsertTargetWhere = pTargetWhere; + pNew->pUpsertSet = pSet; + pNew->pUpsertWhere = pWhere; + pNew->pUpsertIdx = 0; + } + return pNew; +} + +/* +** Analyze the ON CONFLICT clause described by pUpsert. Resolve all +** symbols in the conflict-target. +** +** Return SQLITE_OK if everything works, or an error code is something +** is wrong. +*/ +SQLITE_PRIVATE int sqlite3UpsertAnalyzeTarget( + Parse *pParse, /* The parsing context */ + SrcList *pTabList, /* Table into which we are inserting */ + Upsert *pUpsert /* The ON CONFLICT clauses */ +){ + Table *pTab; /* That table into which we are inserting */ + int rc; /* Result code */ + int iCursor; /* Cursor used by pTab */ + Index *pIdx; /* One of the indexes of pTab */ + ExprList *pTarget; /* The conflict-target clause */ + Expr *pTerm; /* One term of the conflict-target clause */ + NameContext sNC; /* Context for resolving symbolic names */ + Expr sCol[2]; /* Index column converted into an Expr */ + + assert( pTabList->nSrc==1 ); + assert( pTabList->a[0].pTab!=0 ); + assert( pUpsert!=0 ); + assert( pUpsert->pUpsertTarget!=0 ); + + /* Resolve all symbolic names in the conflict-target clause, which + ** includes both the list of columns and the optional partial-index + ** WHERE clause. + */ + memset(&sNC, 0, sizeof(sNC)); + sNC.pParse = pParse; + sNC.pSrcList = pTabList; + rc = sqlite3ResolveExprListNames(&sNC, pUpsert->pUpsertTarget); + if( rc ) return rc; + rc = sqlite3ResolveExprNames(&sNC, pUpsert->pUpsertTargetWhere); + if( rc ) return rc; + + /* Check to see if the conflict target matches the rowid. */ + pTab = pTabList->a[0].pTab; + pTarget = pUpsert->pUpsertTarget; + iCursor = pTabList->a[0].iCursor; + if( HasRowid(pTab) + && pTarget->nExpr==1 + && (pTerm = pTarget->a[0].pExpr)->op==TK_COLUMN + && pTerm->iColumn==XN_ROWID + ){ + /* The conflict-target is the rowid of the primary table */ + assert( pUpsert->pUpsertIdx==0 ); + return SQLITE_OK; + } + + /* Initialize sCol[0..1] to be an expression parse tree for a + ** single column of an index. The sCol[0] node will be the TK_COLLATE + ** operator and sCol[1] will be the TK_COLUMN operator. Code below + ** will populate the specific collation and column number values + ** prior to comparing against the conflict-target expression. + */ + memset(sCol, 0, sizeof(sCol)); + sCol[0].op = TK_COLLATE; + sCol[0].pLeft = &sCol[1]; + sCol[1].op = TK_COLUMN; + sCol[1].iTable = pTabList->a[0].iCursor; + + /* Check for matches against other indexes */ + for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ + int ii, jj, nn; + if( !IsUniqueIndex(pIdx) ) continue; + if( pTarget->nExpr!=pIdx->nKeyCol ) continue; + if( pIdx->pPartIdxWhere ){ + if( pUpsert->pUpsertTargetWhere==0 ) continue; + if( sqlite3ExprCompare(pParse, pUpsert->pUpsertTargetWhere, + pIdx->pPartIdxWhere, iCursor)!=0 ){ + continue; + } + } + nn = pIdx->nKeyCol; + for(ii=0; iiazColl[ii]; + if( pIdx->aiColumn[ii]==XN_EXPR ){ + assert( pIdx->aColExpr!=0 ); + assert( pIdx->aColExpr->nExpr>ii ); + pExpr = pIdx->aColExpr->a[ii].pExpr; + if( pExpr->op!=TK_COLLATE ){ + sCol[0].pLeft = pExpr; + pExpr = &sCol[0]; + } + }else{ + sCol[0].pLeft = &sCol[1]; + sCol[1].iColumn = pIdx->aiColumn[ii]; + pExpr = &sCol[0]; + } + for(jj=0; jja[jj].pExpr, pExpr,iCursor)<2 ){ + break; /* Column ii of the index matches column jj of target */ + } + } + if( jj>=nn ){ + /* The target contains no match for column jj of the index */ + break; + } + } + if( iipUpsertIdx = pIdx; + return SQLITE_OK; + } + sqlite3ErrorMsg(pParse, "ON CONFLICT clause does not match any " + "PRIMARY KEY or UNIQUE constraint"); + return SQLITE_ERROR; +} + +/* +** Generate bytecode that does an UPDATE as part of an upsert. +** +** If pIdx is NULL, then the UNIQUE constraint that failed was the IPK. +** In this case parameter iCur is a cursor open on the table b-tree that +** currently points to the conflicting table row. Otherwise, if pIdx +** is not NULL, then pIdx is the constraint that failed and iCur is a +** cursor points to the conflicting row. +*/ +SQLITE_PRIVATE void sqlite3UpsertDoUpdate( + Parse *pParse, /* The parsing and code-generating context */ + Upsert *pUpsert, /* The ON CONFLICT clause for the upsert */ + Table *pTab, /* The table being updated */ + Index *pIdx, /* The UNIQUE constraint that failed */ + int iCur /* Cursor for pIdx (or pTab if pIdx==NULL) */ +){ + Vdbe *v = pParse->pVdbe; + sqlite3 *db = pParse->db; + SrcList *pSrc; /* FROM clause for the UPDATE */ + int iDataCur; + + assert( v!=0 ); + assert( pUpsert!=0 ); + VdbeNoopComment((v, "Begin DO UPDATE of UPSERT")); + iDataCur = pUpsert->iDataCur; + if( pIdx && iCur!=iDataCur ){ + if( HasRowid(pTab) ){ + int regRowid = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp2(v, OP_IdxRowid, iCur, regRowid); + sqlite3VdbeAddOp3(v, OP_SeekRowid, iDataCur, 0, regRowid); + VdbeCoverage(v); + sqlite3ReleaseTempReg(pParse, regRowid); + }else{ + Index *pPk = sqlite3PrimaryKeyIndex(pTab); + int nPk = pPk->nKeyCol; + int iPk = pParse->nMem+1; + int i; + pParse->nMem += nPk; + for(i=0; iaiColumn[i]>=0 ); + k = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]); + sqlite3VdbeAddOp3(v, OP_Column, iCur, k, iPk+i); + VdbeComment((v, "%s.%s", pIdx->zName, + pTab->aCol[pPk->aiColumn[i]].zName)); + } + sqlite3VdbeVerifyAbortable(v, OE_Abort); + i = sqlite3VdbeAddOp4Int(v, OP_Found, iDataCur, 0, iPk, nPk); + VdbeCoverage(v); + sqlite3VdbeAddOp4(v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, + "corrupt database", P4_STATIC); + sqlite3VdbeJumpHere(v, i); + } + } + /* pUpsert does not own pUpsertSrc - the outer INSERT statement does. So + ** we have to make a copy before passing it down into sqlite3Update() */ + pSrc = sqlite3SrcListDup(db, pUpsert->pUpsertSrc, 0); + sqlite3Update(pParse, pSrc, pUpsert->pUpsertSet, + pUpsert->pUpsertWhere, OE_Abort, 0, 0, pUpsert); + pUpsert->pUpsertSet = 0; /* Will have been deleted by sqlite3Update() */ + pUpsert->pUpsertWhere = 0; /* Will have been deleted by sqlite3Update() */ + VdbeNoopComment((v, "End DO UPDATE of UPSERT")); +} + +#endif /* SQLITE_OMIT_UPSERT */ + +/************** End of upsert.c **********************************************/ /************** Begin file vacuum.c ******************************************/ /* ** 2003 April 6 @@ -127024,8 +133204,14 @@ static int execSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ while( SQLITE_ROW==(rc = sqlite3_step(pStmt)) ){ const char *zSubSql = (const char*)sqlite3_column_text(pStmt,0); assert( sqlite3_strnicmp(zSql,"SELECT",6)==0 ); - if( zSubSql ){ - assert( zSubSql[0]!='S' ); + /* The secondary SQL must be one of CREATE TABLE, CREATE INDEX, + ** or INSERT. Historically there have been attacks that first + ** corrupt the sqlite_master.sql field with other kinds of statements + ** then run VACUUM to get those statements to execute at inappropriate + ** times. */ + if( zSubSql + && (strncmp(zSubSql,"CRE",3)==0 || strncmp(zSubSql,"INS",3)==0) + ){ rc = execSql(db, pzErrMsg, zSubSql); if( rc!=SQLITE_OK ) break; } @@ -127145,7 +133331,8 @@ 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 | SQLITE_CountRows); + db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder + | SQLITE_Defensive | SQLITE_CountRows); db->mTrace = 0; zDbMain = db->aDb[iDb].zDbSName; @@ -127203,7 +133390,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); + rc = sqlite3BtreeBeginTrans(pMain, 2, 0); if( rc!=SQLITE_OK ) goto end_of_vacuum; /* Do not attempt to change the page size for a WAL database */ @@ -127238,7 +133425,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ if( rc!=SQLITE_OK ) goto end_of_vacuum; rc = execSqlF(db, pzErrMsg, "SELECT sql FROM \"%w\".sqlite_master" - " WHERE type='index' AND length(sql)>10", + " WHERE type='index'", zDbMain ); if( rc!=SQLITE_OK ) goto end_of_vacuum; @@ -127621,7 +133808,7 @@ SQLITE_PRIVATE void sqlite3VtabUnlockList(sqlite3 *db){ assert( sqlite3_mutex_held(db->mutex) ); if( p ){ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); do { VTable *pNext = p->pNext; sqlite3VtabUnlock(p); @@ -127687,7 +133874,6 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( Token *pModuleName, /* Name of the module for the virtual table */ int ifNotExists /* No error if the table already exists */ ){ - int iDb; /* The database the table is being created in */ Table *pTable; /* The new virtual table */ sqlite3 *db; /* Database connection */ @@ -127697,8 +133883,6 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( assert( 0==pTable->pIndex ); db = pParse->db; - iDb = sqlite3SchemaToIndex(db, pTable->pSchema); - assert( iDb>=0 ); assert( pTable->nModuleArg==0 ); addModuleArgument(db, pTable, sqlite3NameFromToken(db, pModuleName)); @@ -127718,6 +133902,8 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( ** The second call, to obtain permission to create the table, is made now. */ if( pTable->azModuleArg ){ + int iDb = sqlite3SchemaToIndex(db, pTable->pSchema); + assert( iDb>=0 ); /* The database the table is being created in */ sqlite3AuthCheck(pParse, SQLITE_CREATE_VTABLE, pTable->zName, pTable->azModuleArg[0], pParse->db->aDb[iDb].zDbSName); } @@ -128117,7 +134303,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ assert( IsVirtual(pTab) ); memset(&sParse, 0, sizeof(sParse)); - sParse.declareVtab = 1; + sParse.eParseMode = PARSE_MODE_DECLARE_VTAB; sParse.db = db; sParse.nQueryLoop = 1; if( SQLITE_OK==sqlite3RunParser(&sParse, zCreateTable, &zErr) @@ -128158,7 +134344,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ sqlite3DbFree(db, zErr); rc = SQLITE_ERROR; } - sParse.declareVtab = 0; + sParse.eParseMode = PARSE_MODE_NORMAL; if( sParse.pVdbe ){ sqlite3VdbeFinalize(sParse.pVdbe); @@ -128408,14 +134594,11 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( void *pArg = 0; FuncDef *pNew; int rc = 0; - char *zLowerName; - unsigned char *z; - /* Check to see the left operand is a column in a virtual table */ if( NEVER(pExpr==0) ) return pDef; if( pExpr->op!=TK_COLUMN ) return pDef; - pTab = pExpr->pTab; + pTab = pExpr->y.pTab; if( pTab==0 ) return pDef; if( !IsVirtual(pTab) ) return pDef; pVtab = sqlite3GetVTable(db, pTab)->pVtab; @@ -128425,16 +134608,22 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( if( pMod->xFindFunction==0 ) return pDef; /* Call the xFindFunction method on the virtual table implementation - ** to see if the implementation wants to overload this function + ** to see if the implementation wants to overload this function. + ** + ** Though undocumented, we have historically always invoked xFindFunction + ** with an all lower-case function name. Continue in this tradition to + ** avoid any chance of an incompatibility. */ - zLowerName = sqlite3DbStrDup(db, pDef->zName); - if( zLowerName ){ - for(z=(unsigned char*)zLowerName; *z; z++){ - *z = sqlite3UpperToLower[*z]; +#ifdef SQLITE_DEBUG + { + int i; + for(i=0; pDef->zName[i]; i++){ + unsigned char x = (unsigned char)pDef->zName[i]; + assert( x==sqlite3UpperToLower[x] ); } - rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xSFunc, &pArg); - sqlite3DbFree(db, zLowerName); } +#endif + rc = pMod->xFindFunction(pVtab, nArg, pDef->zName, &xSFunc, &pArg); if( rc==0 ){ return pDef; } @@ -128646,7 +134835,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3 *db, int op, ...){ ** Trace output macros */ #if defined(SQLITE_TEST) || defined(SQLITE_DEBUG) -/***/ int sqlite3WhereTrace; +/***/ extern int sqlite3WhereTrace; #endif #if defined(SQLITE_DEBUG) \ && (defined(SQLITE_TEST) || defined(SQLITE_ENABLE_WHERETRACE)) @@ -128709,6 +134898,8 @@ struct WhereLevel { struct InLoop { int iCur; /* The VDBE cursor used by this IN operator */ int addrInTop; /* Top of the IN loop */ + int iBase; /* Base register of multi-key index record */ + int nPrefix; /* Number of prior entires in the key */ u8 eEndLoopOp; /* IN Loop terminator. OP_Next or OP_Prev */ } *aInLoop; /* Information about each nested IN operator */ } in; /* Used when pWLoop->wsFlags&WHERE_IN_ABLE */ @@ -128947,6 +135138,7 @@ struct WhereClause { WhereInfo *pWInfo; /* WHERE clause processing context */ WhereClause *pOuter; /* Outer conjunction */ u8 op; /* Split operator. TK_AND or TK_OR */ + u8 hasOr; /* True if any a[].eOperator is WO_OR */ int nTerm; /* Number of terms */ int nSlot; /* Number of entries in a[] */ WhereTerm *a; /* Each a[] describes a term of the WHERE cluase */ @@ -129026,12 +135218,33 @@ struct WhereLoopBuilder { int nRecValid; /* Number of valid fields currently in pRec */ #endif unsigned int bldFlags; /* SQLITE_BLDF_* flags */ + unsigned int iPlanLimit; /* Search limiter */ }; /* Allowed values for WhereLoopBuider.bldFlags */ #define SQLITE_BLDF_INDEXED 0x0001 /* An index is used */ #define SQLITE_BLDF_UNIQUE 0x0002 /* All keys of a UNIQUE index used */ +/* The WhereLoopBuilder.iPlanLimit is used to limit the number of +** index+constraint combinations the query planner will consider for a +** particular query. If this parameter is unlimited, then certain +** pathological queries can spend excess time in the sqlite3WhereBegin() +** routine. The limit is high enough that is should not impact real-world +** queries. +** +** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is +** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM +** clause is processed, so that every table in a join is guaranteed to be +** able to propose a some index+constraint combinations even if the initial +** baseline limit was exhausted by prior tables of the join. +*/ +#ifndef SQLITE_QUERY_PLANNER_LIMIT +# define SQLITE_QUERY_PLANNER_LIMIT 20000 +#endif +#ifndef SQLITE_QUERY_PLANNER_LIMIT_INCR +# define SQLITE_QUERY_PLANNER_LIMIT_INCR 1000 +#endif + /* ** The WHERE clause processing routine has two halves. The ** first part does the start of the WHERE loop and the second @@ -129094,12 +135307,10 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( Parse *pParse, /* Parse context */ SrcList *pTabList, /* Table list this loop refers to */ WhereLevel *pLevel, /* Scan to write OP_Explain opcode for */ - int iLevel, /* Value for "level" column of output */ - int iFrom, /* Value for "from" column of output */ u16 wctrlFlags /* Flags passed to sqlite3WhereBegin() */ ); #else -# define sqlite3WhereExplainOneScan(u,v,w,x,y,z) 0 +# define sqlite3WhereExplainOneScan(u,v,w,x) 0 #endif /* SQLITE_OMIT_EXPLAIN */ #ifdef SQLITE_ENABLE_STMT_SCANSTATUS SQLITE_PRIVATE void sqlite3WhereAddScanStatus( @@ -129122,6 +135333,7 @@ SQLITE_PRIVATE void sqlite3WhereClauseInit(WhereClause*,WhereInfo*); SQLITE_PRIVATE void sqlite3WhereClauseClear(WhereClause*); SQLITE_PRIVATE void sqlite3WhereSplit(WhereClause*,Expr*,u8); SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet*, Expr*); +SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet*, Expr*); SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet*, ExprList*); SQLITE_PRIVATE void sqlite3WhereExprAnalyze(SrcList*, WhereClause*); SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereClause*); @@ -129184,6 +135396,7 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC #define WHERE_SKIPSCAN 0x00008000 /* Uses the skip-scan algorithm */ #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 */ /************** End of whereInt.h ********************************************/ /************** Continuing where we left off in wherecode.c ******************/ @@ -129219,23 +135432,23 @@ static void explainAppendTerm( int i; assert( nTerm>=1 ); - if( bAnd ) sqlite3StrAccumAppend(pStr, " AND ", 5); + if( bAnd ) sqlite3_str_append(pStr, " AND ", 5); - if( nTerm>1 ) sqlite3StrAccumAppend(pStr, "(", 1); + if( nTerm>1 ) sqlite3_str_append(pStr, "(", 1); for(i=0; i1 ) sqlite3StrAccumAppend(pStr, ")", 1); + if( nTerm>1 ) sqlite3_str_append(pStr, ")", 1); - sqlite3StrAccumAppend(pStr, zOp, 1); + sqlite3_str_append(pStr, zOp, 1); - if( nTerm>1 ) sqlite3StrAccumAppend(pStr, "(", 1); + if( nTerm>1 ) sqlite3_str_append(pStr, "(", 1); for(i=0; i1 ) sqlite3StrAccumAppend(pStr, ")", 1); + if( nTerm>1 ) sqlite3_str_append(pStr, ")", 1); } /* @@ -129259,11 +135472,11 @@ static void explainIndexRange(StrAccum *pStr, WhereLoop *pLoop){ int i, j; if( nEq==0 && (pLoop->wsFlags&(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))==0 ) return; - sqlite3StrAccumAppend(pStr, " (", 2); + sqlite3_str_append(pStr, " (", 2); for(i=0; i=nSkip ? "%s=?" : "ANY(%s)", z); + if( i ) sqlite3_str_append(pStr, " AND ", 5); + sqlite3_str_appendf(pStr, i>=nSkip ? "%s=?" : "ANY(%s)", z); } j = i; @@ -129274,7 +135487,7 @@ static void explainIndexRange(StrAccum *pStr, WhereLoop *pLoop){ if( pLoop->wsFlags&WHERE_TOP_LIMIT ){ explainAppendTerm(pStr, pIndex, pLoop->u.btree.nTop, j, i, "<"); } - sqlite3StrAccumAppend(pStr, ")", 1); + sqlite3_str_append(pStr, ")", 1); } /* @@ -129290,8 +135503,6 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( Parse *pParse, /* Parse context */ SrcList *pTabList, /* Table list this loop refers to */ WhereLevel *pLevel, /* Scan to write OP_Explain opcode for */ - int iLevel, /* Value for "level" column of output */ - int iFrom, /* Value for "from" column of output */ u16 wctrlFlags /* Flags passed to sqlite3WhereBegin() */ ){ int ret = 0; @@ -129302,7 +135513,6 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( struct SrcList_item *pItem = &pTabList->a[pLevel->iFrom]; Vdbe *v = pParse->pVdbe; /* VM being constructed */ sqlite3 *db = pParse->db; /* Database handle */ - int iId = pParse->iSelectId; /* Select id (left-most output column) */ int isSearch; /* True for a SEARCH. False for SCAN. */ WhereLoop *pLoop; /* The controlling WhereLoop object */ u32 flags; /* Flags that describe this loop */ @@ -129319,15 +135529,15 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( || (wctrlFlags&(WHERE_ORDERBY_MIN|WHERE_ORDERBY_MAX)); sqlite3StrAccumInit(&str, db, zBuf, sizeof(zBuf), SQLITE_MAX_LENGTH); - sqlite3StrAccumAppendAll(&str, isSearch ? "SEARCH" : "SCAN"); + sqlite3_str_appendall(&str, isSearch ? "SEARCH" : "SCAN"); if( pItem->pSelect ){ - sqlite3XPrintf(&str, " SUBQUERY %d", pItem->iSelectId); + sqlite3_str_appendf(&str, " SUBQUERY %u", pItem->pSelect->selId); }else{ - sqlite3XPrintf(&str, " TABLE %s", pItem->zName); + sqlite3_str_appendf(&str, " TABLE %s", pItem->zName); } if( pItem->zAlias ){ - sqlite3XPrintf(&str, " AS %s", pItem->zAlias); + sqlite3_str_appendf(&str, " AS %s", pItem->zAlias); } if( (flags & (WHERE_IPK|WHERE_VIRTUALTABLE))==0 ){ const char *zFmt = 0; @@ -129350,8 +135560,8 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( zFmt = "INDEX %s"; } if( zFmt ){ - sqlite3StrAccumAppend(&str, " USING ", 7); - sqlite3XPrintf(&str, zFmt, pIdx->zName); + sqlite3_str_append(&str, " USING ", 7); + sqlite3_str_appendf(&str, zFmt, pIdx->zName); explainIndexRange(&str, pLoop); } }else if( (flags & WHERE_IPK)!=0 && (flags & WHERE_CONSTRAINT)!=0 ){ @@ -129366,23 +135576,26 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( assert( flags&WHERE_TOP_LIMIT); zRangeOp = "<"; } - sqlite3XPrintf(&str, " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp); + sqlite3_str_appendf(&str, + " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp); } #ifndef SQLITE_OMIT_VIRTUALTABLE else if( (flags & WHERE_VIRTUALTABLE)!=0 ){ - sqlite3XPrintf(&str, " VIRTUAL TABLE INDEX %d:%s", + sqlite3_str_appendf(&str, " VIRTUAL TABLE INDEX %d:%s", pLoop->u.vtab.idxNum, pLoop->u.vtab.idxStr); } #endif #ifdef SQLITE_EXPLAIN_ESTIMATED_ROWS if( pLoop->nOut>=10 ){ - sqlite3XPrintf(&str, " (~%llu rows)", sqlite3LogEstToInt(pLoop->nOut)); + sqlite3_str_appendf(&str, " (~%llu rows)", + sqlite3LogEstToInt(pLoop->nOut)); }else{ - sqlite3StrAccumAppend(&str, " (~1 row)", 9); + sqlite3_str_append(&str, " (~1 row)", 9); } #endif zMsg = sqlite3StrAccumFinish(&str); - ret = sqlite3VdbeAddOp4(v, OP_Explain, iId, iLevel, iFrom, zMsg,P4_DYNAMIC); + ret = sqlite3VdbeAddOp4(v, OP_Explain, sqlite3VdbeCurrentAddr(v), + pParse->addrExplain, 0, zMsg,P4_DYNAMIC); } return ret; } @@ -129515,7 +135728,6 @@ static void codeApplyAffinity(Parse *pParse, int base, int n, char *zAff){ /* Code the OP_Affinity opcode if there is anything left to do. */ if( n>0 ){ sqlite3VdbeAddOp4(v, OP_Affinity, base, n, 0, zAff, n); - sqlite3ExprCacheAffinityChange(pParse, base, n); } } @@ -129594,7 +135806,7 @@ static Expr *removeUnindexableInClauseTerms( for(i=iEq; inLTerm; i++){ if( pLoop->aLTerm[i]->pExpr==pX ){ int iField = pLoop->aLTerm[i]->iField - 1; - assert( pOrigRhs->a[iField].pExpr!=0 ); + if( pOrigRhs->a[iField].pExpr==0 ) continue; /* Duplicate PK column */ pRhs = sqlite3ExprListAppend(pParse, pRhs, pOrigRhs->a[iField].pExpr); pOrigRhs->a[iField].pExpr = 0; assert( pOrigLhs->a[iField].pExpr!=0 ); @@ -129759,7 +135971,14 @@ static int codeEqualityTerm( sqlite3VdbeAddOp1(v, OP_IsNull, iOut); VdbeCoverage(v); if( i==iEq ){ pIn->iCur = iTab; - pIn->eEndLoopOp = bRev ? OP_PrevIfOpen : OP_NextIfOpen; + pIn->eEndLoopOp = bRev ? OP_Prev : OP_Next; + if( iEq>0 && (pLoop->wsFlags & WHERE_VIRTUALTABLE)==0 ){ + pIn->iBase = iReg - i; + pIn->nPrefix = i; + pLoop->wsFlags |= WHERE_IN_EARLYOUT; + }else{ + pIn->nPrefix = 0; + } }else{ pIn->eEndLoopOp = OP_Noop; } @@ -130046,11 +136265,8 @@ static int codeCursorHintFixExpr(Walker *pWalker, Expr *pExpr){ struct CCurHint *pHint = pWalker->u.pCCurHint; if( pExpr->op==TK_COLUMN ){ if( pExpr->iTable!=pHint->iTabCur ){ - Vdbe *v = pWalker->pParse->pVdbe; int reg = ++pWalker->pParse->nMem; /* Register for column value */ - sqlite3ExprCodeGetColumnOfTable( - v, pExpr->pTab, pExpr->iTable, pExpr->iColumn, reg - ); + sqlite3ExprCode(pWalker->pParse, pExpr, reg); pExpr->op = TK_REGISTER; pExpr->iTable = reg; }else if( pHint->pIdx!=0 ){ @@ -130282,7 +136498,7 @@ static int whereIndexExprTransNode(Walker *p, Expr *pExpr){ pExpr->op = TK_COLUMN; pExpr->iTable = pX->iIdxCur; pExpr->iColumn = pX->iIdxCol; - pExpr->pTab = 0; + pExpr->y.pTab = 0; return WRC_Prune; }else{ return WRC_Continue; @@ -130383,6 +136599,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** initialize a memory cell that records if this table matches any ** row of the left table of the join. */ + assert( (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE) + || pLevel->iFrom>0 || (pTabItem[0].fg.jointype & JT_LEFT)==0 + ); if( pLevel->iFrom>0 && (pTabItem[0].fg.jointype & JT_LEFT)!=0 ){ pLevel->iLeftJoin = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Integer, 0, pLevel->iLeftJoin); @@ -130400,7 +136619,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, pTabItem->addrFillSub); pLevel->p2 = sqlite3VdbeAddOp2(v, OP_Yield, regYield, addrBrk); VdbeCoverage(v); - VdbeComment((v, "next row of \"%s\"", pTabItem->pTab->zName)); + VdbeComment((v, "next row of %s", pTabItem->pTab->zName)); pLevel->op = OP_Goto; }else @@ -130414,7 +136633,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int nConstraint = pLoop->nLTerm; int iIn; /* Counter for IN constraints */ - sqlite3ExprCachePush(pParse); iReg = sqlite3GetTempRange(pParse, nConstraint+2); addrNotFound = pLevel->addrBrk; for(j=0; jaddrNxt; sqlite3VdbeAddOp3(v, OP_SeekRowid, iCur, addrNxt, iRowidReg); VdbeCoverage(v); - sqlite3ExprCacheAffinityChange(pParse, iRowidReg, 1); - sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); - VdbeComment((v, "pk")); pLevel->op = OP_Noop; }else if( (pLoop->wsFlags & WHERE_IPK)!=0 && (pLoop->wsFlags & WHERE_COLUMN_RANGE)!=0 @@ -130563,7 +136777,15 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( sqlite3ExprIsVector(pX->pRight) ){ r1 = rTemp = sqlite3GetTempReg(pParse); codeExprOrVector(pParse, pX->pRight, r1, 1); - op = aMoveOp[(pX->op - TK_GT) | 0x0001]; + testcase( pX->op==TK_GT ); + testcase( pX->op==TK_GE ); + testcase( pX->op==TK_LT ); + testcase( pX->op==TK_LE ); + op = aMoveOp[((pX->op - TK_GT - 1) & 0x3) | 0x1]; + assert( pX->op!=TK_GT || op==OP_SeekGE ); + assert( pX->op!=TK_GE || op==OP_SeekGE ); + assert( pX->op!=TK_LT || op==OP_SeekLE ); + assert( pX->op!=TK_LE || op==OP_SeekLE ); }else{ r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp); disableTerm(pLevel, pStart); @@ -130575,7 +136797,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( VdbeCoverageIf(v, pX->op==TK_LE); VdbeCoverageIf(v, pX->op==TK_LT); VdbeCoverageIf(v, pX->op==TK_GE); - sqlite3ExprCacheAffinityChange(pParse, r1, 1); sqlite3ReleaseTempReg(pParse, rTemp); }else{ sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrHalt); @@ -130610,7 +136831,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( testOp!=OP_Noop ){ iRowidReg = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Rowid, iCur, iRowidReg); - sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); sqlite3VdbeAddOp3(v, testOp, memEndValue, addrBrk, iRowidReg); VdbeCoverageIf(v, testOp==OP_Le); VdbeCoverageIf(v, testOp==OP_Lt); @@ -130815,6 +137035,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** above has already left the cursor sitting on the correct row, ** so no further seeking is needed */ }else{ + if( pLoop->wsFlags & WHERE_IN_EARLYOUT ){ + sqlite3VdbeAddOp1(v, OP_SeekHit, iIdxCur); + } op = aStartOp[(start_constraints<<2) + (startEq<<1) + bRev]; assert( op!=0 ); sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, nConstraint); @@ -130833,7 +137056,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( nConstraint = nEq; if( pRangeEnd ){ Expr *pRight = pRangeEnd->pExpr->pRight; - sqlite3ExprCacheRemove(pParse, regBase+nEq, 1); codeExprOrVector(pParse, pRight, regBase+nEq, nTop); whereLikeOptimizationStringFixup(v, pLevel, pRangeEnd); if( (pRangeEnd->wtFlags & TERM_VNULL)==0 @@ -130858,7 +137080,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } }else if( bStopAtNull ){ sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); - sqlite3ExprCacheRemove(pParse, regBase+nEq, 1); endEq = 0; nConstraint++; } @@ -130878,6 +137099,10 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( 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 */ if( omitTable ){ /* pIdx is a covering index. No need to access the main table. */ @@ -130888,7 +137113,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( )){ iRowidReg = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, iRowidReg); - sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); sqlite3VdbeAddOp3(v, OP_NotExists, iCur, 0, iRowidReg); VdbeCoverage(v); }else{ @@ -130908,9 +137132,16 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( /* If pIdx is an index on one or more expressions, then look through ** all the expressions in pWInfo and try to transform matching expressions ** into reference to index columns. + ** + ** Do not do this for the RHS of a LEFT JOIN. This is because the + ** expression may be evaluated after OP_NullRow has been executed on + ** 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 */ - whereIndexExprTrans(pIdx, iCur, iIdxCur, pWInfo); - + if( pLevel->iLeftJoin==0 ){ + whereIndexExprTrans(pIdx, iCur, iIdxCur, pWInfo); + } /* Record the instruction used to terminate the loop. */ if( pLoop->wsFlags & WHERE_ONEROW ){ @@ -131066,7 +137297,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( for(iTerm=0; iTermnTerm; iTerm++){ Expr *pExpr = pWC->a[iTerm].pExpr; if( &pWC->a[iTerm] == pTerm ) continue; - if( ExprHasProperty(pExpr, EP_FromJoin) ) continue; testcase( pWC->a[iTerm].wtFlags & TERM_VIRTUAL ); testcase( pWC->a[iTerm].wtFlags & TERM_CODED ); if( (pWC->a[iTerm].wtFlags & (TERM_VIRTUAL|TERM_CODED))!=0 ) continue; @@ -131085,13 +137315,17 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ wctrlFlags = WHERE_OR_SUBCLAUSE | (pWInfo->wctrlFlags & WHERE_SEEK_TABLE); + ExplainQueryPlan((pParse, 1, "MULTI-INDEX OR")); for(ii=0; iinTerm; ii++){ WhereTerm *pOrTerm = &pOrWc->a[ii]; if( pOrTerm->leftCursor==iCur || (pOrTerm->eOperator & WO_AND)!=0 ){ WhereInfo *pSubWInfo; /* Info for single OR-term scan */ Expr *pOrExpr = pOrTerm->pExpr; /* Current OR clause term */ int jmp1 = 0; /* Address of jump operation */ - if( pAndExpr && !ExprHasProperty(pOrExpr, EP_FromJoin) ){ + assert( (pTabItem[0].fg.jointype & JT_LEFT)==0 + || ExprHasProperty(pOrExpr, EP_FromJoin) + ); + if( pAndExpr ){ pAndExpr->pLeft = pOrExpr; pOrExpr = pAndExpr; } @@ -131103,7 +137337,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( pSubWInfo ){ WhereLoop *pSubLoop; int addrExplain = sqlite3WhereExplainOneScan( - pParse, pOrTab, &pSubWInfo->a[0], iLevel, pLevel->iFrom, 0 + pParse, pOrTab, &pSubWInfo->a[0], 0 ); sqlite3WhereAddScanStatus(v, pOrTab, &pSubWInfo->a[0], addrExplain); @@ -131113,23 +137347,23 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** row will be skipped in subsequent sub-WHERE clauses. */ if( (pWInfo->wctrlFlags & WHERE_DUPLICATES_OK)==0 ){ - int r; int iSet = ((ii==pOrWc->nTerm-1)?-1:ii); if( HasRowid(pTab) ){ - r = sqlite3ExprCodeGetColumn(pParse, pTab, -1, iCur, regRowid, 0); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, -1, regRowid); jmp1 = sqlite3VdbeAddOp4Int(v, OP_RowSetTest, regRowset, 0, - r,iSet); + regRowid, iSet); VdbeCoverage(v); }else{ Index *pPk = sqlite3PrimaryKeyIndex(pTab); int nPk = pPk->nKeyCol; int iPk; + int r; /* Read the PK into an array of temp registers. */ r = sqlite3GetTempRange(pParse, nPk); for(iPk=0; iPkaiColumn[iPk]; - sqlite3ExprCodeGetColumnToReg(pParse, pTab, iCol, iCur, r+iPk); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, iCol, r+iPk); } /* Check if the temp table already contains this key. If so, @@ -131202,6 +137436,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } } } + ExplainQueryPlanPop(pParse); pLevel->u.pCovidx = pCov; if( pCov ) pLevel->iIdxCur = iCovCur; if( pAndExpr ){ @@ -131274,7 +137509,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } pE = pTerm->pExpr; assert( pE!=0 ); - if( pLevel->iLeftJoin && !ExprHasProperty(pE, EP_FromJoin) ){ + if( (pTabItem->fg.jointype&JT_LEFT) && !ExprHasProperty(pE,EP_FromJoin) ){ continue; } @@ -131287,7 +137522,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( continue; } - if( pTerm->wtFlags & TERM_LIKECOND ){ + if( (pTerm->wtFlags & TERM_LIKECOND)!=0 ){ /* If the TERM_LIKECOND flag is set, that means that the range search ** is sufficient to guarantee that the LIKE operator is true, so we ** can skip the call to the like(A,B) function. But this only works @@ -131297,8 +137532,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( continue; #else u32 x = pLevel->iLikeRepCntr; - assert( x>0 ); - skipLikeAddr = sqlite3VdbeAddOp1(v, (x&1)?OP_IfNot:OP_If, (int)(x>>1)); + if( x>0 ){ + skipLikeAddr = sqlite3VdbeAddOp1(v, (x&1)?OP_IfNot:OP_If,(int)(x>>1)); + } VdbeCoverage(v); #endif } @@ -131338,6 +137574,12 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( WO_EQ|WO_IN|WO_IS, 0); if( pAlt==0 ) continue; if( pAlt->wtFlags & (TERM_CODED) ) continue; + if( (pAlt->eOperator & WO_IN) + && (pAlt->pExpr->flags & EP_xIsSelect) + && (pAlt->pExpr->x.pSelect->pEList->nExpr>1) + ){ + continue; + } testcase( pAlt->eOperator & WO_EQ ); testcase( pAlt->eOperator & WO_IS ); testcase( pAlt->eOperator & WO_IN ); @@ -131354,7 +137596,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pLevel->addrFirst = sqlite3VdbeCurrentAddr(v); sqlite3VdbeAddOp2(v, OP_Integer, 1, pLevel->iLeftJoin); VdbeComment((v, "record LEFT JOIN hit")); - sqlite3ExprCacheClear(pParse); for(pTerm=pWC->a, j=0; jnTerm; j++, pTerm++){ testcase( pTerm->wtFlags & TERM_VIRTUAL ); testcase( pTerm->wtFlags & TERM_CODED ); @@ -131570,18 +137811,18 @@ static int isLikeOrGlob( int *pisComplete, /* True if the only wildcard is % in the last character */ int *pnoCase /* True if uppercase is equivalent to lowercase */ ){ - const u8 *z = 0; /* String on RHS of LIKE operator */ + const u8 *z = 0; /* String on RHS of LIKE operator */ Expr *pRight, *pLeft; /* Right and left size of LIKE operator */ ExprList *pList; /* List of operands to the LIKE operator */ - int c; /* One character in z[] */ + u8 c; /* One character in z[] */ int cnt; /* Number of non-wildcard prefix characters */ - char wc[4]; /* Wildcard characters */ + u8 wc[4]; /* Wildcard characters */ sqlite3 *db = pParse->db; /* Database connection */ sqlite3_value *pVal = 0; int op; /* Opcode of pRight */ int rc; /* Result code to return */ - if( !sqlite3IsLikeFunction(db, pExpr, pnoCase, wc) ){ + if( !sqlite3IsLikeFunction(db, pExpr, pnoCase, (char*)wc) ){ return 0; } #ifdef SQLITE_EBCDIC @@ -131606,23 +137847,6 @@ static int isLikeOrGlob( } if( z ){ - /* 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( sqlite3Isdigit(z[0]) || z[0]=='-' ){ - if( pLeft->op!=TK_COLUMN - || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT - || IsVirtual(pLeft->pTab) /* Value might be numeric */ - ){ - sqlite3ValueFree(pVal); - return 0; - } - } - /* Count the number of prefix characters prior to the first wildcard */ cnt = 0; while( (c=z[cnt])!=0 && c!=wc[0] && c!=wc[1] && c!=wc[2] ){ @@ -131632,11 +137856,13 @@ static int isLikeOrGlob( /* The optimization is possible only if (1) the pattern does not begin ** with a wildcard and if (2) the non-wildcard prefix does not end with - ** an (illegal 0xff) character. The second condition is necessary so + ** an (illegal 0xff) character, or (3) the pattern does not consist of + ** a single escape character. The second condition is necessary so ** that we can increment the prefix key to find an upper bound for the - ** range search. - */ - if( cnt!=0 && 255!=(u8)z[cnt-1] ){ + ** range search. The third is because the caller assumes that the pattern + ** consists of at least one character after all escapes have been + ** removed. */ + if( cnt!=0 && 255!=(u8)z[cnt-1] && (cnt>1 || z[0]!=wc[3]) ){ Expr *pPrefix; /* A "complete" match if the pattern ends with "*" or "%" */ @@ -131653,6 +137879,32 @@ static int isLikeOrGlob( zNew[iTo++] = zNew[iFrom]; } zNew[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. + ** + ** 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. + */ + 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 */ + ){ + sqlite3ExprDelete(db, pPrefix); + sqlite3ValueFree(pVal); + return 0; + } + } } *ppPrefix = pPrefix; @@ -131714,6 +137966,7 @@ static int isLikeOrGlob( ** If the expression matches none of the patterns above, return 0. */ static int isAuxiliaryVtabOperator( + sqlite3 *db, /* Parsing context */ Expr *pExpr, /* Test this expression */ unsigned char *peOp2, /* OUT: 0 for MATCH, or else an op2 value */ Expr **ppLeft, /* Column expression to left of MATCH/op2 */ @@ -131737,26 +137990,64 @@ static int isAuxiliaryVtabOperator( if( pList==0 || pList->nExpr!=2 ){ return 0; } + + /* Built-in operators MATCH, GLOB, LIKE, and REGEXP attach to a + ** virtual table on their second argument, which is the same as + ** the left-hand side operand in their in-fix form. + ** + ** vtab_column MATCH expression + ** MATCH(expression,vtab_column) + */ pCol = pList->a[1].pExpr; - if( pCol->op!=TK_COLUMN || !IsVirtual(pCol->pTab) ){ - return 0; + if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ + for(i=0; iu.zToken, aOp[i].zOp)==0 ){ + *peOp2 = aOp[i].eOp2; + *ppRight = pList->a[0].pExpr; + *ppLeft = pCol; + return 1; + } + } } - for(i=0; iu.zToken, aOp[i].zOp)==0 ){ - *peOp2 = aOp[i].eOp2; - *ppRight = pList->a[0].pExpr; - *ppLeft = pCol; - return 1; + + /* We can also match against the first column of overloaded + ** functions where xFindFunction returns a value of at least + ** SQLITE_INDEX_CONSTRAINT_FUNCTION. + ** + ** OVERLOADED(vtab_column,expression) + ** + ** Historically, xFindFunction expected to see lower-case function + ** names. But for this use case, xFindFunction is expected to deal + ** with function names in an arbitrary case. + */ + pCol = pList->a[0].pExpr; + if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ + sqlite3_vtab *pVtab; + sqlite3_module *pMod; + void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**); + void *pNotUsed; + pVtab = sqlite3GetVTable(db, pCol->y.pTab)->pVtab; + assert( pVtab!=0 ); + assert( pVtab->pModule!=0 ); + pMod = (sqlite3_module *)pVtab->pModule; + if( pMod->xFindFunction!=0 ){ + i = pMod->xFindFunction(pVtab,2, pExpr->u.zToken, &xNotUsed, &pNotUsed); + if( i>=SQLITE_INDEX_CONSTRAINT_FUNCTION ){ + *peOp2 = i; + *ppRight = pList->a[1].pExpr; + *ppLeft = pCol; + return 1; + } } } }else if( pExpr->op==TK_NE || pExpr->op==TK_ISNOT || pExpr->op==TK_NOTNULL ){ int res = 0; Expr *pLeft = pExpr->pLeft; Expr *pRight = pExpr->pRight; - if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->pTab) ){ + if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->y.pTab) ){ res++; } - if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->pTab) ){ + if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->y.pTab) ){ res++; SWAP(Expr*, pLeft, pRight); } @@ -132048,7 +138339,12 @@ static void exprAnalyzeOrTerm( ** empty. */ pOrInfo->indexable = indexable; - pTerm->eOperator = indexable==0 ? 0 : WO_OR; + if( indexable ){ + pTerm->eOperator = WO_OR; + pWC->hasOr = 1; + }else{ + pTerm->eOperator = WO_OR; + } /* For a two-way OR, attempt to implementation case 2. */ @@ -132189,12 +138485,11 @@ static void exprAnalyzeOrTerm( idxNew = whereClauseInsert(pWC, pNew, TERM_VIRTUAL|TERM_DYNAMIC); testcase( idxNew==0 ); exprAnalyze(pSrc, pWC, idxNew); - pTerm = &pWC->a[idxTerm]; + /* pTerm = &pWC->a[idxTerm]; // would be needed if pTerm where used again */ markTermAsChild(pWC, idxNew, idxTerm); }else{ sqlite3ExprListDelete(db, pList); } - pTerm->eOperator = WO_NOOP; /* case 1 trumps case 3 */ } } } @@ -132229,7 +138524,7 @@ static int termIsEquivalence(Parse *pParse, Expr *pExpr){ return 0; } pColl = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight); - if( pColl==0 || sqlite3StrICmp(pColl->zName, "BINARY")==0 ) return 1; + if( sqlite3IsBinary(pColl) ) return 1; return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight); } @@ -132252,6 +138547,9 @@ static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ for(i=0; inSrc; i++){ mask |= exprSelectUsage(pMaskSet, pSrc->a[i].pSelect); mask |= sqlite3WhereExprUsage(pMaskSet, pSrc->a[i].pOn); + if( pSrc->a[i].fg.isTabFunc ){ + mask |= sqlite3WhereExprListUsage(pMaskSet, pSrc->a[i].u1.pFuncArg); + } } } pS = pS->pPrior; @@ -132385,7 +138683,7 @@ static void exprAnalyze( pTerm->prereqRight = sqlite3WhereExprUsage(pMaskSet, pExpr->pRight); } pMaskSet->bVarSelect = 0; - prereqAll = sqlite3WhereExprUsage(pMaskSet, pExpr); + prereqAll = sqlite3WhereExprUsageNN(pMaskSet, pExpr); if( pMaskSet->bVarSelect ) pTerm->wtFlags |= TERM_VARSELECT; if( ExprHasProperty(pExpr, EP_FromJoin) ){ Bitmask x = sqlite3WhereGetMask(pMaskSet, pExpr->iRightJoinTable); @@ -132567,7 +138865,7 @@ static void exprAnalyze( } *pC = c + 1; } - zCollSeqName = noCase ? "NOCASE" : "BINARY"; + zCollSeqName = noCase ? "NOCASE" : sqlite3StrBINARY; pNewExpr1 = sqlite3ExprDup(db, pLeft, 0); pNewExpr1 = sqlite3PExpr(pParse, TK_GE, sqlite3ExprAddCollateString(pParse,pNewExpr1,zCollSeqName), @@ -132604,7 +138902,7 @@ static void exprAnalyze( */ if( pWC->op==TK_AND ){ Expr *pRight = 0, *pLeft = 0; - int res = isAuxiliaryVtabOperator(pExpr, &eOp2, &pLeft, &pRight); + int res = isAuxiliaryVtabOperator(db, pExpr, &eOp2, &pLeft, &pRight); while( res-- > 0 ){ int idxNew; WhereTerm *pNewTerm; @@ -132664,7 +138962,7 @@ static void exprAnalyze( exprAnalyze(pSrc, pWC, idxNew); } pTerm = &pWC->a[idxTerm]; - pTerm->wtFlags = TERM_CODED|TERM_VIRTUAL; /* Disable the original */ + pTerm->wtFlags |= TERM_CODED|TERM_VIRTUAL; /* Disable the original */ pTerm->eOperator = 0; } @@ -132701,6 +138999,7 @@ static void exprAnalyze( if( pExpr->op==TK_NOTNULL && pExpr->pLeft->op==TK_COLUMN && pExpr->pLeft->iColumn>=0 + && !ExprHasProperty(pExpr, EP_FromJoin) && OptimizationEnabled(db, SQLITE_Stat34) ){ Expr *pNewExpr; @@ -132778,6 +139077,7 @@ SQLITE_PRIVATE void sqlite3WhereClauseInit( WhereInfo *pWInfo /* The WHERE processing context */ ){ pWC->pWInfo = pWInfo; + pWC->hasOr = 0; pWC->pOuter = 0; pWC->nTerm = 0; pWC->nSlot = ArraySize(pWC->aStatic); @@ -132814,17 +139114,18 @@ SQLITE_PRIVATE void sqlite3WhereClauseClear(WhereClause *pWC){ ** a bitmask indicating which tables are used in that expression ** tree. */ -SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ +SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet *pMaskSet, Expr *p){ Bitmask mask; - if( p==0 ) return 0; - if( p->op==TK_COLUMN ){ + if( p->op==TK_COLUMN && !ExprHasProperty(p, EP_FixedCol) ){ return sqlite3WhereGetMask(pMaskSet, p->iTable); + }else if( ExprHasProperty(p, EP_TokenOnly|EP_Leaf) ){ + assert( p->op!=TK_IF_NULL_ROW ); + return 0; } mask = (p->op==TK_IF_NULL_ROW) ? sqlite3WhereGetMask(pMaskSet, p->iTable) : 0; - assert( !ExprHasProperty(p, EP_TokenOnly) ); - if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); + if( p->pLeft ) mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft); if( p->pRight ){ - mask |= sqlite3WhereExprUsage(pMaskSet, p->pRight); + mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pRight); assert( p->x.pList==0 ); }else if( ExprHasProperty(p, EP_xIsSelect) ){ if( ExprHasProperty(p, EP_VarSelect) ) pMaskSet->bVarSelect = 1; @@ -132834,6 +139135,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ } return mask; } +SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ + return p ? sqlite3WhereExprUsageNN(pMaskSet,p) : 0; +} SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){ int i; Bitmask mask = 0; @@ -132887,6 +139191,7 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs( pArgs = pItem->u1.pFuncArg; if( pArgs==0 ) return; for(j=k=0; jnExpr; j++){ + Expr *pRhs; while( knCol && (pTab->aCol[k].colFlags & COLFLAG_HIDDEN)==0 ){k++;} if( k>=pTab->nCol ){ sqlite3ErrorMsg(pParse, "too many arguments on %s() - max %d", @@ -132897,9 +139202,10 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs( if( pColRef==0 ) return; pColRef->iTable = pItem->iCursor; pColRef->iColumn = k++; - pColRef->pTab = pTab; - pTerm = sqlite3PExpr(pParse, TK_EQ, pColRef, - sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0)); + pColRef->y.pTab = pTab; + pRhs = sqlite3PExpr(pParse, TK_UPLUS, + sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0), 0); + pTerm = sqlite3PExpr(pParse, TK_EQ, pColRef, pRhs); whereClauseInsert(pWC, pTerm, TERM_DYNAMIC); } } @@ -132975,15 +139281,38 @@ SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo *pWInfo){ } /* -** Return TRUE if the innermost loop of the WHERE clause implementation -** returns rows in ORDER BY order for complete run of the inner loop. +** In the ORDER BY LIMIT optimization, if the inner-most loop is known +** to emit rows in increasing order, and if the last row emitted by the +** inner-most loop did not fit within the sorter, then we can skip all +** subsequent rows for the current iteration of the inner loop (because they +** will not fit in the sorter either) and continue with the second inner +** loop - the loop immediately outside the inner-most. +** +** When a row does not fit in the sorter (because the sorter already +** holds LIMIT+OFFSET rows that are smaller), then a jump is made to the +** label returned by this function. ** -** Across multiple iterations of outer loops, the output rows need not be -** sorted. As long as rows are sorted for just the innermost loop, this -** routine can return TRUE. +** If the ORDER BY LIMIT optimization applies, the jump destination should +** be the continuation for the second-inner-most loop. If the ORDER BY +** LIMIT optimization does not apply, then the jump destination should +** be the continuation for the inner-most loop. +** +** It is always safe for this routine to return the continuation of the +** inner-most loop, in the sense that a correct answer will result. +** Returning the continuation the second inner loop is an optimization +** that might make the code run a little faster, but should not change +** the final answer. */ -SQLITE_PRIVATE int sqlite3WhereOrderedInnerLoop(WhereInfo *pWInfo){ - return pWInfo->bOrderedInnerLoop; +SQLITE_PRIVATE int sqlite3WhereOrderByLimitOptLabel(WhereInfo *pWInfo){ + WhereLevel *pInner; + if( !pWInfo->bOrderedInnerLoop ){ + /* The ORDER BY LIMIT optimization does not apply. Jump to the + ** continuation of the inner-most loop. */ + return pWInfo->iContinue; + } + pInner = &pWInfo->a[pWInfo->nLevel-1]; + assert( pInner->addrNxt!=0 ); + return pInner->addrNxt; } /* @@ -133710,7 +140039,6 @@ static void constructAutomaticIndex( VdbeComment((v, "for %s", pTable->zName)); /* Fill the automatic index with content */ - sqlite3ExprCachePush(pParse); pTabItem = &pWC->pWInfo->pTabList->a[pLevel->iFrom]; if( pTabItem->fg.viaCoroutine ){ int regYield = pTabItem->regReturn; @@ -133718,7 +140046,7 @@ static void constructAutomaticIndex( sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, pTabItem->addrFillSub); addrTop = sqlite3VdbeAddOp1(v, OP_Yield, regYield); VdbeCoverage(v); - VdbeComment((v, "next row of \"%s\"", pTabItem->pTab->zName)); + VdbeComment((v, "next row of %s", pTabItem->pTab->zName)); }else{ addrTop = sqlite3VdbeAddOp1(v, OP_Rewind, pLevel->iTabCur); VdbeCoverage(v); } @@ -133740,14 +140068,12 @@ static void constructAutomaticIndex( translateColumnToCopy(pParse, addrTop, pLevel->iTabCur, pTabItem->regResult, 1); sqlite3VdbeGoto(v, addrTop); - pTabItem->fg.viaCoroutine = 0; }else{ sqlite3VdbeAddOp2(v, OP_Next, pLevel->iTabCur, addrTop+1); VdbeCoverage(v); } sqlite3VdbeChangeP5(v, SQLITE_STMTSTATUS_AUTOINDEX); sqlite3VdbeJumpHere(v, addrTop); sqlite3ReleaseTempReg(pParse, regRecord); - sqlite3ExprCachePop(pParse); /* Jump here when skipping the initialization */ sqlite3VdbeJumpHere(v, addrInit); @@ -133853,6 +140179,20 @@ static sqlite3_index_info *allocateIndexInfo( testcase( pTerm->eOperator & WO_ALL ); if( (pTerm->eOperator & ~(WO_EQUIV))==0 ) continue; if( pTerm->wtFlags & TERM_VNULL ) continue; + if( (pSrc->fg.jointype & JT_LEFT)!=0 + && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) + && (pTerm->eOperator & (WO_IS|WO_ISNULL)) + ){ + /* An "IS" term in the WHERE clause where the virtual table is the rhs + ** of a LEFT JOIN. Do not pass this term to the virtual table + ** implementation, as this can lead to incorrect results from SQL such + ** as: + ** + ** "LEFT JOIN vtab WHERE vtab.col IS NULL" */ + testcase( pTerm->eOperator & WO_ISNULL ); + testcase( pTerm->eOperator & WO_IS ); + continue; + } assert( pTerm->u.leftColumn>=(-1) ); pIdxCons[j].iColumn = pTerm->u.leftColumn; pIdxCons[j].iTermOffset = i; @@ -133905,9 +140245,11 @@ static sqlite3_index_info *allocateIndexInfo( ** method of the virtual table with the sqlite3_index_info object that ** comes in as the 3rd argument to this function. ** -** If an error occurs, pParse is populated with an error message and a -** non-zero value is returned. Otherwise, 0 is returned and the output -** part of the sqlite3_index_info structure is left populated. +** If an error occurs, pParse is populated with an error message and an +** appropriate error code is returned. A return of SQLITE_CONSTRAINT from +** xBestIndex is not considered an error. SQLITE_CONSTRAINT indicates that +** the current configuration of "unusable" flags in sqlite3_index_info can +** not result in a valid plan. ** ** Whether or not an error is returned, it is the responsibility of the ** caller to eventually free p->idxStr if p->needToFreeIdxStr indicates @@ -133921,7 +140263,7 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ rc = pVtab->pModule->xBestIndex(pVtab, p); TRACE_IDX_OUTPUTS(p); - if( rc!=SQLITE_OK ){ + if( rc!=SQLITE_OK && rc!=SQLITE_CONSTRAINT ){ if( rc==SQLITE_NOMEM ){ sqlite3OomFault(pParse->db); }else if( !pVtab->zErrMsg ){ @@ -133932,19 +140274,7 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ } sqlite3_free(pVtab->zErrMsg); pVtab->zErrMsg = 0; - -#if 0 - /* This error is now caught by the caller. - ** Search for "xBestIndex malfunction" below */ - for(i=0; inConstraint; i++){ - if( !p->aConstraint[i].usable && p->aConstraintUsage[i].argvIndex>0 ){ - sqlite3ErrorMsg(pParse, - "table %s: xBestIndex returned an invalid plan", pTab->zName); - } - } -#endif - - return pParse->nErr; + return rc; } #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */ @@ -134344,7 +140674,9 @@ static int whereRangeScanEst( Index *p = pLoop->u.btree.pIndex; int nEq = pLoop->u.btree.nEq; - if( p->nSample>0 && nEqnSampleCol ){ + if( p->nSample>0 && nEqnSampleCol + && OptimizationEnabled(pParse->db, SQLITE_Stat34) + ){ if( nEq==pBuilder->nRecValid ){ UnpackedRecord *pRec = pBuilder->pRec; tRowcnt a[2]; @@ -134997,6 +141329,14 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ sqlite3 *db = pWInfo->pParse->db; int rc; + /* Stop the search once we hit the query planner search limit */ + if( pBuilder->iPlanLimit==0 ){ + WHERETRACE(0xffffffff,("=== query planner search limit reached ===\n")); + if( pBuilder->pOrSet ) pBuilder->pOrSet->n = 0; + return SQLITE_DONE; + } + pBuilder->iPlanLimit--; + /* If pBuilder->pOrSet is defined, then only keep track of the costs ** and prereqs. */ @@ -135281,8 +141621,8 @@ static int whereLoopAddBtreeIndex( pNew = pBuilder->pNew; if( db->mallocFailed ) return SQLITE_NOMEM_BKPT; - WHERETRACE(0x800, ("BEGIN addBtreeIdx(%s), nEq=%d\n", - pProbe->zName, pNew->u.btree.nEq)); + WHERETRACE(0x800, ("BEGIN %s.addBtreeIdx(%s), nEq=%d\n", + pProbe->pTable->zName,pProbe->zName, pNew->u.btree.nEq)); assert( (pNew->wsFlags & WHERE_VIRTUALTABLE)==0 ); assert( (pNew->wsFlags & WHERE_TOP_LIMIT)==0 ); @@ -135328,15 +141668,12 @@ static int whereLoopAddBtreeIndex( ** to mix with a lower range bound from some other source */ if( pTerm->wtFlags & TERM_LIKEOPT && pTerm->eOperator==WO_LT ) continue; - /* Do not allow IS constraints from the WHERE clause to be used by the + /* Do not allow constraints from the WHERE clause to be used by the ** right table of a LEFT JOIN. Only constraints in the ON clause are ** allowed */ if( (pSrc->fg.jointype & JT_LEFT)!=0 && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) - && (eOp & (WO_IS|WO_ISNULL))!=0 ){ - testcase( eOp & WO_IS ); - testcase( eOp & WO_ISNULL ); continue; } @@ -135362,7 +141699,6 @@ static int whereLoopAddBtreeIndex( if( eOp & WO_IN ){ Expr *pExpr = pTerm->pExpr; - pNew->wsFlags |= WHERE_COLUMN_IN; if( ExprHasProperty(pExpr, EP_xIsSelect) ){ /* "x IN (SELECT ...)": TUNING: the SELECT returns 25 rows */ int i; @@ -135382,6 +141718,42 @@ static int whereLoopAddBtreeIndex( assert( nIn>0 ); /* RHS always has 2 or more terms... The parser ** changes "x IN (?)" into "x=?". */ } + if( pProbe->hasStat1 ){ + LogEst M, logK, safetyMargin; + /* Let: + ** N = the total number of rows in the table + ** K = the number of entries on the RHS of the IN operator + ** M = the number of rows in the table that match terms to the + ** to the left in the same index. If the IN operator is on + ** the left-most index column, M==N. + ** + ** Given the definitions above, it is better to omit the IN operator + ** from the index lookup and instead do a scan of the M elements, + ** testing each scanned row against the IN operator separately, if: + ** + ** M*log(K) < K*log(N) + ** + ** Our estimates for M, K, and N might be inaccurate, so we build in + ** a safety margin of 2 (LogEst: 10) that favors using the IN operator + ** with the index, as using an index has better worst-case behavior. + ** If we do not have real sqlite_stat1 data, always prefer to use + ** the index. + */ + M = pProbe->aiRowLogEst[saved_nEq]; + logK = estLog(nIn); + safetyMargin = 10; /* TUNING: extra weight for indexed IN */ + if( M + logK + safetyMargin < nIn + rLogSize ){ + WHERETRACE(0x40, + ("Scan preferred over IN operator on column %d of \"%s\" (%d<%d)\n", + saved_nEq, pProbe->zName, M+logK+10, nIn+rLogSize)); + continue; + }else{ + WHERETRACE(0x40, + ("IN operator preferred on column %d of \"%s\" (%d>=%d)\n", + saved_nEq, pProbe->zName, M+logK+10, nIn+rLogSize)); + } + } + pNew->wsFlags |= WHERE_COLUMN_IN; }else if( eOp & (WO_EQ|WO_IS) ){ int iCol = pProbe->aiColumn[saved_nEq]; pNew->wsFlags |= WHERE_COLUMN_EQ; @@ -135389,10 +141761,12 @@ static int whereLoopAddBtreeIndex( if( iCol==XN_ROWID || (iCol>=0 && nInMul==0 && saved_nEq==pProbe->nKeyCol-1) ){ - if( iCol>=0 && pProbe->uniqNotNull==0 ){ - pNew->wsFlags |= WHERE_UNQ_WANTED; - }else{ + if( iCol==XN_ROWID || pProbe->uniqNotNull + || (pProbe->nKeyCol==1 && pProbe->onError && eOp==WO_EQ) + ){ pNew->wsFlags |= WHERE_ONEROW; + }else{ + pNew->wsFlags |= WHERE_UNQ_WANTED; } } }else if( eOp & WO_ISNULL ){ @@ -135458,6 +141832,7 @@ static int whereLoopAddBtreeIndex( && pProbe->nSample && pNew->u.btree.nEq<=pProbe->nSampleCol && ((eOp & WO_IN)==0 || !ExprHasProperty(pTerm->pExpr, EP_xIsSelect)) + && OptimizationEnabled(db, SQLITE_Stat34) ){ Expr *pExpr = pTerm->pExpr; if( (eOp & (WO_EQ|WO_ISNULL|WO_IS))!=0 ){ @@ -135546,6 +141921,7 @@ static int whereLoopAddBtreeIndex( if( saved_nEq==saved_nSkip && saved_nEq+1nKeyCol && pProbe->noSkipScan==0 + && OptimizationEnabled(db, SQLITE_SkipScan) && pProbe->aiRowLogEst[saved_nEq+1]>=42 /* TUNING: Minimum for skip-scan */ && (rc = whereLoopResize(db, pNew, pNew->nLTerm+1))==SQLITE_OK ){ @@ -135566,8 +141942,8 @@ static int whereLoopAddBtreeIndex( pNew->wsFlags = saved_wsFlags; } - WHERETRACE(0x800, ("END addBtreeIdx(%s), nEq=%d, rc=%d\n", - pProbe->zName, saved_nEq, rc)); + WHERETRACE(0x800, ("END %s.addBtreeIdx(%s), nEq=%d, rc=%d\n", + pProbe->pTable->zName, pProbe->zName, saved_nEq, rc)); return rc; } @@ -135609,24 +141985,6 @@ static int indexMightHelpWithOrderBy( return 0; } -/* -** Return a bitmask where 1s indicate that the corresponding column of -** the table is used by an index. Only the first 63 columns are considered. -*/ -static Bitmask columnsInIndex(Index *pIdx){ - Bitmask m = 0; - int j; - for(j=pIdx->nColumn-1; j>=0; j--){ - int x = pIdx->aiColumn[j]; - if( x>=0 ){ - testcase( x==BMS-1 ); - testcase( x==BMS-2 ); - if( xrSetup = rLogSize + rSize + 4; + pNew->rSetup = rLogSize + rSize; if( pTab->pSelect==0 && (pTab->tabFlags & TF_Ephemeral)==0 ){ - pNew->rSetup += 24; + pNew->rSetup += 28; + }else{ + pNew->rSetup -= 10; } ApplyCostMultiplier(pNew->rSetup, pTab->costMult); if( pNew->rSetup<0 ) pNew->rSetup = 0; @@ -135840,7 +142200,7 @@ static int whereLoopAddBtree( pNew->wsFlags = WHERE_IDX_ONLY | WHERE_INDEXED; m = 0; }else{ - m = pSrc->colUsed & ~columnsInIndex(pProbe); + m = pSrc->colUsed & pProbe->colNotIdxed; pNew->wsFlags = (m==0) ? (WHERE_IDX_ONLY|WHERE_INDEXED) : WHERE_INDEXED; } @@ -135987,7 +142347,17 @@ static int whereLoopAddVirtualOne( /* Invoke the virtual table xBestIndex() method */ rc = vtabBestIndex(pParse, pSrc->pTab, pIdxInfo); - if( rc ) return rc; + if( rc ){ + if( rc==SQLITE_CONSTRAINT ){ + /* If the xBestIndex method returns SQLITE_CONSTRAINT, that means + ** that the particular combination of parameters provided is unusable. + ** Make no entries in the loop table. + */ + WHERETRACE(0xffff, (" ^^^^--- non-viable plan rejected!\n")); + return SQLITE_OK; + } + return rc; + } mxTerm = -1; assert( pNew->nLSlot>=nConstraint ); @@ -136005,9 +142375,9 @@ static int whereLoopAddVirtualOne( || pNew->aLTerm[iTerm]!=0 || pIdxCons->usable==0 ){ - rc = SQLITE_ERROR; sqlite3ErrorMsg(pParse,"%s.xBestIndex malfunction",pSrc->pTab->zName); - return rc; + testcase( pIdxInfo->needToFreeIdxStr ); + return SQLITE_ERROR; } testcase( iTerm==nConstraint-1 ); testcase( j==0 ); @@ -136035,6 +142405,15 @@ static int whereLoopAddVirtualOne( pNew->u.vtab.omitMask &= ~mNoOmit; pNew->nLTerm = mxTerm+1; + for(i=0; i<=mxTerm; i++){ + if( pNew->aLTerm[i]==0 ){ + /* The non-zero argvIdx values must be contiguous. Raise an + ** error if they are not */ + sqlite3ErrorMsg(pParse,"%s.xBestIndex malfunction",pSrc->pTab->zName); + testcase( pIdxInfo->needToFreeIdxStr ); + return SQLITE_ERROR; + } + } assert( pNew->nLTerm<=pNew->nLSlot ); pNew->u.vtab.idxNum = pIdxInfo->idxNum; pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr; @@ -136082,7 +142461,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info *pIdxInfo, int if( pX->pLeft ){ pC = sqlite3BinaryCompareCollSeq(pHidden->pParse, pX->pLeft, pX->pRight); } - zRet = (pC ? pC->zName : "BINARY"); + zRet = (pC ? pC->zName : sqlite3StrBINARY); } return zRet; } @@ -136150,6 +142529,7 @@ static int whereLoopAddVirtual( } /* First call xBestIndex() with all constraints usable. */ + WHERETRACE(0x800, ("BEGIN %s.addVirtual()\n", pSrc->pTab->zName)); WHERETRACE(0x40, (" VirtualOne: all usable\n")); rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, mNoOmit, &bIn); @@ -136225,6 +142605,7 @@ static int whereLoopAddVirtual( if( p->needToFreeIdxStr ) sqlite3_free(p->idxStr); sqlite3DbFreeNN(pParse->db, p); + WHERETRACE(0x800, ("END %s.addVirtual(), rc=%d\n", pSrc->pTab->zName, rc)); return rc; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -136372,9 +142753,11 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ /* Loop over the tables in the join, from left to right */ pNew = pBuilder->pNew; whereLoopInit(pNew); + pBuilder->iPlanLimit = SQLITE_QUERY_PLANNER_LIMIT; for(iTab=0, pItem=pTabList->a; pItemiTab = iTab; + pBuilder->iPlanLimit += SQLITE_QUERY_PLANNER_LIMIT_INCR; pNew->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, pItem->iCursor); if( ((pItem->fg.jointype|priorJointype) & (JT_LEFT|JT_CROSS))!=0 ){ /* This condition is true when pItem is the FROM clause term on the @@ -136396,11 +142779,19 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ { rc = whereLoopAddBtree(pBuilder, mPrereq); } - if( rc==SQLITE_OK ){ + if( rc==SQLITE_OK && pBuilder->pWC->hasOr ){ rc = whereLoopAddOr(pBuilder, mPrereq, mUnusable); } mPrior |= pNew->maskSelf; - if( rc || db->mallocFailed ) break; + if( rc || db->mallocFailed ){ + if( rc==SQLITE_DONE ){ + /* We hit the query planner search limit set by iPlanLimit */ + sqlite3_log(SQLITE_WARNING, "abbreviated query algorithm search"); + rc = SQLITE_OK; + }else{ + break; + } + } } whereLoopClear(db, pNew); @@ -136903,12 +143294,15 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( (pWLoop->prereq & ~pFrom->maskLoop)!=0 ) continue; if( (pWLoop->maskSelf & pFrom->maskLoop)!=0 ) continue; - if( (pWLoop->wsFlags & WHERE_AUTO_INDEX)!=0 && pFrom->nRow<10 ){ + if( (pWLoop->wsFlags & WHERE_AUTO_INDEX)!=0 && pFrom->nRow<3 ){ /* Do not use an automatic index if the this loop is expected - ** to run less than 2 times. */ + ** to run less than 1.25 times. It is tempting to also exclude + ** automatic index usage on an outer loop, but sometimes an automatic + ** index is useful in the outer loop of a correlated subquery. */ assert( 10==sqlite3LogEst(2) ); continue; } + /* At this point, pWLoop is a candidate to be the next loop. ** Compute its cost */ rUnsorted = sqlite3LogEstAdd(pWLoop->rSetup,pWLoop->rRun + pFrom->nRow); @@ -136928,7 +143322,11 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ pWInfo, nRowEst, nOrderBy, isOrdered ); } - rCost = sqlite3LogEstAdd(rUnsorted, aSortCost[isOrdered]); + /* TUNING: Add a small extra penalty (5) to sorting as an + ** extra encouragment to the query planner to select a plan + ** where the rows emerge in the correct order without any sorting + ** required. */ + rCost = sqlite3LogEstAdd(rUnsorted, aSortCost[isOrdered]) + 5; WHERETRACE(0x002, ("---- sort cost=%-3d (%d/%d) increases cost %3d to %-3d\n", @@ -137118,6 +143516,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ pWInfo->eDistinct = WHERE_DISTINCT_ORDERED; } } + pWInfo->bOrderedInnerLoop = 0; if( pWInfo->pOrderBy ){ if( pWInfo->wctrlFlags & WHERE_DISTINCTBY ){ if( pFrom->isOrdered==pWInfo->pOrderBy->nExpr ){ @@ -137229,7 +143628,7 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ } if( j!=pIdx->nKeyCol ) continue; pLoop->wsFlags = WHERE_COLUMN_EQ|WHERE_ONEROW|WHERE_INDEXED; - if( pIdx->isCovering || (pItem->colUsed & ~columnsInIndex(pIdx))==0 ){ + if( pIdx->isCovering || (pItem->colUsed & pIdx->colNotIdxed)==0 ){ pLoop->wsFlags |= WHERE_IDX_ONLY; } pLoop->nLTerm = j; @@ -137490,6 +143889,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( if( wctrlFlags & WHERE_WANT_DISTINCT ){ pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE; } + ExplainQueryPlan((pParse, 0, "SCAN CONSTANT ROW")); }else{ /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -137539,6 +143939,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( */ for(ii=0; iinTerm; ii++){ WhereTerm *pT = &sWLB.pWC->a[ii]; + if( pT->wtFlags & TERM_VIRTUAL ) continue; if( pT->prereqAll==0 && (nTabList==0 || exprIsDeterministic(pT->pExpr)) ){ sqlite3ExprIfFalse(pParse, pT->pExpr, pWInfo->iBreak, SQLITE_JUMPIFNULL); pT->wtFlags |= TERM_CODED; @@ -137884,7 +144285,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } #endif addrExplain = sqlite3WhereExplainOneScan( - pParse, pTabList, pLevel, ii, pLevel->iFrom, wctrlFlags + pParse, pTabList, pLevel, wctrlFlags ); pLevel->addrBody = sqlite3VdbeCurrentAddr(v); notReady = sqlite3WhereCodeOneLoopStart(pWInfo, ii, notReady); @@ -137907,6 +144308,26 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( return 0; } +/* +** Part of sqlite3WhereEnd() will rewrite opcodes to reference the +** index rather than the main table. In SQLITE_DEBUG mode, we want +** to trace those changes if PRAGMA vdbe_addoptrace=on. This routine +** does that. +*/ +#ifndef SQLITE_DEBUG +# define OpcodeRewriteTrace(D,K,P) /* no-op */ +#else +# define OpcodeRewriteTrace(D,K,P) sqlite3WhereOpcodeRewriteTrace(D,K,P) + static void sqlite3WhereOpcodeRewriteTrace( + sqlite3 *db, + int pc, + VdbeOp *pOp + ){ + if( (db->flags & SQLITE_VdbeAddopTrace)==0 ) return; + sqlite3VdbePrintOp(0, pc, pOp); + } +#endif + /* ** Generate the end of the WHERE loop. See comments on ** sqlite3WhereBegin() for additional information. @@ -137923,7 +144344,6 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ /* Generate loop termination code. */ VdbeModuleComment((v, "End WHERE-core")); - sqlite3ExprCacheClear(pParse); for(i=pWInfo->nLevel-1; i>=0; i--){ int addr; pLevel = &pWInfo->a[i]; @@ -137974,10 +144394,17 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ for(j=pLevel->u.in.nIn, pIn=&pLevel->u.in.aInLoop[j-1]; j>0; j--, pIn--){ sqlite3VdbeJumpHere(v, pIn->addrInTop+1); if( pIn->eEndLoopOp!=OP_Noop ){ + if( pIn->nPrefix ){ + assert( pLoop->wsFlags & WHERE_IN_EARLYOUT ); + sqlite3VdbeAddOp4Int(v, OP_IfNoHope, pLevel->iIdxCur, + sqlite3VdbeCurrentAddr(v)+2, + pIn->iBase, pIn->nPrefix); + VdbeCoverage(v); + } sqlite3VdbeAddOp2(v, pIn->eEndLoopOp, pIn->iCur, pIn->addrInTop); VdbeCoverage(v); - VdbeCoverageIf(v, pIn->eEndLoopOp==OP_PrevIfOpen); - VdbeCoverageIf(v, pIn->eEndLoopOp==OP_NextIfOpen); + VdbeCoverageIf(v, pIn->eEndLoopOp==OP_Prev); + VdbeCoverageIf(v, pIn->eEndLoopOp==OP_Next); } sqlite3VdbeJumpHere(v, pIn->addrInTop-1); } @@ -138068,6 +144495,11 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ ){ last = sqlite3VdbeCurrentAddr(v); k = pLevel->addrBody; +#ifdef SQLITE_DEBUG + if( db->flags & SQLITE_VdbeAddopTrace ){ + printf("TRANSLATE opcodes in range %d..%d\n", k, last-1); + } +#endif pOp = sqlite3VdbeGetOp(v, k); for(; kp1!=pLevel->iTabCur ) continue; @@ -138087,16 +144519,22 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ if( x>=0 ){ pOp->p2 = x; pOp->p1 = pLevel->iIdxCur; + OpcodeRewriteTrace(db, k, pOp); } assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 || pWInfo->eOnePass ); }else if( pOp->opcode==OP_Rowid ){ pOp->p1 = pLevel->iIdxCur; pOp->opcode = OP_IdxRowid; + OpcodeRewriteTrace(db, k, pOp); }else if( pOp->opcode==OP_IfNullRow ){ pOp->p1 = pLevel->iIdxCur; + OpcodeRewriteTrace(db, k, pOp); } } +#ifdef SQLITE_DEBUG + if( db->flags & SQLITE_VdbeAddopTrace ) printf("TRANSLATE complete\n"); +#endif } } @@ -138108,6 +144546,2263 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ } /************** End of where.c ***********************************************/ +/************** Begin file window.c ******************************************/ +/* +** 2018 May 08 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +*/ +/* #include "sqliteInt.h" */ + +#ifndef SQLITE_OMIT_WINDOWFUNC + +/* +** SELECT REWRITING +** +** Any SELECT statement that contains one or more window functions in +** either the select list or ORDER BY clause (the only two places window +** functions may be used) is transformed by function sqlite3WindowRewrite() +** in order to support window function processing. For example, with the +** schema: +** +** CREATE TABLE t1(a, b, c, d, e, f, g); +** +** the statement: +** +** SELECT a+1, max(b) OVER (PARTITION BY c ORDER BY d) FROM t1 ORDER BY e; +** +** is transformed to: +** +** SELECT a+1, max(b) OVER (PARTITION BY c ORDER BY d) FROM ( +** SELECT a, e, c, d, b FROM t1 ORDER BY c, d +** ) ORDER BY e; +** +** The flattening optimization is disabled when processing this transformed +** SELECT statement. This allows the implementation of the window function +** (in this case max()) to process rows sorted in order of (c, d), which +** makes things easier for obvious reasons. More generally: +** +** * FROM, WHERE, GROUP BY and HAVING clauses are all moved to +** the sub-query. +** +** * ORDER BY, LIMIT and OFFSET remain part of the parent query. +** +** * Terminals from each of the expression trees that make up the +** select-list and ORDER BY expressions in the parent query are +** selected by the sub-query. For the purposes of the transformation, +** terminals are column references and aggregate functions. +** +** If there is more than one window function in the SELECT that uses +** the same window declaration (the OVER bit), then a single scan may +** be used to process more than one window function. For example: +** +** SELECT max(b) OVER (PARTITION BY c ORDER BY d), +** min(e) OVER (PARTITION BY c ORDER BY d) +** FROM t1; +** +** is transformed in the same way as the example above. However: +** +** SELECT max(b) OVER (PARTITION BY c ORDER BY d), +** min(e) OVER (PARTITION BY a ORDER BY b) +** FROM t1; +** +** Must be transformed to: +** +** SELECT max(b) OVER (PARTITION BY c ORDER BY d) FROM ( +** SELECT e, min(e) OVER (PARTITION BY a ORDER BY b), c, d, b FROM +** SELECT a, e, c, d, b FROM t1 ORDER BY a, b +** ) ORDER BY c, d +** ) ORDER BY e; +** +** so that both min() and max() may process rows in the order defined by +** their respective window declarations. +** +** INTERFACE WITH SELECT.C +** +** When processing the rewritten SELECT statement, code in select.c calls +** sqlite3WhereBegin() to begin iterating through the results of the +** sub-query, which is always implemented as a co-routine. It then calls +** sqlite3WindowCodeStep() to process rows and finish the scan by calling +** sqlite3WhereEnd(). +** +** sqlite3WindowCodeStep() generates VM code so that, for each row returned +** by the sub-query a sub-routine (OP_Gosub) coded by select.c is invoked. +** When the sub-routine is invoked: +** +** * The results of all window-functions for the row are stored +** in the associated Window.regResult registers. +** +** * The required terminal values are stored in the current row of +** temp table Window.iEphCsr. +** +** In some cases, depending on the window frame and the specific window +** functions invoked, sqlite3WindowCodeStep() caches each entire partition +** in a temp table before returning any rows. In other cases it does not. +** This detail is encapsulated within this file, the code generated by +** select.c is the same in either case. +** +** BUILT-IN WINDOW FUNCTIONS +** +** This implementation features the following built-in window functions: +** +** row_number() +** rank() +** dense_rank() +** percent_rank() +** cume_dist() +** ntile(N) +** lead(expr [, offset [, default]]) +** lag(expr [, offset [, default]]) +** first_value(expr) +** last_value(expr) +** nth_value(expr, N) +** +** These are the same built-in window functions supported by Postgres. +** Although the behaviour of aggregate window functions (functions that +** can be used as either aggregates or window funtions) allows them to +** be implemented using an API, built-in window functions are much more +** esoteric. Additionally, some window functions (e.g. nth_value()) +** may only be implemented by caching the entire partition in memory. +** As such, some built-in window functions use the same API as aggregate +** window functions and some are implemented directly using VDBE +** instructions. Additionally, for those functions that use the API, the +** window frame is sometimes modified before the SELECT statement is +** rewritten. For example, regardless of the specified window frame, the +** row_number() function always uses: +** +** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +** +** See sqlite3WindowUpdate() for details. +** +** As well as some of the built-in window functions, aggregate window +** functions min() and max() are implemented using VDBE instructions if +** the start of the window frame is declared as anything other than +** UNBOUNDED PRECEDING. +*/ + +/* +** Implementation of built-in window function row_number(). Assumes that the +** window frame has been coerced to: +** +** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void row_numberStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + i64 *p = (i64*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ) (*p)++; + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); +} +static void row_numberValueFunc(sqlite3_context *pCtx){ + i64 *p = (i64*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + sqlite3_result_int64(pCtx, (p ? *p : 0)); +} + +/* +** Context object type used by rank(), dense_rank(), percent_rank() and +** cume_dist(). +*/ +struct CallCount { + i64 nValue; + i64 nStep; + i64 nTotal; +}; + +/* +** Implementation of built-in window function dense_rank(). Assumes that +** the window frame has been set to: +** +** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void dense_rankStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ) p->nStep = 1; + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); +} +static void dense_rankValueFunc(sqlite3_context *pCtx){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + if( p->nStep ){ + p->nValue++; + p->nStep = 0; + } + sqlite3_result_int64(pCtx, p->nValue); + } +} + +/* +** Implementation of built-in window function rank(). Assumes that +** the window frame has been set to: +** +** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void rankStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + p->nStep++; + if( p->nValue==0 ){ + p->nValue = p->nStep; + } + } + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); +} +static void rankValueFunc(sqlite3_context *pCtx){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + sqlite3_result_int64(pCtx, p->nValue); + p->nValue = 0; + } +} + +/* +** Implementation of built-in window function percent_rank(). Assumes that +** the window frame has been set to: +** +** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void percent_rankStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct CallCount *p; + UNUSED_PARAMETER(nArg); assert( nArg==1 ); + + 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; + } + } +} +static void percent_rankValueFunc(sqlite3_context *pCtx){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + if( p->nTotal>1 ){ + double r = (double)(p->nValue-1) / (double)(p->nTotal-1); + sqlite3_result_double(pCtx, r); + }else{ + sqlite3_result_double(pCtx, 0.0); + } + p->nValue = 0; + } +} + +/* +** Implementation of built-in window function cume_dist(). Assumes that +** the window frame has been set to: +** +** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void cume_distStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct CallCount *p; + assert( nArg==1 ); UNUSED_PARAMETER(nArg); + + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + if( p->nTotal==0 ){ + p->nTotal = sqlite3_value_int64(apArg[0]); + } + p->nStep++; + } +} +static void cume_distValueFunc(sqlite3_context *pCtx){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p && p->nTotal ){ + double r = (double)(p->nStep) / (double)(p->nTotal); + sqlite3_result_double(pCtx, r); + } +} + +/* +** Context object for ntile() window function. +*/ +struct NtileCtx { + i64 nTotal; /* Total rows in partition */ + i64 nParam; /* Parameter passed to ntile(N) */ + i64 iRow; /* Current row */ +}; + +/* +** Implementation of ntile(). This assumes that the window frame has +** been coerced to: +** +** ROWS UNBOUNDED PRECEDING AND CURRENT ROW +*/ +static void ntileStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct NtileCtx *p; + assert( nArg==2 ); 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++; + } +} +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); + }else{ + i64 nLarge = p->nTotal - p->nParam*nSize; + i64 iSmall = nLarge*(nSize+1); + i64 iRow = p->iRow-1; + + assert( (nLarge*(nSize+1) + (p->nParam-nLarge)*nSize)==p->nTotal ); + + if( iRowpVal); + p->pVal = sqlite3_value_dup(apArg[0]); + if( p->pVal==0 ){ + sqlite3_result_error_nomem(pCtx); + }else{ + p->nVal++; + } + } +} +static void last_valueInvFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct LastValueCtx *p; + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); + p = (struct LastValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( ALWAYS(p) ){ + p->nVal--; + if( p->nVal==0 ){ + sqlite3_value_free(p->pVal); + p->pVal = 0; + } + } +} +static void last_valueValueFunc(sqlite3_context *pCtx){ + struct LastValueCtx *p; + p = (struct LastValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p && p->pVal ){ + sqlite3_result_value(pCtx, p->pVal); + } +} +static void last_valueFinalizeFunc(sqlite3_context *pCtx){ + struct LastValueCtx *p; + p = (struct LastValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p && p->pVal ){ + sqlite3_result_value(pCtx, p->pVal); + sqlite3_value_free(p->pVal); + p->pVal = 0; + } +} + +/* +** Static names for the built-in window function names. These static +** names are used, rather than string literals, so that FuncDef objects +** can be associated with a particular window function by direct +** comparison of the zName pointer. Example: +** +** if( pFuncDef->zName==row_valueName ){ ... } +*/ +static const char row_numberName[] = "row_number"; +static const char dense_rankName[] = "dense_rank"; +static const char rankName[] = "rank"; +static const char percent_rankName[] = "percent_rank"; +static const char cume_distName[] = "cume_dist"; +static const char ntileName[] = "ntile"; +static const char last_valueName[] = "last_value"; +static const char nth_valueName[] = "nth_value"; +static const char first_valueName[] = "first_value"; +static const char leadName[] = "lead"; +static const char lagName[] = "lag"; + +/* +** No-op implementations of xStep() and xFinalize(). Used as place-holders +** for built-in window functions that never call those interfaces. +** +** The noopValueFunc() is called but is expected to do nothing. The +** noopStepFunc() is never called, and so it is marked with NO_TEST to +** let the test coverage routine know not to expect this function to be +** invoked. +*/ +static void noopStepFunc( /*NO_TEST*/ + sqlite3_context *p, /*NO_TEST*/ + int n, /*NO_TEST*/ + sqlite3_value **a /*NO_TEST*/ +){ /*NO_TEST*/ + UNUSED_PARAMETER(p); /*NO_TEST*/ + UNUSED_PARAMETER(n); /*NO_TEST*/ + UNUSED_PARAMETER(a); /*NO_TEST*/ + assert(0); /*NO_TEST*/ +} /*NO_TEST*/ +static void noopValueFunc(sqlite3_context *p){ UNUSED_PARAMETER(p); /*no-op*/ } + +/* Window functions that use all window interfaces: xStep, xFinal, +** xValue, and xInverse */ +#define WINDOWFUNCALL(name,nArg,extra) { \ + nArg, (SQLITE_UTF8|SQLITE_FUNC_WINDOW|extra), 0, 0, \ + name ## StepFunc, name ## FinalizeFunc, name ## ValueFunc, \ + name ## InvFunc, name ## Name, {0} \ +} + +/* Window functions that are implemented using bytecode and thus have +** no-op routines for their methods */ +#define WINDOWFUNCNOOP(name,nArg,extra) { \ + nArg, (SQLITE_UTF8|SQLITE_FUNC_WINDOW|extra), 0, 0, \ + noopStepFunc, noopValueFunc, noopValueFunc, \ + noopStepFunc, name ## Name, {0} \ +} + +/* Window functions that use all window interfaces: xStep, the +** same routine for xFinalize and xValue and which never call +** xInverse. */ +#define WINDOWFUNCX(name,nArg,extra) { \ + nArg, (SQLITE_UTF8|SQLITE_FUNC_WINDOW|extra), 0, 0, \ + name ## StepFunc, name ## ValueFunc, name ## ValueFunc, \ + noopStepFunc, name ## Name, {0} \ +} + + +/* +** Register those built-in window functions that are not also aggregates. +*/ +SQLITE_PRIVATE void sqlite3WindowFunctions(void){ + static FuncDef aWindowFuncs[] = { + 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(last_value, 1, 0), + WINDOWFUNCNOOP(nth_value, 2, 0), + WINDOWFUNCNOOP(first_value, 1, 0), + WINDOWFUNCNOOP(lead, 1, 0), + WINDOWFUNCNOOP(lead, 2, 0), + WINDOWFUNCNOOP(lead, 3, 0), + WINDOWFUNCNOOP(lag, 1, 0), + WINDOWFUNCNOOP(lag, 2, 0), + WINDOWFUNCNOOP(lag, 3, 0), + }; + sqlite3InsertBuiltinFuncs(aWindowFuncs, ArraySize(aWindowFuncs)); +} + +/* +** This function is called immediately after resolving the function name +** for a window function within a SELECT statement. Argument pList is a +** linked list of WINDOW definitions for the current SELECT statement. +** Argument pFunc is the function definition just resolved and pWin +** is the Window object representing the associated OVER clause. This +** function updates the contents of pWin as follows: +** +** * If the OVER clause refered to a named window (as in "max(x) OVER win"), +** search list pList for a matching WINDOW definition, and update pWin +** accordingly. If no such WINDOW clause can be found, leave an error +** in pParse. +** +** * If the function is a built-in window function that requires the +** window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top +** of this file), pWin is updated here. +*/ +SQLITE_PRIVATE void sqlite3WindowUpdate( + Parse *pParse, + Window *pList, /* List of named windows for this SELECT */ + 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; + } + 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; + } + 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; + } + } + pWin->pFunc = pFunc; +} + +/* +** Context object passed through sqlite3WalkExprList() to +** selectWindowRewriteExprCb() by selectWindowRewriteEList(). +*/ +typedef struct WindowRewrite WindowRewrite; +struct WindowRewrite { + Window *pWin; + SrcList *pSrc; + ExprList *pSub; + Select *pSubSelect; /* Current sub-select, if any */ +}; + +/* +** Callback function used by selectWindowRewriteEList(). If necessary, +** this function appends to the output expression-list and updates +** expression (*ppExpr) in place. +*/ +static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ + struct WindowRewrite *p = pWalker->u.pRewrite; + Parse *pParse = pWalker->pParse; + + /* If this function is being called from within a scalar sub-select + ** that used by the SELECT statement being processed, only process + ** TK_COLUMN expressions that refer to it (the outer SELECT). Do + ** not process aggregates or window functions at all, as they belong + ** to the scalar sub-select. */ + if( p->pSubSelect ){ + if( pExpr->op!=TK_COLUMN ){ + return WRC_Continue; + }else{ + int nSrc = p->pSrc->nSrc; + int i; + for(i=0; iiTable==p->pSrc->a[i].iCursor ) break; + } + if( i==nSrc ) return WRC_Continue; + } + } + + switch( pExpr->op ){ + + case TK_FUNCTION: + if( !ExprHasProperty(pExpr, EP_WinFunc) ){ + break; + }else{ + Window *pWin; + for(pWin=p->pWin; pWin; pWin=pWin->pNextWin){ + if( pExpr->y.pWin==pWin ){ + assert( pWin->pOwner==pExpr ); + return WRC_Prune; + } + } + } + /* Fall through. */ + + case TK_AGG_FUNCTION: + case TK_COLUMN: { + Expr *pDup = sqlite3ExprDup(pParse->db, pExpr, 0); + p->pSub = sqlite3ExprListAppend(pParse, p->pSub, pDup); + if( p->pSub ){ + assert( ExprHasProperty(pExpr, EP_Static)==0 ); + ExprSetProperty(pExpr, EP_Static); + sqlite3ExprDelete(pParse->db, pExpr); + ExprClearProperty(pExpr, EP_Static); + memset(pExpr, 0, sizeof(Expr)); + + pExpr->op = TK_COLUMN; + pExpr->iColumn = p->pSub->nExpr-1; + pExpr->iTable = p->pWin->iEphCsr; + } + + break; + } + + default: /* no-op */ + break; + } + + return WRC_Continue; +} +static int selectWindowRewriteSelectCb(Walker *pWalker, Select *pSelect){ + struct WindowRewrite *p = pWalker->u.pRewrite; + Select *pSave = p->pSubSelect; + if( pSave==pSelect ){ + return WRC_Continue; + }else{ + p->pSubSelect = pSelect; + sqlite3WalkSelect(pWalker, pSelect); + p->pSubSelect = pSave; + } + return WRC_Prune; +} + + +/* +** Iterate through each expression in expression-list pEList. For each: +** +** * TK_COLUMN, +** * aggregate function, or +** * window function with a Window object that is not a member of the +** Window list passed as the second argument (pWin). +** +** Append the node to output expression-list (*ppSub). And replace it +** with a TK_COLUMN that reads the (N-1)th element of table +** pWin->iEphCsr, where N is the number of elements in (*ppSub) after +** appending the new one. +*/ +static void selectWindowRewriteEList( + Parse *pParse, + Window *pWin, + SrcList *pSrc, + ExprList *pEList, /* Rewrite expressions in this list */ + ExprList **ppSub /* IN/OUT: Sub-select expression-list */ +){ + Walker sWalker; + WindowRewrite sRewrite; + + memset(&sWalker, 0, sizeof(Walker)); + memset(&sRewrite, 0, sizeof(WindowRewrite)); + + sRewrite.pSub = *ppSub; + sRewrite.pWin = pWin; + sRewrite.pSrc = pSrc; + + sWalker.pParse = pParse; + sWalker.xExprCallback = selectWindowRewriteExprCb; + sWalker.xSelectCallback = selectWindowRewriteSelectCb; + sWalker.u.pRewrite = &sRewrite; + + (void)sqlite3WalkExprList(&sWalker, pEList); + + *ppSub = sRewrite.pSub; +} + +/* +** Append a copy of each expression in expression-list pAppend to +** expression list pList. Return a pointer to the result list. +*/ +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 */ +){ + 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); + pList = sqlite3ExprListAppend(pParse, pList, pDup); + if( pList ) pList->a[nInit+i].sortOrder = pAppend->a[i].sortOrder; + } + } + return pList; +} + +/* +** If the SELECT statement passed as the second argument does not invoke +** any SQL window functions, this function is a no-op. Otherwise, it +** rewrites the SELECT statement so that window function xStep functions +** are invoked in the correct order as described under "SELECT REWRITING" +** at the top of this file. +*/ +SQLITE_PRIVATE int sqlite3WindowRewrite(Parse *pParse, Select *p){ + int rc = SQLITE_OK; + if( p->pWin && p->pPrior==0 ){ + Vdbe *v = sqlite3GetVdbe(pParse); + sqlite3 *db = pParse->db; + Select *pSub = 0; /* The subquery */ + SrcList *pSrc = p->pSrc; + Expr *pWhere = p->pWhere; + ExprList *pGroupBy = p->pGroupBy; + Expr *pHaving = p->pHaving; + ExprList *pSort = 0; + + ExprList *pSublist = 0; /* Expression list for sub-query */ + Window *pMWin = p->pWin; /* Master window object */ + Window *pWin; /* Window object iterator */ + + p->pSrc = 0; + p->pWhere = 0; + p->pGroupBy = 0; + p->pHaving = 0; + + /* 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 ){ + if( sqlite3ExprListCompare(pSort, p->pOrderBy, -1)==0 ){ + sqlite3ExprListDelete(db, p->pOrderBy); + p->pOrderBy = 0; + } + } + + /* 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++; + + selectWindowRewriteEList(pParse, pMWin, pSrc, p->pEList, &pSublist); + selectWindowRewriteEList(pParse, pMWin, pSrc, p->pOrderBy, &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); + + /* 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); + if( pWin->pFilter ){ + Expr *pFilter = sqlite3ExprDup(db, pWin->pFilter, 0); + pSublist = sqlite3ExprListAppend(pParse, pSublist, pFilter); + } + pWin->regAccum = ++pParse->nMem; + pWin->regResult = ++pParse->nMem; + sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum); + } + + /* If there is no ORDER BY or PARTITION BY clause, and the window + ** function accepts zero arguments, and there are no other columns + ** selected (e.g. "SELECT row_number() OVER () FROM t1"), it is possible + ** that pSublist is still NULL here. Add a constant expression here to + ** keep everything legal in this case. + */ + if( pSublist==0 ){ + pSublist = sqlite3ExprListAppend(pParse, 0, + sqlite3ExprAlloc(db, TK_INTEGER, &sqlite3IntTokens[0], 0) + ); + } + + pSub = sqlite3SelectNew( + pParse, pSublist, pSrc, pWhere, pGroupBy, pHaving, pSort, 0, 0 + ); + p->pSrc = sqlite3SrcListAppend(db, 0, 0, 0); + assert( p->pSrc || db->mallocFailed ); + if( p->pSrc ){ + p->pSrc->a[0].pSelect = pSub; + sqlite3SrcListAssignCursors(pParse, p->pSrc); + if( sqlite3ExpandSubquery(pParse, &p->pSrc->a[0]) ){ + rc = SQLITE_NOMEM; + }else{ + pSub->selFlags |= SF_Expanded; + p->selFlags &= ~SF_Aggregate; + sqlite3SelectPrep(pParse, pSub, 0); + } + + sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pMWin->iEphCsr, pSublist->nExpr); + }else{ + sqlite3SelectDelete(db, pSub); + } + if( db->mallocFailed ) rc = SQLITE_NOMEM; + } + + return rc; +} + +/* +** Free the Window object passed as the second argument. +*/ +SQLITE_PRIVATE void sqlite3WindowDelete(sqlite3 *db, Window *p){ + if( 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); + } +} + +/* +** Free the linked list of Window objects starting at the second argument. +*/ +SQLITE_PRIVATE void sqlite3WindowListDelete(sqlite3 *db, Window *p){ + while( p ){ + Window *pNext = p->pNextWin; + sqlite3WindowDelete(db, p); + p = pNext; + } +} + +/* +** The argument expression is an PRECEDING or FOLLOWING offset. The +** value should be a non-negative integer. If the value is not a +** constant, change it to NULL. The fact that it is then a non-negative +** integer will be caught later. But it is important not to leave +** variable values in the expression tree. +*/ +static Expr *sqlite3WindowOffsetExpr(Parse *pParse, Expr *pExpr){ + if( 0==sqlite3ExprIsConstant(pExpr) ){ + sqlite3ExprDelete(pParse->db, pExpr); + pExpr = sqlite3ExprAlloc(pParse->db, TK_NULL, 0, 0); + } + return pExpr; +} + +/* +** Allocate and return a new Window object describing a Window Definition. +*/ +SQLITE_PRIVATE Window *sqlite3WindowAlloc( + Parse *pParse, /* Parsing context */ + int eType, /* Frame type. TK_RANGE or TK_ROWS */ + 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 */ +){ + Window *pWin = 0; + + /* Parser assures the following: */ + assert( eType==TK_RANGE || eType==TK_ROWS ); + assert( eStart==TK_CURRENT || eStart==TK_PRECEDING + || eStart==TK_UNBOUNDED || eStart==TK_FOLLOWING ); + assert( eEnd==TK_CURRENT || eEnd==TK_FOLLOWING + || eEnd==TK_UNBOUNDED || eEnd==TK_PRECEDING ); + 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; + } + + /* Additionally, the + ** starting boundary type may not occur earlier in the following list than + ** the ending boundary type: + ** + ** UNBOUNDED PRECEDING + ** PRECEDING + ** CURRENT ROW + ** FOLLOWING + ** UNBOUNDED FOLLOWING + ** + ** The parser ensures that "UNBOUNDED PRECEDING" cannot be used as an ending + ** boundary, and than "UNBOUNDED FOLLOWING" cannot be used as a starting + ** frame boundary. + */ + if( (eStart==TK_CURRENT && eEnd==TK_PRECEDING) + || (eStart==TK_FOLLOWING && (eEnd==TK_PRECEDING || eEnd==TK_CURRENT)) + ){ + sqlite3ErrorMsg(pParse, "unsupported frame delimiter for ROWS"); + goto windowAllocErr; + } + + pWin = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); + if( pWin==0 ) goto windowAllocErr; + pWin->eType = eType; + pWin->eStart = eStart; + pWin->eEnd = eEnd; + pWin->pEnd = sqlite3WindowOffsetExpr(pParse, pEnd); + pWin->pStart = sqlite3WindowOffsetExpr(pParse, pStart); + return pWin; + +windowAllocErr: + sqlite3ExprDelete(pParse->db, pEnd); + sqlite3ExprDelete(pParse->db, pStart); + return 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"); + } + } + }else{ + sqlite3WindowDelete(pParse->db, 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; + if( p1->eStart!=p2->eStart ) return 1; + if( p1->eEnd!=p2->eEnd ) 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; + return 0; +} + + +/* +** This is called by code in select.c before it calls sqlite3WhereBegin() +** to begin iterating through the sub-query results. It is used to allocate +** and initialize registers and cursors used by sqlite3WindowCodeStep(). +*/ +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 ){ + pMWin->regPart = pParse->nMem+1; + pParse->nMem += nPart; + sqlite3VdbeAddOp3(v, OP_Null, 0, pMWin->regPart, pMWin->regPart+nPart-1); + } + + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + FuncDef *p = pWin->pFunc; + if( (p->funcFlags & SQLITE_FUNC_MINMAX) && pWin->eStart!=TK_UNBOUNDED ){ + /* The inline versions of min() and max() require a single ephemeral + ** table and 3 registers. The registers are used as follows: + ** + ** regApp+0: slot to copy min()/max() argument to for MakeRecord + ** regApp+1: integer value used to ensure keys are unique + ** regApp+2: output of MakeRecord + */ + ExprList *pList = pWin->pOwner->x.pList; + KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0); + pWin->csrApp = pParse->nTab++; + pWin->regApp = pParse->nMem+1; + pParse->nMem += 3; + if( pKeyInfo && pWin->pFunc->zName[1]=='i' ){ + assert( pKeyInfo->aSortOrder[0]==0 ); + pKeyInfo->aSortOrder[0] = 1; + } + sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pWin->csrApp, 2); + sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO); + sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp+1); + } + 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); + } + } +} + +/* +** A "PRECEDING " (eCond==0) or "FOLLOWING " (eCond==1) or the +** value of the second argument to nth_value() (eCond==2) has just been +** evaluated and the result left in register reg. This function generates VM +** 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 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" + }; + static int aOp[] = { OP_Ge, OP_Ge, OP_Gt }; + Vdbe *v = sqlite3GetVdbe(pParse); + int regZero = sqlite3GetTempReg(pParse); + assert( eCond==0 || eCond==1 || eCond==2 ); + sqlite3VdbeAddOp2(v, OP_Integer, 0, regZero); + sqlite3VdbeAddOp2(v, OP_MustBeInt, reg, sqlite3VdbeCurrentAddr(v)+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==2); + sqlite3VdbeAddOp2(v, OP_Halt, SQLITE_ERROR, OE_Abort); + sqlite3VdbeAppendP4(v, (void*)azErr[eCond], P4_STATIC); + sqlite3ReleaseTempReg(pParse, regZero); +} + +/* +** Return the number of arguments passed to the window-function associated +** with the object passed as the only argument to this function. +*/ +static int windowArgCount(Window *pWin){ + ExprList *pList = pWin->pOwner->x.pList; + return (pList ? pList->nExpr : 0); +} + +/* +** Generate VM code to invoke either xStep() (if bInverse is 0) or +** xInverse (if bInverse is non-zero) for each window function in the +** linked list starting at pMWin. Or, for built-in window functions +** that do not use the standard function API, generate the required +** inline VM code. +** +** If argument csr is greater than or equal to 0, then argument reg is +** the first register in an array of registers guaranteed to be large +** enough to hold the array of arguments for each function. In this case +** the arguments are extracted from the current row of csr into the +** array of registers before invoking OP_AggStep or OP_AggInverse +** +** Or, if csr is less than zero, then the array of registers at reg is +** already populated with all columns from the current row of the sub-query. +** +** If argument regPartSize is non-zero, then it is a register containing the +** number of rows in the current partition. +*/ +static void windowAggStep( + Parse *pParse, + 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 */ +){ + Vdbe *v = sqlite3GetVdbe(pParse); + Window *pWin; + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + int flags = pWin->pFunc->funcFlags; + int regArg; + int nArg = windowArgCount(pWin); + + if( csr>=0 ){ + int i; + for(i=0; iiArgCol+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; + } + + if( (pWin->pFunc->funcFlags & SQLITE_FUNC_MINMAX) + && pWin->eStart!=TK_UNBOUNDED + ){ + int addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, regArg); + VdbeCoverage(v); + if( bInverse==0 ){ + sqlite3VdbeAddOp2(v, OP_AddImm, pWin->regApp+1, 1); + sqlite3VdbeAddOp2(v, OP_SCopy, regArg, pWin->regApp); + sqlite3VdbeAddOp3(v, OP_MakeRecord, pWin->regApp, 2, pWin->regApp+2); + sqlite3VdbeAddOp2(v, OP_IdxInsert, pWin->csrApp, pWin->regApp+2); + }else{ + sqlite3VdbeAddOp4Int(v, OP_SeekGE, pWin->csrApp, 0, regArg, 1); + VdbeCoverageNeverTaken(v); + sqlite3VdbeAddOp1(v, OP_Delete, pWin->csrApp); + sqlite3VdbeJumpHere(v, sqlite3VdbeCurrentAddr(v)-2); + } + sqlite3VdbeJumpHere(v, addrIsNull); + }else if( pWin->regApp ){ + assert( pWin->pFunc->zName==nth_valueName + || pWin->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{ + 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; + } + addrIf = sqlite3VdbeAddOp3(v, OP_IfNot, regTmp, 0, 1); + VdbeCoverage(v); + if( csr>0 ){ + sqlite3ReleaseTempReg(pParse, regTmp); + } + } + if( pWin->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ + CollSeq *pColl; + assert( nArg>0 ); + pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr); + sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ); + } + sqlite3VdbeAddOp3(v, bInverse? OP_AggInverse : OP_AggStep, + bInverse, regArg, pWin->regAccum); + sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF); + sqlite3VdbeChangeP5(v, (u8)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 +** 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){ + Vdbe *v = sqlite3GetVdbe(pParse); + Window *pWin; + + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + if( (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 ){ + }else{ + if( bFinal ){ + sqlite3VdbeAddOp2(v, OP_AggFinal, pWin->regAccum, windowArgCount(pWin)); + 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); + sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF); + } + } + } +} + +/* +** 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. +*/ +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; + + int reg = pParse->nMem+1; + int regRecord = reg+nSub; + int regRowid = regRecord+1; + + *pRegSize = regRowid; + pParse->nMem += nSub + 2; + + /* Load the column values for the row returned by the sub-select + ** into an array of registers starting at reg. */ + for(k=0; kpPartition ){ + int addr; + ExprList *pPart = pMWin->pPartition; + int nPart = pPart->nExpr; + 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); + 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")); + } + + /* Buffer the current row in the ephemeral table. */ + sqlite3VdbeAddOp2(v, OP_NewRowid, pMWin->iEphCsr, regRowid); + sqlite3VdbeAddOp3(v, OP_Insert, pMWin->iEphCsr, regRecord, regRowid); + + /* End of the input loop */ + sqlite3WhereEnd(pWInfo); + + /* Invoke "flush_partition" to deal with the final (or only) partition */ + sqlite3VdbeAddOp2(v, OP_Gosub, regFlushPart, lblFlushPart); + VdbeComment((v, "call flush_partition")); +} + +/* +** Invoke the sub-routine at regGosub (generated by code in select.c) to +** return the current row of Window.iEphCsr. If all window functions are +** aggregate window functions that use the standard API, a single +** OP_Gosub instruction is all that this routine generates. Extra VM code +** for per-row processing is only generated for the following built-in window +** functions: +** +** nth_value() +** first_value() +** 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); + + 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 ){ + 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); + } + } + 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 */ +} + +/* +** Generate code to set the accumulator register for each window function +** in the linked list passed as the second argument to NULL. And perform +** any equivalent initialization required by any built-in window functions +** in the list. +*/ +static int windowInitAccum(Parse *pParse, Window *pMWin){ + Vdbe *v = sqlite3GetVdbe(pParse); + int regArg; + int nArg = 0; + Window *pWin; + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + 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( (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; + pParse->nMem += nArg; + return regArg; +} + + +/* +** 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) +** } +** +*/ +static void windowCodeRowExprStep( + Parse *pParse, + Select *p, + WhereInfo *pWInfo, + int regGosub, + int addrGosub +){ + 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); + }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); + } + 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 +** +** flush_partition: +** Once { +** OpenDup (iEphCsr -> csrLead) +** } +** Integer ctr 0 +** foreach row (csrLead){ +** if( new peer ){ +** AggFinal (xValue) +** 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; + 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; + + 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)+2); + VdbeCoverage(v); + sqlite3VdbeAddOp2(v, OP_OpenDup, csrLead, pMWin->iEphCsr); + + /* Initialize the accumulator register for each window function to NULL */ + regArg = windowInitAccum(pParse, pMWin); + + sqlite3VdbeAddOp2(v, OP_Integer, 0, regCtr); + sqlite3VdbeAddOp2(v, OP_Rewind, csrLead, lblEmpty); + 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; kiEphCsr); + sqlite3VdbeAddOp1(v, OP_Return, regFlushPart); + + /* Jump to here to skip over flush_partition */ + sqlite3VdbeJumpHere(v, addrGoto); +} + + +/* +** 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". +*/ +static void windowCodeDefaultStep( + Parse *pParse, + Select *p, + WhereInfo *pWInfo, + int regGosub, + int addrGosub +){ + 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; + + assert( pMWin->eType==TK_RANGE + || (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_CURRENT) + ); + + 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) + ); + + if( pMWin->eEnd==TK_UNBOUNDED ){ + pOrderBy = 0; + } + + pParse->nMem += nSub + 2; + + /* Load the individual column values of the row returned by + ** the sub-select into an array of registers. */ + for(k=0; knExpr : 0); + int addrGoto = 0; + int addrJump = 0; + int nPeer = (pOrderBy ? pOrderBy->nExpr : 0); + + 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); + } + } + + if( pOrderBy ){ + int regNewPeer = reg + pMWin->nBufferCol + nPart; + int regPeer = pMWin->regPart + nPart; + + 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); + }else{ + addrJump = 0; + } + 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); + } + + /* Invoke step function for window functions */ + windowAggStep(pParse, pMWin, -1, 0, reg, 0); + + /* Buffer the current row in the ephemeral table. */ + if( pMWin->nBufferCol>0 ){ + sqlite3VdbeAddOp3(v, OP_MakeRecord, reg, pMWin->nBufferCol, regRecord); + }else{ + sqlite3VdbeAddOp2(v, OP_Blob, 0, regRecord); + sqlite3VdbeAppendP4(v, (void*)"", 0); + } + sqlite3VdbeAddOp2(v, OP_NewRowid, pMWin->iEphCsr, regRowid); + sqlite3VdbeAddOp3(v, OP_Insert, pMWin->iEphCsr, regRecord, regRowid); + + /* End the database scan loop. */ + sqlite3WhereEnd(pWInfo); + + 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); +} + +/* +** Allocate and return a duplicate of the Window object indicated by the +** third argument. Set the Window.pOwner field of the new object to +** pOwner. +*/ +SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p){ + Window *pNew = 0; + if( ALWAYS(p) ){ + pNew = sqlite3DbMallocZero(db, sizeof(Window)); + if( pNew ){ + pNew->zName = sqlite3DbStrDup(db, p->zName); + pNew->pFilter = sqlite3ExprDup(db, p->pFilter, 0); + pNew->pPartition = sqlite3ExprListDup(db, p->pPartition, 0); + pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, 0); + pNew->eType = p->eType; + pNew->eEnd = p->eEnd; + pNew->eStart = p->eStart; + pNew->pStart = sqlite3ExprDup(db, p->pStart, 0); + pNew->pEnd = sqlite3ExprDup(db, p->pEnd, 0); + pNew->pOwner = pOwner; + } + } + return pNew; +} + +/* +** Return a copy of the linked list of Window objects passed as the +** second argument. +*/ +SQLITE_PRIVATE Window *sqlite3WindowListDup(sqlite3 *db, Window *p){ + Window *pWin; + Window *pRet = 0; + Window **pp = &pRet; + + for(pWin=p; pWin; pWin=pWin->pNextWin){ + *pp = sqlite3WindowDup(db, 0, pWin); + if( *pp==0 ) break; + pp = &((*pp)->pNextWin); + } + + return pRet; +} + +/* +** 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. +*/ +SQLITE_PRIVATE void sqlite3WindowCodeStep( + Parse *pParse, /* Parse context */ + Select *p, /* Rewritten SELECT statement */ + WhereInfo *pWInfo, /* Context returned by sqlite3WhereBegin() */ + int regGosub, /* Register for OP_Gosub */ + int addrGosub /* OP_Gosub here to return each row */ +){ + Window *pMWin = p->pWin; + + /* 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; + } + } + } + + /* 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); + } + } +} + +#endif /* SQLITE_OMIT_WINDOWFUNC */ + +/************** End of window.c **********************************************/ /************** Begin file parse.c *******************************************/ /* ** 2000-05-29 @@ -138134,6 +146829,7 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ ** input grammar file: */ /* #include */ +/* #include */ /************ Begin %include sections from the grammar ************************/ /* #include "sqliteInt.h" */ @@ -138185,6 +146881,8 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ */ struct TrigEvent { int a; IdList * b; }; +struct FrameBound { int eType; Expr *pExpr; }; + /* ** Disable lookaside memory allocation for objects that might be ** shared across database connections. @@ -138225,10 +146923,18 @@ static void disableLookaside(Parse *pParse){ static Expr *tokenExpr(Parse *pParse, int op, Token t){ Expr *p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)+t.n+1); if( p ){ - memset(p, 0, sizeof(Expr)); + /* memset(p, 0, sizeof(Expr)); */ p->op = (u8)op; + p->affinity = 0; p->flags = EP_Leaf; p->iAgg = -1; + p->pLeft = p->pRight = 0; + p->x.pList = 0; + p->pAggInfo = 0; + p->y.pTab = 0; + p->op2 = 0; + p->iTable = 0; + p->iColumn = 0; p->u.zToken = (char*)&p[1]; memcpy(p->u.zToken, t.z, t.n); p->u.zToken[t.n] = 0; @@ -138239,15 +146945,19 @@ static void disableLookaside(Parse *pParse){ #if SQLITE_MAX_EXPR_DEPTH>0 p->nHeight = 1; #endif + if( IN_RENAME_OBJECT ){ + return (Expr*)sqlite3RenameTokenMap(pParse, (void*)p, &t); + } } return p; } + /* A routine to convert a binary TK_IS or TK_ISNOT expression into a ** unary TK_ISNULL or TK_NOTNULL expression. */ static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){ sqlite3 *db = pParse->db; - if( pA && pY && pY->op==TK_NULL ){ + if( pA && pY && pY->op==TK_NULL && !IN_RENAME_OBJECT ){ pA->op = (u8)op; sqlite3ExprDelete(db, pA->pRight); pA->pRight = 0; @@ -138316,8 +147026,10 @@ static void disableLookaside(Parse *pParse){ ** zero the stack is dynamically sized using realloc() ** sqlite3ParserARG_SDECL A static variable declaration for the %extra_argument ** sqlite3ParserARG_PDECL A parameter declaration for the %extra_argument +** sqlite3ParserARG_PARAM Code to pass %extra_argument as a subroutine parameter ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser +** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context ** YYERRORSYMBOL is the code number of the error symbol. If not ** defined, then do no error processing. ** YYNSTATE the combined number of states. @@ -138336,46 +147048,56 @@ static void disableLookaside(Parse *pParse){ # define INTERFACE 1 #endif /************* Begin control #defines *****************************************/ -#define YYCODETYPE unsigned char -#define YYNOCODE 253 +#define YYCODETYPE unsigned short int +#define YYNOCODE 277 #define YYACTIONTYPE unsigned short int -#define YYWILDCARD 83 +#define YYWILDCARD 91 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - int yy4; - struct TrigEvent yy90; - TriggerStep* yy203; - struct {int value; int mask;} yy215; - SrcList* yy259; - Expr* yy314; - ExprList* yy322; - const char* yy336; - IdList* yy384; - Select* yy387; - With* yy451; + 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; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 #endif -#define sqlite3ParserARG_SDECL Parse *pParse; -#define sqlite3ParserARG_PDECL ,Parse *pParse -#define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse -#define sqlite3ParserARG_STORE yypParser->pParse = pParse +#define sqlite3ParserARG_SDECL +#define sqlite3ParserARG_PDECL +#define sqlite3ParserARG_PARAM +#define sqlite3ParserARG_FETCH +#define sqlite3ParserARG_STORE +#define sqlite3ParserCTX_SDECL Parse *pParse; +#define sqlite3ParserCTX_PDECL ,Parse *pParse +#define sqlite3ParserCTX_PARAM ,pParse +#define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; +#define sqlite3ParserCTX_STORE yypParser->pParse=pParse; #define YYFALLBACK 1 -#define YYNSTATE 466 -#define YYNRULE 330 -#define YYNTOKEN 143 -#define YY_MAX_SHIFT 465 -#define YY_MIN_SHIFTREDUCE 675 -#define YY_MAX_SHIFTREDUCE 1004 -#define YY_ERROR_ACTION 1005 -#define YY_ACCEPT_ACTION 1006 -#define YY_NO_ACTION 1007 -#define YY_MIN_REDUCE 1008 -#define YY_MAX_REDUCE 1337 +#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 /************* End control #defines *******************************************/ +#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) /* Define the yytestcase() macro to be a no-op if is not already defined ** otherwise. @@ -138440,474 +147162,568 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1541) +#define YY_ACTTAB_COUNT (2009) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 1006, 156, 156, 2, 1302, 90, 87, 179, 90, 87, - /* 10 */ 179, 460, 1048, 460, 465, 1010, 460, 333, 1130, 335, - /* 20 */ 246, 330, 112, 303, 439, 1258, 304, 419, 1129, 1087, - /* 30 */ 72, 798, 50, 50, 50, 50, 331, 30, 30, 799, - /* 40 */ 951, 364, 371, 97, 98, 88, 983, 983, 859, 862, - /* 50 */ 851, 851, 95, 95, 96, 96, 96, 96, 120, 371, - /* 60 */ 370, 120, 348, 22, 90, 87, 179, 438, 423, 438, - /* 70 */ 440, 335, 420, 385, 90, 87, 179, 116, 73, 163, - /* 80 */ 848, 848, 860, 863, 94, 94, 94, 94, 93, 93, - /* 90 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, - /* 100 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, - /* 110 */ 718, 365, 339, 93, 93, 92, 92, 92, 91, 361, - /* 120 */ 99, 371, 453, 335, 94, 94, 94, 94, 93, 93, - /* 130 */ 92, 92, 92, 91, 361, 852, 94, 94, 94, 94, - /* 140 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, - /* 150 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, - /* 160 */ 96, 96, 92, 92, 92, 91, 361, 838, 132, 195, - /* 170 */ 58, 244, 412, 409, 408, 335, 457, 457, 457, 304, - /* 180 */ 59, 332, 831, 407, 394, 962, 830, 391, 94, 94, - /* 190 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, - /* 200 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, - /* 210 */ 96, 96, 96, 96, 426, 357, 460, 830, 830, 832, - /* 220 */ 91, 361, 962, 963, 964, 195, 459, 335, 412, 409, - /* 230 */ 408, 280, 361, 820, 132, 11, 11, 50, 50, 407, - /* 240 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, - /* 250 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, - /* 260 */ 95, 95, 96, 96, 96, 96, 460, 221, 460, 264, - /* 270 */ 375, 254, 438, 428, 1276, 1276, 383, 1074, 1053, 335, - /* 280 */ 245, 422, 299, 713, 271, 271, 1074, 50, 50, 50, - /* 290 */ 50, 962, 94, 94, 94, 94, 93, 93, 92, 92, - /* 300 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, - /* 310 */ 851, 851, 95, 95, 96, 96, 96, 96, 90, 87, - /* 320 */ 179, 1306, 438, 437, 438, 418, 368, 253, 962, 963, - /* 330 */ 964, 335, 360, 360, 360, 706, 359, 358, 324, 962, - /* 340 */ 1281, 951, 364, 230, 94, 94, 94, 94, 93, 93, - /* 350 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, - /* 360 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, - /* 370 */ 769, 460, 120, 226, 226, 366, 962, 963, 964, 1089, - /* 380 */ 990, 900, 990, 335, 1057, 425, 421, 839, 759, 759, - /* 390 */ 425, 427, 50, 50, 432, 381, 94, 94, 94, 94, - /* 400 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, - /* 410 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, - /* 420 */ 96, 96, 460, 259, 460, 120, 117, 354, 942, 1332, - /* 430 */ 942, 1333, 1332, 278, 1333, 335, 680, 681, 682, 825, - /* 440 */ 201, 176, 303, 50, 50, 49, 49, 404, 94, 94, - /* 450 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, - /* 460 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, - /* 470 */ 96, 96, 96, 96, 199, 460, 380, 265, 433, 380, - /* 480 */ 265, 383, 256, 158, 258, 319, 1003, 335, 155, 940, - /* 490 */ 177, 940, 273, 379, 276, 322, 34, 34, 302, 962, - /* 500 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, - /* 510 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, - /* 520 */ 95, 95, 96, 96, 96, 96, 905, 905, 397, 460, - /* 530 */ 301, 158, 101, 319, 941, 340, 962, 963, 964, 313, - /* 540 */ 283, 449, 335, 327, 146, 1266, 1004, 257, 234, 248, - /* 550 */ 35, 35, 94, 94, 94, 94, 93, 93, 92, 92, - /* 560 */ 92, 91, 361, 709, 785, 1227, 97, 98, 88, 983, - /* 570 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, - /* 580 */ 96, 962, 1227, 1229, 245, 422, 838, 198, 197, 196, - /* 590 */ 1079, 1079, 1077, 1077, 1004, 1334, 320, 335, 172, 171, - /* 600 */ 709, 831, 159, 271, 271, 830, 76, 94, 94, 94, - /* 610 */ 94, 93, 93, 92, 92, 92, 91, 361, 962, 963, - /* 620 */ 964, 97, 98, 88, 983, 983, 859, 862, 851, 851, - /* 630 */ 95, 95, 96, 96, 96, 96, 830, 830, 832, 1157, - /* 640 */ 1157, 199, 1157, 173, 1227, 231, 232, 1282, 2, 335, - /* 650 */ 271, 764, 271, 820, 271, 271, 763, 389, 389, 389, - /* 660 */ 132, 79, 94, 94, 94, 94, 93, 93, 92, 92, - /* 670 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, - /* 680 */ 851, 851, 95, 95, 96, 96, 96, 96, 460, 264, - /* 690 */ 223, 460, 1257, 783, 1223, 1157, 1086, 1082, 80, 271, - /* 700 */ 78, 335, 340, 1031, 341, 344, 345, 902, 346, 10, - /* 710 */ 10, 902, 25, 25, 94, 94, 94, 94, 93, 93, - /* 720 */ 92, 92, 92, 91, 361, 97, 86, 88, 983, 983, - /* 730 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, - /* 740 */ 1157, 270, 395, 117, 233, 263, 235, 70, 456, 341, - /* 750 */ 225, 176, 335, 1305, 342, 133, 736, 966, 980, 249, - /* 760 */ 1150, 396, 325, 1085, 1028, 178, 94, 94, 94, 94, - /* 770 */ 93, 93, 92, 92, 92, 91, 361, 98, 88, 983, - /* 780 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, - /* 790 */ 96, 783, 783, 132, 120, 966, 120, 120, 120, 798, - /* 800 */ 252, 937, 335, 353, 321, 429, 355, 799, 822, 692, - /* 810 */ 390, 203, 446, 450, 372, 716, 454, 94, 94, 94, - /* 820 */ 94, 93, 93, 92, 92, 92, 91, 361, 88, 983, - /* 830 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, - /* 840 */ 96, 84, 455, 1225, 3, 1209, 120, 120, 382, 387, - /* 850 */ 120, 203, 1271, 716, 384, 168, 266, 203, 458, 72, - /* 860 */ 260, 1246, 84, 455, 178, 3, 378, 94, 94, 94, - /* 870 */ 94, 93, 93, 92, 92, 92, 91, 361, 350, 458, - /* 880 */ 1245, 362, 430, 213, 228, 290, 415, 285, 414, 200, - /* 890 */ 783, 882, 444, 726, 725, 405, 283, 921, 209, 921, - /* 900 */ 281, 132, 362, 72, 838, 289, 147, 733, 734, 392, - /* 910 */ 81, 82, 922, 444, 922, 267, 288, 83, 362, 462, - /* 920 */ 461, 272, 132, 830, 23, 838, 388, 923, 1216, 923, - /* 930 */ 1056, 81, 82, 84, 455, 899, 3, 899, 83, 362, - /* 940 */ 462, 461, 761, 962, 830, 75, 1, 443, 275, 747, - /* 950 */ 458, 5, 962, 204, 830, 830, 832, 833, 18, 748, - /* 960 */ 229, 962, 277, 19, 153, 317, 317, 316, 216, 314, - /* 970 */ 279, 460, 689, 362, 1055, 830, 830, 832, 833, 18, - /* 980 */ 962, 963, 964, 962, 444, 181, 460, 251, 981, 962, - /* 990 */ 963, 964, 8, 8, 20, 250, 838, 1070, 962, 963, - /* 1000 */ 964, 417, 81, 82, 768, 204, 347, 36, 36, 83, - /* 1010 */ 362, 462, 461, 1054, 284, 830, 84, 455, 1123, 3, - /* 1020 */ 962, 963, 964, 460, 183, 962, 981, 764, 889, 1107, - /* 1030 */ 460, 184, 763, 458, 132, 182, 74, 455, 460, 3, - /* 1040 */ 981, 898, 834, 898, 8, 8, 830, 830, 832, 833, - /* 1050 */ 18, 8, 8, 458, 219, 1156, 362, 1103, 349, 8, - /* 1060 */ 8, 240, 962, 963, 964, 236, 889, 444, 792, 336, - /* 1070 */ 158, 203, 885, 435, 700, 209, 362, 114, 981, 838, - /* 1080 */ 834, 227, 334, 1114, 441, 81, 82, 444, 442, 305, - /* 1090 */ 784, 306, 83, 362, 462, 461, 369, 1162, 830, 838, - /* 1100 */ 460, 1037, 237, 1030, 237, 81, 82, 7, 96, 96, - /* 1110 */ 96, 96, 83, 362, 462, 461, 1019, 1018, 830, 1020, - /* 1120 */ 1289, 37, 37, 400, 96, 96, 96, 96, 89, 830, - /* 1130 */ 830, 832, 833, 18, 1100, 318, 962, 292, 94, 94, - /* 1140 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 830, - /* 1150 */ 830, 832, 833, 18, 94, 94, 94, 94, 93, 93, - /* 1160 */ 92, 92, 92, 91, 361, 359, 358, 226, 226, 727, - /* 1170 */ 294, 296, 460, 962, 963, 964, 460, 989, 160, 425, - /* 1180 */ 170, 1295, 262, 460, 987, 374, 988, 386, 1145, 255, - /* 1190 */ 326, 460, 373, 38, 38, 410, 174, 39, 39, 413, - /* 1200 */ 460, 287, 460, 1053, 40, 40, 298, 728, 1220, 990, - /* 1210 */ 445, 990, 26, 26, 1219, 460, 311, 460, 169, 1292, - /* 1220 */ 460, 27, 27, 29, 29, 998, 460, 206, 135, 995, - /* 1230 */ 1265, 1263, 460, 57, 60, 460, 41, 41, 42, 42, - /* 1240 */ 460, 43, 43, 460, 343, 351, 460, 9, 9, 460, - /* 1250 */ 144, 460, 130, 44, 44, 460, 103, 103, 460, 137, - /* 1260 */ 70, 45, 45, 460, 46, 46, 460, 31, 31, 1142, - /* 1270 */ 47, 47, 48, 48, 460, 376, 32, 32, 460, 122, - /* 1280 */ 122, 460, 157, 460, 123, 123, 139, 124, 124, 460, - /* 1290 */ 186, 460, 377, 460, 115, 54, 54, 460, 403, 33, - /* 1300 */ 33, 460, 104, 104, 51, 51, 460, 161, 460, 140, - /* 1310 */ 105, 105, 106, 106, 102, 102, 460, 141, 121, 121, - /* 1320 */ 460, 142, 119, 119, 190, 460, 1152, 110, 110, 109, - /* 1330 */ 109, 702, 460, 148, 393, 65, 460, 107, 107, 460, - /* 1340 */ 323, 108, 108, 399, 460, 1234, 53, 53, 1214, 269, - /* 1350 */ 154, 416, 1115, 55, 55, 220, 401, 52, 52, 191, - /* 1360 */ 24, 24, 274, 192, 193, 28, 28, 1021, 328, 702, - /* 1370 */ 1073, 352, 1072, 718, 1071, 431, 1111, 1064, 329, 1045, - /* 1380 */ 69, 205, 6, 291, 1044, 286, 1112, 1043, 1304, 1110, - /* 1390 */ 293, 300, 295, 297, 1063, 1200, 1109, 77, 241, 448, - /* 1400 */ 356, 452, 436, 100, 214, 71, 434, 1027, 1093, 21, - /* 1410 */ 463, 242, 243, 957, 215, 217, 218, 464, 309, 307, - /* 1420 */ 308, 310, 1016, 125, 1250, 1251, 1011, 1249, 126, 127, - /* 1430 */ 1248, 113, 676, 337, 238, 338, 134, 363, 167, 1041, - /* 1440 */ 1040, 56, 247, 367, 180, 897, 111, 895, 136, 1038, - /* 1450 */ 818, 128, 138, 750, 261, 911, 185, 143, 145, 61, - /* 1460 */ 62, 63, 64, 129, 914, 187, 188, 910, 118, 12, - /* 1470 */ 189, 903, 268, 992, 203, 162, 398, 150, 149, 691, - /* 1480 */ 402, 288, 194, 406, 151, 411, 66, 13, 729, 239, - /* 1490 */ 282, 14, 67, 131, 837, 836, 865, 758, 15, 4, - /* 1500 */ 68, 762, 175, 222, 224, 424, 152, 869, 791, 202, - /* 1510 */ 786, 75, 72, 880, 866, 864, 16, 17, 920, 207, - /* 1520 */ 919, 208, 447, 946, 164, 211, 947, 210, 165, 451, - /* 1530 */ 868, 166, 315, 835, 701, 85, 212, 1297, 312, 952, - /* 1540 */ 1296, + /* 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, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 144, 145, 146, 147, 172, 222, 223, 224, 222, 223, - /* 10 */ 224, 152, 180, 152, 148, 149, 152, 173, 176, 19, - /* 20 */ 154, 173, 156, 152, 163, 242, 152, 163, 176, 163, - /* 30 */ 26, 31, 173, 174, 173, 174, 173, 173, 174, 39, - /* 40 */ 1, 2, 152, 43, 44, 45, 46, 47, 48, 49, - /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 197, 169, - /* 60 */ 170, 197, 188, 197, 222, 223, 224, 208, 209, 208, - /* 70 */ 209, 19, 208, 152, 222, 223, 224, 22, 26, 24, - /* 80 */ 46, 47, 48, 49, 84, 85, 86, 87, 88, 89, - /* 90 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, - /* 100 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - /* 110 */ 106, 245, 157, 88, 89, 90, 91, 92, 93, 94, - /* 120 */ 68, 231, 251, 19, 84, 85, 86, 87, 88, 89, - /* 130 */ 90, 91, 92, 93, 94, 101, 84, 85, 86, 87, - /* 140 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, - /* 150 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - /* 160 */ 56, 57, 90, 91, 92, 93, 94, 82, 79, 99, - /* 170 */ 66, 200, 102, 103, 104, 19, 168, 169, 170, 152, - /* 180 */ 24, 210, 97, 113, 229, 59, 101, 232, 84, 85, - /* 190 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, - /* 200 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 210 */ 54, 55, 56, 57, 152, 188, 152, 132, 133, 134, - /* 220 */ 93, 94, 96, 97, 98, 99, 152, 19, 102, 103, - /* 230 */ 104, 23, 94, 72, 79, 173, 174, 173, 174, 113, - /* 240 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 250 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, - /* 260 */ 52, 53, 54, 55, 56, 57, 152, 171, 152, 108, - /* 270 */ 109, 110, 208, 209, 119, 120, 152, 180, 181, 19, - /* 280 */ 119, 120, 152, 23, 152, 152, 189, 173, 174, 173, - /* 290 */ 174, 59, 84, 85, 86, 87, 88, 89, 90, 91, - /* 300 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, - /* 310 */ 50, 51, 52, 53, 54, 55, 56, 57, 222, 223, - /* 320 */ 224, 186, 208, 209, 208, 209, 194, 194, 96, 97, - /* 330 */ 98, 19, 168, 169, 170, 23, 88, 89, 163, 59, - /* 340 */ 0, 1, 2, 219, 84, 85, 86, 87, 88, 89, - /* 350 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, - /* 360 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - /* 370 */ 90, 152, 197, 195, 196, 243, 96, 97, 98, 196, - /* 380 */ 132, 11, 134, 19, 182, 207, 115, 23, 117, 118, - /* 390 */ 207, 163, 173, 174, 152, 220, 84, 85, 86, 87, - /* 400 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, - /* 410 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - /* 420 */ 56, 57, 152, 16, 152, 197, 171, 208, 22, 23, - /* 430 */ 22, 23, 26, 16, 26, 19, 7, 8, 9, 23, - /* 440 */ 212, 213, 152, 173, 174, 173, 174, 19, 84, 85, - /* 450 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, - /* 460 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 470 */ 54, 55, 56, 57, 46, 152, 109, 110, 208, 109, - /* 480 */ 110, 152, 75, 152, 77, 22, 23, 19, 233, 83, - /* 490 */ 152, 83, 75, 238, 77, 164, 173, 174, 226, 59, - /* 500 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 510 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, - /* 520 */ 52, 53, 54, 55, 56, 57, 108, 109, 110, 152, - /* 530 */ 152, 152, 22, 22, 23, 107, 96, 97, 98, 160, - /* 540 */ 112, 251, 19, 164, 22, 152, 83, 140, 219, 152, - /* 550 */ 173, 174, 84, 85, 86, 87, 88, 89, 90, 91, - /* 560 */ 92, 93, 94, 59, 124, 152, 43, 44, 45, 46, - /* 570 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 580 */ 57, 59, 169, 170, 119, 120, 82, 108, 109, 110, - /* 590 */ 191, 192, 191, 192, 83, 248, 249, 19, 88, 89, - /* 600 */ 96, 97, 24, 152, 152, 101, 138, 84, 85, 86, - /* 610 */ 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, - /* 620 */ 98, 43, 44, 45, 46, 47, 48, 49, 50, 51, - /* 630 */ 52, 53, 54, 55, 56, 57, 132, 133, 134, 152, - /* 640 */ 152, 46, 152, 26, 231, 194, 194, 146, 147, 19, - /* 650 */ 152, 116, 152, 72, 152, 152, 121, 152, 152, 152, - /* 660 */ 79, 138, 84, 85, 86, 87, 88, 89, 90, 91, - /* 670 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, - /* 680 */ 50, 51, 52, 53, 54, 55, 56, 57, 152, 108, - /* 690 */ 23, 152, 194, 26, 194, 152, 194, 194, 137, 152, - /* 700 */ 139, 19, 107, 166, 167, 218, 218, 29, 218, 173, - /* 710 */ 174, 33, 173, 174, 84, 85, 86, 87, 88, 89, - /* 720 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, - /* 730 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - /* 740 */ 152, 194, 64, 171, 239, 239, 239, 130, 166, 167, - /* 750 */ 212, 213, 19, 23, 246, 247, 26, 59, 26, 152, - /* 760 */ 163, 218, 163, 163, 163, 98, 84, 85, 86, 87, - /* 770 */ 88, 89, 90, 91, 92, 93, 94, 44, 45, 46, - /* 780 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 790 */ 57, 124, 26, 79, 197, 97, 197, 197, 197, 31, - /* 800 */ 152, 23, 19, 19, 26, 19, 218, 39, 23, 21, - /* 810 */ 238, 26, 163, 163, 100, 59, 163, 84, 85, 86, - /* 820 */ 87, 88, 89, 90, 91, 92, 93, 94, 45, 46, - /* 830 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 840 */ 57, 19, 20, 152, 22, 23, 197, 197, 23, 19, - /* 850 */ 197, 26, 152, 97, 23, 123, 23, 26, 36, 26, - /* 860 */ 152, 152, 19, 20, 98, 22, 78, 84, 85, 86, - /* 870 */ 87, 88, 89, 90, 91, 92, 93, 94, 94, 36, - /* 880 */ 152, 59, 96, 99, 100, 101, 102, 103, 104, 105, - /* 890 */ 124, 103, 70, 100, 101, 23, 112, 12, 26, 12, - /* 900 */ 23, 79, 59, 26, 82, 101, 22, 7, 8, 152, - /* 910 */ 88, 89, 27, 70, 27, 152, 112, 95, 96, 97, - /* 920 */ 98, 152, 79, 101, 22, 82, 96, 42, 140, 42, - /* 930 */ 182, 88, 89, 19, 20, 132, 22, 134, 95, 96, - /* 940 */ 97, 98, 23, 59, 101, 26, 22, 62, 152, 62, - /* 950 */ 36, 22, 59, 24, 132, 133, 134, 135, 136, 72, - /* 960 */ 5, 59, 152, 22, 71, 10, 11, 12, 13, 14, - /* 970 */ 152, 152, 17, 59, 182, 132, 133, 134, 135, 136, - /* 980 */ 96, 97, 98, 59, 70, 30, 152, 32, 59, 96, - /* 990 */ 97, 98, 173, 174, 53, 40, 82, 152, 96, 97, - /* 1000 */ 98, 90, 88, 89, 90, 24, 187, 173, 174, 95, - /* 1010 */ 96, 97, 98, 152, 152, 101, 19, 20, 152, 22, - /* 1020 */ 96, 97, 98, 152, 69, 59, 97, 116, 59, 214, - /* 1030 */ 152, 76, 121, 36, 79, 80, 19, 20, 152, 22, - /* 1040 */ 59, 132, 59, 134, 173, 174, 132, 133, 134, 135, - /* 1050 */ 136, 173, 174, 36, 234, 152, 59, 152, 187, 173, - /* 1060 */ 174, 211, 96, 97, 98, 187, 97, 70, 23, 114, - /* 1070 */ 152, 26, 23, 187, 23, 26, 59, 26, 97, 82, - /* 1080 */ 97, 22, 164, 152, 152, 88, 89, 70, 192, 152, - /* 1090 */ 124, 152, 95, 96, 97, 98, 141, 152, 101, 82, - /* 1100 */ 152, 152, 184, 152, 186, 88, 89, 199, 54, 55, - /* 1110 */ 56, 57, 95, 96, 97, 98, 152, 152, 101, 152, - /* 1120 */ 152, 173, 174, 235, 54, 55, 56, 57, 58, 132, - /* 1130 */ 133, 134, 135, 136, 211, 150, 59, 211, 84, 85, - /* 1140 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 132, - /* 1150 */ 133, 134, 135, 136, 84, 85, 86, 87, 88, 89, - /* 1160 */ 90, 91, 92, 93, 94, 88, 89, 195, 196, 35, - /* 1170 */ 211, 211, 152, 96, 97, 98, 152, 100, 198, 207, - /* 1180 */ 171, 122, 240, 152, 107, 215, 109, 240, 202, 215, - /* 1190 */ 202, 152, 220, 173, 174, 177, 185, 173, 174, 65, - /* 1200 */ 152, 176, 152, 181, 173, 174, 215, 73, 176, 132, - /* 1210 */ 228, 134, 173, 174, 176, 152, 201, 152, 199, 155, - /* 1220 */ 152, 173, 174, 173, 174, 60, 152, 122, 244, 38, - /* 1230 */ 159, 159, 152, 241, 241, 152, 173, 174, 173, 174, - /* 1240 */ 152, 173, 174, 152, 159, 111, 152, 173, 174, 152, - /* 1250 */ 22, 152, 43, 173, 174, 152, 173, 174, 152, 190, - /* 1260 */ 130, 173, 174, 152, 173, 174, 152, 173, 174, 202, - /* 1270 */ 173, 174, 173, 174, 152, 18, 173, 174, 152, 173, - /* 1280 */ 174, 152, 221, 152, 173, 174, 193, 173, 174, 152, - /* 1290 */ 158, 152, 159, 152, 22, 173, 174, 152, 18, 173, - /* 1300 */ 174, 152, 173, 174, 173, 174, 152, 221, 152, 193, - /* 1310 */ 173, 174, 173, 174, 173, 174, 152, 193, 173, 174, - /* 1320 */ 152, 193, 173, 174, 158, 152, 190, 173, 174, 173, - /* 1330 */ 174, 59, 152, 190, 159, 137, 152, 173, 174, 152, - /* 1340 */ 202, 173, 174, 61, 152, 237, 173, 174, 202, 236, - /* 1350 */ 22, 107, 159, 173, 174, 159, 178, 173, 174, 158, - /* 1360 */ 173, 174, 159, 158, 158, 173, 174, 159, 178, 97, - /* 1370 */ 175, 63, 175, 106, 175, 125, 217, 183, 178, 175, - /* 1380 */ 107, 159, 22, 216, 177, 175, 217, 175, 175, 217, - /* 1390 */ 216, 159, 216, 216, 183, 225, 217, 137, 227, 178, - /* 1400 */ 94, 178, 126, 129, 25, 128, 127, 162, 206, 26, - /* 1410 */ 161, 230, 230, 13, 153, 153, 6, 151, 203, 205, - /* 1420 */ 204, 202, 151, 165, 171, 171, 151, 171, 165, 165, - /* 1430 */ 171, 179, 4, 250, 179, 250, 247, 3, 22, 171, - /* 1440 */ 171, 171, 142, 81, 15, 23, 16, 23, 131, 171, - /* 1450 */ 120, 111, 123, 20, 16, 1, 125, 123, 131, 53, - /* 1460 */ 53, 53, 53, 111, 96, 34, 122, 1, 5, 22, - /* 1470 */ 107, 67, 140, 74, 26, 24, 41, 107, 67, 20, - /* 1480 */ 19, 112, 105, 66, 22, 66, 22, 22, 28, 66, - /* 1490 */ 23, 22, 22, 37, 23, 23, 23, 116, 22, 22, - /* 1500 */ 26, 23, 122, 23, 23, 26, 22, 11, 96, 34, - /* 1510 */ 124, 26, 26, 23, 23, 23, 34, 34, 23, 26, - /* 1520 */ 23, 22, 24, 23, 22, 122, 23, 26, 22, 24, - /* 1530 */ 23, 22, 15, 23, 23, 22, 122, 122, 23, 1, - /* 1540 */ 122, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1550 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1560 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1570 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1580 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1590 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1600 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1610 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1620 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1630 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1640 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1650 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1660 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1670 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - /* 1680 */ 252, 252, 252, 252, + /* 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, }; -#define YY_SHIFT_COUNT (465) +#define YY_SHIFT_COUNT (520) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (1538) +#define YY_SHIFT_MAX (1858) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 39, 822, 955, 843, 997, 997, 997, 997, 0, 0, - /* 10 */ 104, 630, 997, 997, 997, 997, 997, 997, 997, 1077, - /* 20 */ 1077, 126, 161, 155, 52, 156, 208, 260, 312, 364, - /* 30 */ 416, 468, 523, 578, 630, 630, 630, 630, 630, 630, - /* 40 */ 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, - /* 50 */ 630, 682, 630, 733, 783, 783, 914, 997, 997, 997, - /* 60 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - /* 70 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - /* 80 */ 997, 997, 997, 997, 997, 997, 997, 997, 1017, 997, - /* 90 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - /* 100 */ 997, 997, 1070, 1054, 1054, 1054, 1054, 1054, 40, 25, - /* 110 */ 72, 232, 788, 428, 248, 248, 232, 581, 367, 127, - /* 120 */ 465, 138, 1541, 1541, 1541, 784, 784, 784, 522, 522, - /* 130 */ 887, 887, 893, 406, 408, 232, 232, 232, 232, 232, - /* 140 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - /* 150 */ 232, 232, 232, 232, 232, 370, 340, 714, 698, 698, - /* 160 */ 465, 89, 89, 89, 89, 89, 89, 1541, 1541, 1541, - /* 170 */ 504, 85, 85, 884, 70, 280, 902, 440, 966, 924, - /* 180 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - /* 190 */ 232, 232, 232, 232, 232, 232, 1134, 1134, 1134, 232, - /* 200 */ 232, 667, 232, 232, 232, 929, 232, 232, 885, 232, - /* 210 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 418, - /* 220 */ 678, 981, 981, 981, 981, 766, 271, 911, 510, 429, - /* 230 */ 617, 786, 786, 830, 617, 830, 4, 730, 595, 768, - /* 240 */ 786, 561, 768, 768, 732, 535, 55, 1165, 1105, 1105, - /* 250 */ 1191, 1191, 1105, 1228, 1209, 1130, 1257, 1257, 1257, 1257, - /* 260 */ 1105, 1280, 1130, 1228, 1209, 1209, 1130, 1105, 1280, 1198, - /* 270 */ 1282, 1105, 1105, 1280, 1328, 1105, 1280, 1105, 1280, 1328, - /* 280 */ 1244, 1244, 1244, 1308, 1328, 1244, 1267, 1244, 1308, 1244, - /* 290 */ 1244, 1250, 1273, 1250, 1273, 1250, 1273, 1250, 1273, 1105, - /* 300 */ 1360, 1105, 1260, 1328, 1306, 1306, 1328, 1274, 1276, 1277, - /* 310 */ 1279, 1130, 1379, 1383, 1400, 1400, 1410, 1410, 1410, 1541, - /* 320 */ 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, - /* 330 */ 1541, 1541, 1541, 1541, 1541, 34, 407, 463, 511, 417, - /* 340 */ 479, 1272, 778, 941, 785, 825, 831, 833, 872, 877, - /* 350 */ 756, 793, 900, 804, 919, 1045, 969, 1049, 803, 909, - /* 360 */ 1051, 983, 1059, 1428, 1434, 1416, 1300, 1429, 1362, 1430, - /* 370 */ 1422, 1424, 1330, 1317, 1340, 1329, 1433, 1331, 1438, 1454, - /* 380 */ 1334, 1327, 1406, 1407, 1408, 1409, 1352, 1368, 1431, 1344, - /* 390 */ 1466, 1463, 1447, 1363, 1332, 1404, 1448, 1411, 1399, 1435, - /* 400 */ 1370, 1451, 1459, 1461, 1369, 1377, 1462, 1417, 1464, 1465, - /* 410 */ 1467, 1469, 1419, 1460, 1470, 1423, 1456, 1471, 1472, 1473, - /* 420 */ 1474, 1381, 1476, 1478, 1477, 1479, 1380, 1480, 1481, 1412, - /* 430 */ 1475, 1484, 1386, 1485, 1482, 1486, 1483, 1490, 1485, 1491, - /* 440 */ 1492, 1495, 1493, 1497, 1499, 1496, 1500, 1502, 1498, 1501, - /* 450 */ 1503, 1506, 1505, 1501, 1507, 1509, 1510, 1511, 1513, 1403, - /* 460 */ 1414, 1415, 1418, 1515, 1517, 1538, + /* 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, }; -#define YY_REDUCE_COUNT (334) -#define YY_REDUCE_MIN (-217) -#define YY_REDUCE_MAX (1278) +#define YY_REDUCE_COUNT (369) +#define YY_REDUCE_MIN (-237) +#define YY_REDUCE_MAX (1424) static const short yy_reduce_ofst[] = { - /* 0 */ -144, -139, -134, -136, -141, 64, 114, 116, -158, -148, - /* 10 */ -217, 96, 819, 871, 878, 219, 270, 886, 272, -110, - /* 20 */ 413, 918, 972, 228, -214, -214, -214, -214, -214, -214, - /* 30 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, - /* 40 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, - /* 50 */ -214, -214, -214, -214, -214, -214, 62, 323, 377, 536, - /* 60 */ 539, 834, 948, 1020, 1024, 1031, 1039, 1048, 1050, 1063, - /* 70 */ 1065, 1068, 1074, 1080, 1083, 1088, 1091, 1094, 1097, 1099, - /* 80 */ 1103, 1106, 1111, 1114, 1122, 1126, 1129, 1131, 1137, 1139, - /* 90 */ 1141, 1145, 1149, 1154, 1156, 1164, 1168, 1173, 1180, 1184, - /* 100 */ 1187, 1192, -214, -214, -214, -214, -214, -214, -214, -214, - /* 110 */ -214, 132, -45, 97, 8, 164, 379, 175, 255, -214, - /* 120 */ 178, -214, -214, -214, -214, -168, -168, -168, 124, 329, - /* 130 */ 399, 401, -129, 347, 347, 331, 133, 451, 452, 498, - /* 140 */ 500, 502, 503, 505, 487, 506, 488, 490, 507, 543, - /* 150 */ 547, -126, 588, 290, 27, 572, 501, 597, 537, 582, - /* 160 */ 183, 599, 600, 601, 649, 650, 653, 508, 538, -29, - /* 170 */ -156, -152, -137, -79, 135, 74, 130, 242, 338, 378, - /* 180 */ 393, 397, 607, 648, 691, 700, 708, 709, 728, 757, - /* 190 */ 763, 769, 796, 810, 818, 845, 202, 748, 792, 861, - /* 200 */ 862, 815, 866, 903, 905, 850, 931, 932, 896, 937, - /* 210 */ 939, 945, 74, 949, 951, 964, 965, 967, 968, 888, - /* 220 */ 820, 923, 926, 959, 960, 815, 980, 908, 1009, 985, - /* 230 */ 986, 970, 974, 942, 988, 947, 1018, 1011, 1022, 1025, - /* 240 */ 991, 982, 1032, 1038, 1015, 1019, 1064, 984, 1071, 1072, - /* 250 */ 992, 993, 1085, 1061, 1069, 1067, 1093, 1116, 1124, 1128, - /* 260 */ 1133, 1132, 1138, 1086, 1136, 1143, 1146, 1175, 1166, 1108, - /* 270 */ 1113, 1193, 1196, 1201, 1178, 1203, 1205, 1208, 1206, 1190, - /* 280 */ 1195, 1197, 1199, 1194, 1200, 1204, 1207, 1210, 1211, 1212, - /* 290 */ 1213, 1159, 1167, 1169, 1174, 1172, 1176, 1179, 1177, 1222, - /* 300 */ 1170, 1232, 1171, 1221, 1181, 1182, 1223, 1202, 1214, 1216, - /* 310 */ 1215, 1219, 1245, 1249, 1261, 1262, 1266, 1271, 1275, 1183, - /* 320 */ 1185, 1189, 1258, 1253, 1254, 1256, 1259, 1263, 1252, 1255, - /* 330 */ 1268, 1269, 1270, 1278, 1264, + /* 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, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1286, 1276, 1276, 1276, 1209, 1209, 1209, 1209, 1133, 1133, - /* 10 */ 1260, 1036, 1005, 1005, 1005, 1005, 1005, 1005, 1208, 1005, - /* 20 */ 1005, 1005, 1005, 1108, 1139, 1005, 1005, 1005, 1005, 1210, - /* 30 */ 1211, 1005, 1005, 1005, 1259, 1261, 1149, 1148, 1147, 1146, - /* 40 */ 1242, 1120, 1144, 1137, 1141, 1210, 1204, 1205, 1203, 1207, - /* 50 */ 1211, 1005, 1140, 1174, 1188, 1173, 1005, 1005, 1005, 1005, - /* 60 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 70 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 80 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 90 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 100 */ 1005, 1005, 1182, 1187, 1194, 1186, 1183, 1176, 1175, 1177, - /* 110 */ 1178, 1005, 1026, 1075, 1005, 1005, 1005, 1276, 1036, 1179, - /* 120 */ 1005, 1180, 1191, 1190, 1189, 1267, 1294, 1293, 1005, 1005, - /* 130 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 140 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 150 */ 1005, 1005, 1005, 1005, 1005, 1036, 1286, 1276, 1032, 1032, - /* 160 */ 1005, 1276, 1276, 1276, 1276, 1276, 1276, 1272, 1108, 1099, - /* 170 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 180 */ 1005, 1264, 1262, 1005, 1224, 1005, 1005, 1005, 1005, 1005, - /* 190 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 200 */ 1005, 1005, 1005, 1005, 1005, 1104, 1005, 1005, 1005, 1005, - /* 210 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1288, 1005, - /* 220 */ 1237, 1104, 1104, 1104, 1104, 1106, 1088, 1098, 1036, 1012, - /* 230 */ 1143, 1122, 1122, 1327, 1143, 1327, 1050, 1308, 1047, 1133, - /* 240 */ 1122, 1206, 1133, 1133, 1105, 1098, 1005, 1330, 1113, 1113, - /* 250 */ 1329, 1329, 1113, 1154, 1078, 1143, 1084, 1084, 1084, 1084, - /* 260 */ 1113, 1023, 1143, 1154, 1078, 1078, 1143, 1113, 1023, 1241, - /* 270 */ 1324, 1113, 1113, 1023, 1217, 1113, 1023, 1113, 1023, 1217, - /* 280 */ 1076, 1076, 1076, 1065, 1217, 1076, 1050, 1076, 1065, 1076, - /* 290 */ 1076, 1126, 1121, 1126, 1121, 1126, 1121, 1126, 1121, 1113, - /* 300 */ 1212, 1113, 1005, 1217, 1221, 1221, 1217, 1138, 1127, 1136, - /* 310 */ 1134, 1143, 1029, 1068, 1291, 1291, 1287, 1287, 1287, 1335, - /* 320 */ 1335, 1272, 1303, 1036, 1036, 1036, 1036, 1303, 1052, 1052, - /* 330 */ 1036, 1036, 1036, 1036, 1303, 1005, 1005, 1005, 1005, 1005, - /* 340 */ 1005, 1298, 1005, 1226, 1005, 1005, 1005, 1005, 1005, 1005, - /* 350 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 360 */ 1005, 1005, 1159, 1005, 1008, 1269, 1005, 1005, 1268, 1005, - /* 370 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 380 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1326, - /* 390 */ 1005, 1005, 1005, 1005, 1005, 1005, 1240, 1239, 1005, 1005, - /* 400 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 410 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - /* 420 */ 1005, 1090, 1005, 1005, 1005, 1312, 1005, 1005, 1005, 1005, - /* 430 */ 1005, 1005, 1005, 1135, 1005, 1128, 1005, 1005, 1317, 1005, - /* 440 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1278, - /* 450 */ 1005, 1005, 1005, 1277, 1005, 1005, 1005, 1005, 1005, 1161, - /* 460 */ 1005, 1160, 1164, 1005, 1017, 1005, + /* 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, }; /********** End of lemon-generated parsing tables *****************************/ @@ -138988,6 +147804,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* ESCAPE => nothing */ 0, /* ID => nothing */ 59, /* COLUMNKW => ID */ + 59, /* DO => ID */ 59, /* FOR => ID */ 59, /* IGNORE => ID */ 59, /* INITIALLY => ID */ @@ -139002,11 +147819,18 @@ static const YYCODETYPE yyFallback[] = { 59, /* REPLACE => ID */ 59, /* RESTRICT => ID */ 59, /* ROW => ID */ + 59, /* ROWS => ID */ 59, /* TRIGGER => ID */ 59, /* VACUUM => ID */ 59, /* VIEW => ID */ 59, /* VIRTUAL => ID */ 59, /* WITH => ID */ + 59, /* CURRENT => ID */ + 59, /* FOLLOWING => ID */ + 59, /* PARTITION => ID */ + 59, /* PRECEDING => ID */ + 59, /* RANGE => ID */ + 59, /* UNBOUNDED => ID */ 59, /* REINDEX => ID */ 59, /* RENAME => ID */ 59, /* CTIME_KW => ID */ @@ -139049,6 +147873,7 @@ struct yyParser { int yyerrcnt; /* Shifts left before out of the error */ #endif sqlite3ParserARG_SDECL /* A place to hold %extra_argument */ + sqlite3ParserCTX_SDECL /* A place to hold %extra_context */ #if YYSTACKDEPTH<=0 int yystksz; /* Current side of the stack */ yyStackEntry *yystack; /* The parser's stack */ @@ -139157,197 +147982,222 @@ static const char *const yyTokenName[] = { /* 58 */ "ESCAPE", /* 59 */ "ID", /* 60 */ "COLUMNKW", - /* 61 */ "FOR", - /* 62 */ "IGNORE", - /* 63 */ "INITIALLY", - /* 64 */ "INSTEAD", - /* 65 */ "NO", - /* 66 */ "KEY", - /* 67 */ "OF", - /* 68 */ "OFFSET", - /* 69 */ "PRAGMA", - /* 70 */ "RAISE", - /* 71 */ "RECURSIVE", - /* 72 */ "REPLACE", - /* 73 */ "RESTRICT", - /* 74 */ "ROW", - /* 75 */ "TRIGGER", - /* 76 */ "VACUUM", - /* 77 */ "VIEW", - /* 78 */ "VIRTUAL", - /* 79 */ "WITH", - /* 80 */ "REINDEX", - /* 81 */ "RENAME", - /* 82 */ "CTIME_KW", - /* 83 */ "ANY", - /* 84 */ "BITAND", - /* 85 */ "BITOR", - /* 86 */ "LSHIFT", - /* 87 */ "RSHIFT", - /* 88 */ "PLUS", - /* 89 */ "MINUS", - /* 90 */ "STAR", - /* 91 */ "SLASH", - /* 92 */ "REM", - /* 93 */ "CONCAT", - /* 94 */ "COLLATE", - /* 95 */ "BITNOT", - /* 96 */ "INDEXED", - /* 97 */ "STRING", - /* 98 */ "JOIN_KW", - /* 99 */ "CONSTRAINT", - /* 100 */ "DEFAULT", - /* 101 */ "NULL", - /* 102 */ "PRIMARY", - /* 103 */ "UNIQUE", - /* 104 */ "CHECK", - /* 105 */ "REFERENCES", - /* 106 */ "AUTOINCR", - /* 107 */ "ON", - /* 108 */ "INSERT", - /* 109 */ "DELETE", - /* 110 */ "UPDATE", - /* 111 */ "SET", - /* 112 */ "DEFERRABLE", - /* 113 */ "FOREIGN", - /* 114 */ "DROP", - /* 115 */ "UNION", - /* 116 */ "ALL", - /* 117 */ "EXCEPT", - /* 118 */ "INTERSECT", - /* 119 */ "SELECT", - /* 120 */ "VALUES", - /* 121 */ "DISTINCT", - /* 122 */ "DOT", - /* 123 */ "FROM", - /* 124 */ "JOIN", - /* 125 */ "USING", - /* 126 */ "ORDER", - /* 127 */ "GROUP", - /* 128 */ "HAVING", - /* 129 */ "LIMIT", - /* 130 */ "WHERE", - /* 131 */ "INTO", - /* 132 */ "FLOAT", - /* 133 */ "BLOB", - /* 134 */ "INTEGER", - /* 135 */ "VARIABLE", - /* 136 */ "CASE", - /* 137 */ "WHEN", - /* 138 */ "THEN", - /* 139 */ "ELSE", - /* 140 */ "INDEX", - /* 141 */ "ALTER", - /* 142 */ "ADD", - /* 143 */ "error", - /* 144 */ "input", - /* 145 */ "cmdlist", - /* 146 */ "ecmd", - /* 147 */ "explain", - /* 148 */ "cmdx", - /* 149 */ "cmd", - /* 150 */ "transtype", - /* 151 */ "trans_opt", - /* 152 */ "nm", - /* 153 */ "savepoint_opt", - /* 154 */ "create_table", - /* 155 */ "create_table_args", - /* 156 */ "createkw", - /* 157 */ "temp", - /* 158 */ "ifnotexists", - /* 159 */ "dbnm", - /* 160 */ "columnlist", - /* 161 */ "conslist_opt", - /* 162 */ "table_options", - /* 163 */ "select", - /* 164 */ "columnname", - /* 165 */ "carglist", - /* 166 */ "typetoken", - /* 167 */ "typename", - /* 168 */ "signed", - /* 169 */ "plus_num", - /* 170 */ "minus_num", - /* 171 */ "scanpt", - /* 172 */ "ccons", - /* 173 */ "term", - /* 174 */ "expr", - /* 175 */ "onconf", - /* 176 */ "sortorder", - /* 177 */ "autoinc", - /* 178 */ "eidlist_opt", - /* 179 */ "refargs", - /* 180 */ "defer_subclause", - /* 181 */ "refarg", - /* 182 */ "refact", - /* 183 */ "init_deferred_pred_opt", - /* 184 */ "conslist", - /* 185 */ "tconscomma", - /* 186 */ "tcons", - /* 187 */ "sortlist", - /* 188 */ "eidlist", - /* 189 */ "defer_subclause_opt", - /* 190 */ "orconf", - /* 191 */ "resolvetype", - /* 192 */ "raisetype", - /* 193 */ "ifexists", - /* 194 */ "fullname", - /* 195 */ "selectnowith", - /* 196 */ "oneselect", - /* 197 */ "with", - /* 198 */ "multiselect_op", - /* 199 */ "distinct", - /* 200 */ "selcollist", - /* 201 */ "from", - /* 202 */ "where_opt", - /* 203 */ "groupby_opt", - /* 204 */ "having_opt", - /* 205 */ "orderby_opt", - /* 206 */ "limit_opt", - /* 207 */ "values", - /* 208 */ "nexprlist", - /* 209 */ "exprlist", - /* 210 */ "sclp", - /* 211 */ "as", - /* 212 */ "seltablist", - /* 213 */ "stl_prefix", - /* 214 */ "joinop", - /* 215 */ "indexed_opt", - /* 216 */ "on_opt", - /* 217 */ "using_opt", - /* 218 */ "idlist", - /* 219 */ "setlist", - /* 220 */ "insert_cmd", - /* 221 */ "idlist_opt", - /* 222 */ "likeop", - /* 223 */ "between_op", - /* 224 */ "in_op", - /* 225 */ "paren_exprlist", - /* 226 */ "case_operand", - /* 227 */ "case_exprlist", - /* 228 */ "case_else", - /* 229 */ "uniqueflag", - /* 230 */ "collate", - /* 231 */ "nmnum", - /* 232 */ "trigger_decl", - /* 233 */ "trigger_cmd_list", - /* 234 */ "trigger_time", - /* 235 */ "trigger_event", - /* 236 */ "foreach_clause", - /* 237 */ "when_clause", - /* 238 */ "trigger_cmd", - /* 239 */ "trnm", - /* 240 */ "tridxby", - /* 241 */ "database_kw_opt", - /* 242 */ "key_opt", - /* 243 */ "add_column_fullname", - /* 244 */ "kwcolumn_opt", - /* 245 */ "create_vtab", - /* 246 */ "vtabarglist", - /* 247 */ "vtabarg", - /* 248 */ "vtabargtoken", - /* 249 */ "lp", - /* 250 */ "anylist", - /* 251 */ "wqlist", + /* 61 */ "DO", + /* 62 */ "FOR", + /* 63 */ "IGNORE", + /* 64 */ "INITIALLY", + /* 65 */ "INSTEAD", + /* 66 */ "NO", + /* 67 */ "KEY", + /* 68 */ "OF", + /* 69 */ "OFFSET", + /* 70 */ "PRAGMA", + /* 71 */ "RAISE", + /* 72 */ "RECURSIVE", + /* 73 */ "REPLACE", + /* 74 */ "RESTRICT", + /* 75 */ "ROW", + /* 76 */ "ROWS", + /* 77 */ "TRIGGER", + /* 78 */ "VACUUM", + /* 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", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -139435,256 +148285,293 @@ static const char *const yyRuleName[] = { /* 77 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", /* 78 */ "cmd ::= DROP VIEW ifexists fullname", /* 79 */ "cmd ::= select", - /* 80 */ "select ::= with selectnowith", - /* 81 */ "selectnowith ::= selectnowith multiselect_op oneselect", - /* 82 */ "multiselect_op ::= UNION", - /* 83 */ "multiselect_op ::= UNION ALL", - /* 84 */ "multiselect_op ::= EXCEPT|INTERSECT", - /* 85 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", - /* 86 */ "values ::= VALUES LP nexprlist RP", - /* 87 */ "values ::= values COMMA LP exprlist RP", - /* 88 */ "distinct ::= DISTINCT", - /* 89 */ "distinct ::= ALL", - /* 90 */ "distinct ::=", - /* 91 */ "sclp ::=", - /* 92 */ "selcollist ::= sclp scanpt expr scanpt as", - /* 93 */ "selcollist ::= sclp scanpt STAR", - /* 94 */ "selcollist ::= sclp scanpt nm DOT STAR", - /* 95 */ "as ::= AS nm", - /* 96 */ "as ::=", - /* 97 */ "from ::=", - /* 98 */ "from ::= FROM seltablist", - /* 99 */ "stl_prefix ::= seltablist joinop", - /* 100 */ "stl_prefix ::=", - /* 101 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", - /* 102 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", - /* 103 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", - /* 104 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", - /* 105 */ "dbnm ::=", - /* 106 */ "dbnm ::= DOT nm", - /* 107 */ "fullname ::= nm dbnm", - /* 108 */ "joinop ::= COMMA|JOIN", - /* 109 */ "joinop ::= JOIN_KW JOIN", - /* 110 */ "joinop ::= JOIN_KW nm JOIN", - /* 111 */ "joinop ::= JOIN_KW nm nm JOIN", - /* 112 */ "on_opt ::= ON expr", - /* 113 */ "on_opt ::=", - /* 114 */ "indexed_opt ::=", - /* 115 */ "indexed_opt ::= INDEXED BY nm", - /* 116 */ "indexed_opt ::= NOT INDEXED", - /* 117 */ "using_opt ::= USING LP idlist RP", - /* 118 */ "using_opt ::=", - /* 119 */ "orderby_opt ::=", - /* 120 */ "orderby_opt ::= ORDER BY sortlist", - /* 121 */ "sortlist ::= sortlist COMMA expr sortorder", - /* 122 */ "sortlist ::= expr sortorder", - /* 123 */ "sortorder ::= ASC", - /* 124 */ "sortorder ::= DESC", - /* 125 */ "sortorder ::=", - /* 126 */ "groupby_opt ::=", - /* 127 */ "groupby_opt ::= GROUP BY nexprlist", - /* 128 */ "having_opt ::=", - /* 129 */ "having_opt ::= HAVING expr", - /* 130 */ "limit_opt ::=", - /* 131 */ "limit_opt ::= LIMIT expr", - /* 132 */ "limit_opt ::= LIMIT expr OFFSET expr", - /* 133 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 134 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", - /* 135 */ "where_opt ::=", - /* 136 */ "where_opt ::= WHERE expr", - /* 137 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", - /* 138 */ "setlist ::= setlist COMMA nm EQ expr", - /* 139 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", - /* 140 */ "setlist ::= nm EQ expr", - /* 141 */ "setlist ::= LP idlist RP EQ expr", - /* 142 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", - /* 143 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", - /* 144 */ "insert_cmd ::= INSERT orconf", - /* 145 */ "insert_cmd ::= REPLACE", - /* 146 */ "idlist_opt ::=", - /* 147 */ "idlist_opt ::= LP idlist RP", - /* 148 */ "idlist ::= idlist COMMA nm", - /* 149 */ "idlist ::= nm", - /* 150 */ "expr ::= LP expr RP", - /* 151 */ "expr ::= ID|INDEXED", - /* 152 */ "expr ::= JOIN_KW", - /* 153 */ "expr ::= nm DOT nm", - /* 154 */ "expr ::= nm DOT nm DOT nm", - /* 155 */ "term ::= NULL|FLOAT|BLOB", - /* 156 */ "term ::= STRING", - /* 157 */ "term ::= INTEGER", - /* 158 */ "expr ::= VARIABLE", - /* 159 */ "expr ::= expr COLLATE ID|STRING", - /* 160 */ "expr ::= CAST LP expr AS typetoken RP", - /* 161 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 162 */ "expr ::= ID|INDEXED LP STAR RP", - /* 163 */ "term ::= CTIME_KW", - /* 164 */ "expr ::= LP nexprlist COMMA expr RP", - /* 165 */ "expr ::= expr AND expr", - /* 166 */ "expr ::= expr OR expr", - /* 167 */ "expr ::= expr LT|GT|GE|LE expr", - /* 168 */ "expr ::= expr EQ|NE expr", - /* 169 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 170 */ "expr ::= expr PLUS|MINUS expr", - /* 171 */ "expr ::= expr STAR|SLASH|REM expr", - /* 172 */ "expr ::= expr CONCAT expr", - /* 173 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 174 */ "expr ::= expr likeop expr", - /* 175 */ "expr ::= expr likeop expr ESCAPE expr", - /* 176 */ "expr ::= expr ISNULL|NOTNULL", - /* 177 */ "expr ::= expr NOT NULL", - /* 178 */ "expr ::= expr IS expr", - /* 179 */ "expr ::= expr IS NOT expr", - /* 180 */ "expr ::= NOT expr", - /* 181 */ "expr ::= BITNOT expr", - /* 182 */ "expr ::= MINUS expr", - /* 183 */ "expr ::= PLUS expr", - /* 184 */ "between_op ::= BETWEEN", - /* 185 */ "between_op ::= NOT BETWEEN", - /* 186 */ "expr ::= expr between_op expr AND expr", - /* 187 */ "in_op ::= IN", - /* 188 */ "in_op ::= NOT IN", - /* 189 */ "expr ::= expr in_op LP exprlist RP", - /* 190 */ "expr ::= LP select RP", - /* 191 */ "expr ::= expr in_op LP select RP", - /* 192 */ "expr ::= expr in_op nm dbnm paren_exprlist", - /* 193 */ "expr ::= EXISTS LP select RP", - /* 194 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 195 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 196 */ "case_exprlist ::= WHEN expr THEN expr", - /* 197 */ "case_else ::= ELSE expr", - /* 198 */ "case_else ::=", - /* 199 */ "case_operand ::= expr", - /* 200 */ "case_operand ::=", - /* 201 */ "exprlist ::=", - /* 202 */ "nexprlist ::= nexprlist COMMA expr", - /* 203 */ "nexprlist ::= expr", - /* 204 */ "paren_exprlist ::=", - /* 205 */ "paren_exprlist ::= LP exprlist RP", - /* 206 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", - /* 207 */ "uniqueflag ::= UNIQUE", - /* 208 */ "uniqueflag ::=", - /* 209 */ "eidlist_opt ::=", - /* 210 */ "eidlist_opt ::= LP eidlist RP", - /* 211 */ "eidlist ::= eidlist COMMA nm collate sortorder", - /* 212 */ "eidlist ::= nm collate sortorder", - /* 213 */ "collate ::=", - /* 214 */ "collate ::= COLLATE ID|STRING", - /* 215 */ "cmd ::= DROP INDEX ifexists fullname", - /* 216 */ "cmd ::= VACUUM", - /* 217 */ "cmd ::= VACUUM nm", - /* 218 */ "cmd ::= PRAGMA nm dbnm", - /* 219 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 220 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 221 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 222 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 223 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 224 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 225 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 226 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 227 */ "trigger_time ::= BEFORE|AFTER", - /* 228 */ "trigger_time ::= INSTEAD OF", - /* 229 */ "trigger_time ::=", - /* 230 */ "trigger_event ::= DELETE|INSERT", - /* 231 */ "trigger_event ::= UPDATE", - /* 232 */ "trigger_event ::= UPDATE OF idlist", - /* 233 */ "when_clause ::=", - /* 234 */ "when_clause ::= WHEN expr", - /* 235 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 236 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 237 */ "trnm ::= nm DOT nm", - /* 238 */ "tridxby ::= INDEXED BY nm", - /* 239 */ "tridxby ::= NOT INDEXED", - /* 240 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", - /* 241 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt", - /* 242 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", - /* 243 */ "trigger_cmd ::= scanpt select scanpt", - /* 244 */ "expr ::= RAISE LP IGNORE RP", - /* 245 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 246 */ "raisetype ::= ROLLBACK", - /* 247 */ "raisetype ::= ABORT", - /* 248 */ "raisetype ::= FAIL", - /* 249 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 250 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 251 */ "cmd ::= DETACH database_kw_opt expr", - /* 252 */ "key_opt ::=", - /* 253 */ "key_opt ::= KEY expr", - /* 254 */ "cmd ::= REINDEX", - /* 255 */ "cmd ::= REINDEX nm dbnm", - /* 256 */ "cmd ::= ANALYZE", - /* 257 */ "cmd ::= ANALYZE nm dbnm", - /* 258 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 259 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", - /* 260 */ "add_column_fullname ::= fullname", - /* 261 */ "cmd ::= create_vtab", - /* 262 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 263 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 264 */ "vtabarg ::=", - /* 265 */ "vtabargtoken ::= ANY", - /* 266 */ "vtabargtoken ::= lp anylist RP", - /* 267 */ "lp ::= LP", - /* 268 */ "with ::=", - /* 269 */ "with ::= WITH wqlist", - /* 270 */ "with ::= WITH RECURSIVE wqlist", - /* 271 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 272 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", - /* 273 */ "input ::= cmdlist", - /* 274 */ "cmdlist ::= cmdlist ecmd", - /* 275 */ "cmdlist ::= ecmd", - /* 276 */ "ecmd ::= SEMI", - /* 277 */ "ecmd ::= explain cmdx SEMI", - /* 278 */ "explain ::=", - /* 279 */ "trans_opt ::=", - /* 280 */ "trans_opt ::= TRANSACTION", - /* 281 */ "trans_opt ::= TRANSACTION nm", - /* 282 */ "savepoint_opt ::= SAVEPOINT", - /* 283 */ "savepoint_opt ::=", - /* 284 */ "cmd ::= create_table create_table_args", - /* 285 */ "columnlist ::= columnlist COMMA columnname carglist", - /* 286 */ "columnlist ::= columnname carglist", - /* 287 */ "nm ::= ID|INDEXED", - /* 288 */ "nm ::= STRING", - /* 289 */ "nm ::= JOIN_KW", - /* 290 */ "typetoken ::= typename", - /* 291 */ "typename ::= ID|STRING", - /* 292 */ "signed ::= plus_num", - /* 293 */ "signed ::= minus_num", - /* 294 */ "carglist ::= carglist ccons", - /* 295 */ "carglist ::=", - /* 296 */ "ccons ::= NULL onconf", - /* 297 */ "conslist_opt ::= COMMA conslist", - /* 298 */ "conslist ::= conslist tconscomma tcons", - /* 299 */ "conslist ::= tcons", - /* 300 */ "tconscomma ::=", - /* 301 */ "defer_subclause_opt ::= defer_subclause", - /* 302 */ "resolvetype ::= raisetype", - /* 303 */ "selectnowith ::= oneselect", - /* 304 */ "oneselect ::= values", - /* 305 */ "sclp ::= selcollist COMMA", - /* 306 */ "as ::= ID|STRING", - /* 307 */ "expr ::= term", - /* 308 */ "likeop ::= LIKE_KW|MATCH", - /* 309 */ "exprlist ::= nexprlist", - /* 310 */ "nmnum ::= plus_num", - /* 311 */ "nmnum ::= nm", - /* 312 */ "nmnum ::= ON", - /* 313 */ "nmnum ::= DELETE", - /* 314 */ "nmnum ::= DEFAULT", - /* 315 */ "plus_num ::= INTEGER|FLOAT", - /* 316 */ "foreach_clause ::=", - /* 317 */ "foreach_clause ::= FOR EACH ROW", - /* 318 */ "trnm ::= nm", - /* 319 */ "tridxby ::=", - /* 320 */ "database_kw_opt ::= DATABASE", - /* 321 */ "database_kw_opt ::=", - /* 322 */ "kwcolumn_opt ::=", - /* 323 */ "kwcolumn_opt ::= COLUMNKW", - /* 324 */ "vtabarglist ::= vtabarg", - /* 325 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 326 */ "vtabarg ::= vtabarg vtabargtoken", - /* 327 */ "anylist ::=", - /* 328 */ "anylist ::= anylist LP anylist RP", - /* 329 */ "anylist ::= anylist ANY", + /* 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 ::=", }; #endif /* NDEBUG */ @@ -139733,28 +148620,29 @@ static int yyGrowStack(yyParser *p){ /* Initialize a new parser that has already been allocated. */ -SQLITE_PRIVATE void sqlite3ParserInit(void *yypParser){ - yyParser *pParser = (yyParser*)yypParser; +SQLITE_PRIVATE void sqlite3ParserInit(void *yypRawParser sqlite3ParserCTX_PDECL){ + yyParser *yypParser = (yyParser*)yypRawParser; + sqlite3ParserCTX_STORE #ifdef YYTRACKMAXSTACKDEPTH - pParser->yyhwm = 0; + yypParser->yyhwm = 0; #endif #if YYSTACKDEPTH<=0 - pParser->yytos = NULL; - pParser->yystack = NULL; - pParser->yystksz = 0; - if( yyGrowStack(pParser) ){ - pParser->yystack = &pParser->yystk0; - pParser->yystksz = 1; + yypParser->yytos = NULL; + yypParser->yystack = NULL; + yypParser->yystksz = 0; + if( yyGrowStack(yypParser) ){ + yypParser->yystack = &yypParser->yystk0; + yypParser->yystksz = 1; } #endif #ifndef YYNOERRORRECOVERY - pParser->yyerrcnt = -1; + yypParser->yyerrcnt = -1; #endif - pParser->yytos = pParser->yystack; - pParser->yystack[0].stateno = 0; - pParser->yystack[0].major = 0; + yypParser->yytos = yypParser->yystack; + yypParser->yystack[0].stateno = 0; + yypParser->yystack[0].major = 0; #if YYSTACKDEPTH>0 - pParser->yystackEnd = &pParser->yystack[YYSTACKDEPTH-1]; + yypParser->yystackEnd = &yypParser->yystack[YYSTACKDEPTH-1]; #endif } @@ -139771,11 +148659,14 @@ SQLITE_PRIVATE void sqlite3ParserInit(void *yypParser){ ** A pointer to a parser. This pointer is used in subsequent calls ** to sqlite3Parser and sqlite3ParserFree. */ -SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(YYMALLOCARGTYPE)){ - yyParser *pParser; - pParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); - if( pParser ) sqlite3ParserInit(pParser); - return pParser; +SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(YYMALLOCARGTYPE) sqlite3ParserCTX_PDECL){ + yyParser *yypParser; + yypParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); + if( yypParser ){ + sqlite3ParserCTX_STORE + sqlite3ParserInit(yypParser sqlite3ParserCTX_PARAM); + } + return (void*)yypParser; } #endif /* sqlite3Parser_ENGINEALWAYSONSTACK */ @@ -139792,7 +148683,8 @@ static void yy_destructor( YYCODETYPE yymajor, /* Type code for object to destroy */ YYMINORTYPE *yypminor /* The object to be destroyed */ ){ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH + sqlite3ParserCTX_FETCH switch( yymajor ){ /* Here is inserted the actions which take place when a ** terminal or non-terminal is destroyed. This can happen @@ -139805,73 +148697,96 @@ static void yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 163: /* select */ - case 195: /* selectnowith */ - case 196: /* oneselect */ - case 207: /* values */ + case 174: /* select */ + case 206: /* selectnowith */ + case 207: /* oneselect */ + case 219: /* values */ +{ +sqlite3SelectDelete(pParse->db, (yypminor->yy489)); +} + 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 */ { -sqlite3SelectDelete(pParse->db, (yypminor->yy387)); +sqlite3ExprDelete(pParse->db, (yypminor->yy18)); } break; - case 173: /* term */ - case 174: /* expr */ - case 202: /* where_opt */ - case 204: /* having_opt */ - case 216: /* on_opt */ - case 226: /* case_operand */ - case 228: /* case_else */ - case 237: /* when_clause */ - case 242: /* key_opt */ + 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 */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy314)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy420)); } break; - case 178: /* eidlist_opt */ - case 187: /* sortlist */ - case 188: /* eidlist */ - case 200: /* selcollist */ - case 203: /* groupby_opt */ - case 205: /* orderby_opt */ - case 208: /* nexprlist */ - case 209: /* exprlist */ - case 210: /* sclp */ - case 219: /* setlist */ - case 225: /* paren_exprlist */ - case 227: /* case_exprlist */ + case 205: /* fullname */ + case 212: /* from */ + case 223: /* seltablist */ + case 224: /* stl_prefix */ + case 230: /* xfullname */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy135)); } break; - case 194: /* fullname */ - case 201: /* from */ - case 212: /* seltablist */ - case 213: /* stl_prefix */ + case 208: /* wqlist */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); +sqlite3WithDelete(pParse->db, (yypminor->yy449)); } break; - case 197: /* with */ - case 251: /* wqlist */ + case 218: /* window_clause */ + case 267: /* windowdefn_list */ { -sqlite3WithDelete(pParse->db, (yypminor->yy451)); +sqlite3WindowListDelete(pParse->db, (yypminor->yy327)); } break; - case 217: /* using_opt */ - case 218: /* idlist */ - case 221: /* idlist_opt */ + case 228: /* using_opt */ + case 231: /* idlist */ + case 235: /* idlist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy384)); +sqlite3IdListDelete(pParse->db, (yypminor->yy48)); } break; - case 233: /* trigger_cmd_list */ - case 238: /* trigger_cmd */ + case 237: /* over_clause */ + case 268: /* windowdefn */ + case 269: /* window */ + case 270: /* frame_opt */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); +sqlite3WindowDelete(pParse->db, (yypminor->yy327)); } break; - case 235: /* trigger_event */ + case 249: /* trigger_cmd_list */ + case 254: /* trigger_cmd */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy207)); +} + break; + case 251: /* trigger_event */ +{ +sqlite3IdListDelete(pParse->db, (yypminor->yy34).b); +} + break; + case 274: /* frame_bound */ + case 275: /* frame_bound_s */ + case 276: /* frame_bound_e */ +{ +sqlite3ExprDelete(pParse->db, (yypminor->yy119).pExpr); } break; /********* End destructor definitions *****************************************/ @@ -139983,13 +148898,12 @@ SQLITE_PRIVATE int sqlite3ParserCoverage(FILE *out){ ** Find the appropriate action for a parser given the terminal ** look-ahead token iLookAhead. */ -static unsigned int yy_find_shift_action( - yyParser *pParser, /* The parser */ - YYCODETYPE iLookAhead /* The look-ahead token */ +static YYACTIONTYPE yy_find_shift_action( + YYCODETYPE iLookAhead, /* The look-ahead token */ + YYACTIONTYPE stateno /* Current state number */ ){ int i; - int stateno = pParser->yytos->stateno; - + if( stateno>YY_MAX_SHIFT ) return stateno; assert( stateno <= YY_SHIFT_COUNT ); #if defined(YYCOVERAGE) @@ -139997,11 +148911,12 @@ static unsigned int yy_find_shift_action( #endif do{ i = yy_shift_ofst[stateno]; - assert( i>=0 && i+YYNTOKEN<=sizeof(yy_lookahead)/sizeof(yy_lookahead[0]) ); + assert( i>=0 ); + /* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */ assert( iLookAhead!=YYNOCODE ); assert( iLookAhead < YYNTOKEN ); i += iLookAhead; - if( yy_lookahead[i]!=iLookAhead ){ + if( i>=YY_NLOOKAHEAD || yy_lookahead[i]!=iLookAhead ){ #ifdef YYFALLBACK YYCODETYPE iFallback; /* Fallback token */ if( iLookAhead=YY_ACTTAB_COUNT j0 ){ #ifndef NDEBUG @@ -140051,8 +148967,8 @@ static unsigned int yy_find_shift_action( ** Find the appropriate action for a parser given the non-terminal ** look-ahead token iLookAhead. */ -static int yy_find_reduce_action( - int stateno, /* Current state number */ +static YYACTIONTYPE yy_find_reduce_action( + YYACTIONTYPE stateno, /* Current state number */ YYCODETYPE iLookAhead /* The look-ahead token */ ){ int i; @@ -140081,7 +148997,8 @@ static int yy_find_reduce_action( ** The following routine is called if the stack overflows. */ static void yyStackOverflow(yyParser *yypParser){ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH + sqlite3ParserCTX_FETCH #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); @@ -140094,7 +149011,8 @@ static void yyStackOverflow(yyParser *yypParser){ sqlite3ErrorMsg(pParse, "parser stack overflow"); /******** End %stack_overflow code ********************************************/ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */ + sqlite3ParserARG_STORE /* Suppress warning about unused %extra_argument var */ + sqlite3ParserCTX_STORE } /* @@ -140123,8 +149041,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){ */ static void yy_shift( yyParser *yypParser, /* The parser to be shifted */ - int yyNewState, /* The new state to shift in */ - int yyMajor, /* The major token to shift in */ + YYACTIONTYPE yyNewState, /* The new state to shift in */ + YYCODETYPE yyMajor, /* The major token to shift in */ sqlite3ParserTOKENTYPE yyMinor /* The minor token to shift in */ ){ yyStackEntry *yytos; @@ -140154,8 +149072,8 @@ static void yy_shift( yyNewState += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; } yytos = yypParser->yytos; - yytos->stateno = (YYACTIONTYPE)yyNewState; - yytos->major = (YYCODETYPE)yyMajor; + yytos->stateno = yyNewState; + yytos->major = yyMajor; yytos->minor.yy0 = yyMinor; yyTraceShift(yypParser, yyNewState, "Shift"); } @@ -140167,336 +149085,373 @@ static const struct { YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ signed char nrhs; /* Negative of the number of RHS symbols in the rule */ } yyRuleInfo[] = { - { 147, -1 }, /* (0) explain ::= EXPLAIN */ - { 147, -3 }, /* (1) explain ::= EXPLAIN QUERY PLAN */ - { 148, -1 }, /* (2) cmdx ::= cmd */ - { 149, -3 }, /* (3) cmd ::= BEGIN transtype trans_opt */ - { 150, 0 }, /* (4) transtype ::= */ - { 150, -1 }, /* (5) transtype ::= DEFERRED */ - { 150, -1 }, /* (6) transtype ::= IMMEDIATE */ - { 150, -1 }, /* (7) transtype ::= EXCLUSIVE */ - { 149, -2 }, /* (8) cmd ::= COMMIT|END trans_opt */ - { 149, -2 }, /* (9) cmd ::= ROLLBACK trans_opt */ - { 149, -2 }, /* (10) cmd ::= SAVEPOINT nm */ - { 149, -3 }, /* (11) cmd ::= RELEASE savepoint_opt nm */ - { 149, -5 }, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ - { 154, -6 }, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ - { 156, -1 }, /* (14) createkw ::= CREATE */ - { 158, 0 }, /* (15) ifnotexists ::= */ - { 158, -3 }, /* (16) ifnotexists ::= IF NOT EXISTS */ - { 157, -1 }, /* (17) temp ::= TEMP */ - { 157, 0 }, /* (18) temp ::= */ - { 155, -5 }, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ - { 155, -2 }, /* (20) create_table_args ::= AS select */ - { 162, 0 }, /* (21) table_options ::= */ - { 162, -2 }, /* (22) table_options ::= WITHOUT nm */ - { 164, -2 }, /* (23) columnname ::= nm typetoken */ - { 166, 0 }, /* (24) typetoken ::= */ - { 166, -4 }, /* (25) typetoken ::= typename LP signed RP */ - { 166, -6 }, /* (26) typetoken ::= typename LP signed COMMA signed RP */ - { 167, -2 }, /* (27) typename ::= typename ID|STRING */ - { 171, 0 }, /* (28) scanpt ::= */ - { 172, -2 }, /* (29) ccons ::= CONSTRAINT nm */ - { 172, -4 }, /* (30) ccons ::= DEFAULT scanpt term scanpt */ - { 172, -4 }, /* (31) ccons ::= DEFAULT LP expr RP */ - { 172, -4 }, /* (32) ccons ::= DEFAULT PLUS term scanpt */ - { 172, -4 }, /* (33) ccons ::= DEFAULT MINUS term scanpt */ - { 172, -3 }, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ - { 172, -3 }, /* (35) ccons ::= NOT NULL onconf */ - { 172, -5 }, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ - { 172, -2 }, /* (37) ccons ::= UNIQUE onconf */ - { 172, -4 }, /* (38) ccons ::= CHECK LP expr RP */ - { 172, -4 }, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ - { 172, -1 }, /* (40) ccons ::= defer_subclause */ - { 172, -2 }, /* (41) ccons ::= COLLATE ID|STRING */ - { 177, 0 }, /* (42) autoinc ::= */ - { 177, -1 }, /* (43) autoinc ::= AUTOINCR */ - { 179, 0 }, /* (44) refargs ::= */ - { 179, -2 }, /* (45) refargs ::= refargs refarg */ - { 181, -2 }, /* (46) refarg ::= MATCH nm */ - { 181, -3 }, /* (47) refarg ::= ON INSERT refact */ - { 181, -3 }, /* (48) refarg ::= ON DELETE refact */ - { 181, -3 }, /* (49) refarg ::= ON UPDATE refact */ - { 182, -2 }, /* (50) refact ::= SET NULL */ - { 182, -2 }, /* (51) refact ::= SET DEFAULT */ - { 182, -1 }, /* (52) refact ::= CASCADE */ - { 182, -1 }, /* (53) refact ::= RESTRICT */ - { 182, -2 }, /* (54) refact ::= NO ACTION */ - { 180, -3 }, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ - { 180, -2 }, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ - { 183, 0 }, /* (57) init_deferred_pred_opt ::= */ - { 183, -2 }, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ - { 183, -2 }, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ - { 161, 0 }, /* (60) conslist_opt ::= */ - { 185, -1 }, /* (61) tconscomma ::= COMMA */ - { 186, -2 }, /* (62) tcons ::= CONSTRAINT nm */ - { 186, -7 }, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ - { 186, -5 }, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ - { 186, -5 }, /* (65) tcons ::= CHECK LP expr RP onconf */ - { 186, -10 }, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ - { 189, 0 }, /* (67) defer_subclause_opt ::= */ - { 175, 0 }, /* (68) onconf ::= */ - { 175, -3 }, /* (69) onconf ::= ON CONFLICT resolvetype */ - { 190, 0 }, /* (70) orconf ::= */ - { 190, -2 }, /* (71) orconf ::= OR resolvetype */ - { 191, -1 }, /* (72) resolvetype ::= IGNORE */ - { 191, -1 }, /* (73) resolvetype ::= REPLACE */ - { 149, -4 }, /* (74) cmd ::= DROP TABLE ifexists fullname */ - { 193, -2 }, /* (75) ifexists ::= IF EXISTS */ - { 193, 0 }, /* (76) ifexists ::= */ - { 149, -9 }, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ - { 149, -4 }, /* (78) cmd ::= DROP VIEW ifexists fullname */ - { 149, -1 }, /* (79) cmd ::= select */ - { 163, -2 }, /* (80) select ::= with selectnowith */ - { 195, -3 }, /* (81) selectnowith ::= selectnowith multiselect_op oneselect */ - { 198, -1 }, /* (82) multiselect_op ::= UNION */ - { 198, -2 }, /* (83) multiselect_op ::= UNION ALL */ - { 198, -1 }, /* (84) multiselect_op ::= EXCEPT|INTERSECT */ - { 196, -9 }, /* (85) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ - { 207, -4 }, /* (86) values ::= VALUES LP nexprlist RP */ - { 207, -5 }, /* (87) values ::= values COMMA LP exprlist RP */ - { 199, -1 }, /* (88) distinct ::= DISTINCT */ - { 199, -1 }, /* (89) distinct ::= ALL */ - { 199, 0 }, /* (90) distinct ::= */ - { 210, 0 }, /* (91) sclp ::= */ - { 200, -5 }, /* (92) selcollist ::= sclp scanpt expr scanpt as */ - { 200, -3 }, /* (93) selcollist ::= sclp scanpt STAR */ - { 200, -5 }, /* (94) selcollist ::= sclp scanpt nm DOT STAR */ - { 211, -2 }, /* (95) as ::= AS nm */ - { 211, 0 }, /* (96) as ::= */ - { 201, 0 }, /* (97) from ::= */ - { 201, -2 }, /* (98) from ::= FROM seltablist */ - { 213, -2 }, /* (99) stl_prefix ::= seltablist joinop */ - { 213, 0 }, /* (100) stl_prefix ::= */ - { 212, -7 }, /* (101) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ - { 212, -9 }, /* (102) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ - { 212, -7 }, /* (103) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ - { 212, -7 }, /* (104) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ - { 159, 0 }, /* (105) dbnm ::= */ - { 159, -2 }, /* (106) dbnm ::= DOT nm */ - { 194, -2 }, /* (107) fullname ::= nm dbnm */ - { 214, -1 }, /* (108) joinop ::= COMMA|JOIN */ - { 214, -2 }, /* (109) joinop ::= JOIN_KW JOIN */ - { 214, -3 }, /* (110) joinop ::= JOIN_KW nm JOIN */ - { 214, -4 }, /* (111) joinop ::= JOIN_KW nm nm JOIN */ - { 216, -2 }, /* (112) on_opt ::= ON expr */ - { 216, 0 }, /* (113) on_opt ::= */ - { 215, 0 }, /* (114) indexed_opt ::= */ - { 215, -3 }, /* (115) indexed_opt ::= INDEXED BY nm */ - { 215, -2 }, /* (116) indexed_opt ::= NOT INDEXED */ - { 217, -4 }, /* (117) using_opt ::= USING LP idlist RP */ - { 217, 0 }, /* (118) using_opt ::= */ - { 205, 0 }, /* (119) orderby_opt ::= */ - { 205, -3 }, /* (120) orderby_opt ::= ORDER BY sortlist */ - { 187, -4 }, /* (121) sortlist ::= sortlist COMMA expr sortorder */ - { 187, -2 }, /* (122) sortlist ::= expr sortorder */ - { 176, -1 }, /* (123) sortorder ::= ASC */ - { 176, -1 }, /* (124) sortorder ::= DESC */ - { 176, 0 }, /* (125) sortorder ::= */ - { 203, 0 }, /* (126) groupby_opt ::= */ - { 203, -3 }, /* (127) groupby_opt ::= GROUP BY nexprlist */ - { 204, 0 }, /* (128) having_opt ::= */ - { 204, -2 }, /* (129) having_opt ::= HAVING expr */ - { 206, 0 }, /* (130) limit_opt ::= */ - { 206, -2 }, /* (131) limit_opt ::= LIMIT expr */ - { 206, -4 }, /* (132) limit_opt ::= LIMIT expr OFFSET expr */ - { 206, -4 }, /* (133) limit_opt ::= LIMIT expr COMMA expr */ - { 149, -6 }, /* (134) cmd ::= with DELETE FROM fullname indexed_opt where_opt */ - { 202, 0 }, /* (135) where_opt ::= */ - { 202, -2 }, /* (136) where_opt ::= WHERE expr */ - { 149, -8 }, /* (137) cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ - { 219, -5 }, /* (138) setlist ::= setlist COMMA nm EQ expr */ - { 219, -7 }, /* (139) setlist ::= setlist COMMA LP idlist RP EQ expr */ - { 219, -3 }, /* (140) setlist ::= nm EQ expr */ - { 219, -5 }, /* (141) setlist ::= LP idlist RP EQ expr */ - { 149, -6 }, /* (142) cmd ::= with insert_cmd INTO fullname idlist_opt select */ - { 149, -7 }, /* (143) cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ - { 220, -2 }, /* (144) insert_cmd ::= INSERT orconf */ - { 220, -1 }, /* (145) insert_cmd ::= REPLACE */ - { 221, 0 }, /* (146) idlist_opt ::= */ - { 221, -3 }, /* (147) idlist_opt ::= LP idlist RP */ - { 218, -3 }, /* (148) idlist ::= idlist COMMA nm */ - { 218, -1 }, /* (149) idlist ::= nm */ - { 174, -3 }, /* (150) expr ::= LP expr RP */ - { 174, -1 }, /* (151) expr ::= ID|INDEXED */ - { 174, -1 }, /* (152) expr ::= JOIN_KW */ - { 174, -3 }, /* (153) expr ::= nm DOT nm */ - { 174, -5 }, /* (154) expr ::= nm DOT nm DOT nm */ - { 173, -1 }, /* (155) term ::= NULL|FLOAT|BLOB */ - { 173, -1 }, /* (156) term ::= STRING */ - { 173, -1 }, /* (157) term ::= INTEGER */ - { 174, -1 }, /* (158) expr ::= VARIABLE */ - { 174, -3 }, /* (159) expr ::= expr COLLATE ID|STRING */ - { 174, -6 }, /* (160) expr ::= CAST LP expr AS typetoken RP */ - { 174, -5 }, /* (161) expr ::= ID|INDEXED LP distinct exprlist RP */ - { 174, -4 }, /* (162) expr ::= ID|INDEXED LP STAR RP */ - { 173, -1 }, /* (163) term ::= CTIME_KW */ - { 174, -5 }, /* (164) expr ::= LP nexprlist COMMA expr RP */ - { 174, -3 }, /* (165) expr ::= expr AND expr */ - { 174, -3 }, /* (166) expr ::= expr OR expr */ - { 174, -3 }, /* (167) expr ::= expr LT|GT|GE|LE expr */ - { 174, -3 }, /* (168) expr ::= expr EQ|NE expr */ - { 174, -3 }, /* (169) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ - { 174, -3 }, /* (170) expr ::= expr PLUS|MINUS expr */ - { 174, -3 }, /* (171) expr ::= expr STAR|SLASH|REM expr */ - { 174, -3 }, /* (172) expr ::= expr CONCAT expr */ - { 222, -2 }, /* (173) likeop ::= NOT LIKE_KW|MATCH */ - { 174, -3 }, /* (174) expr ::= expr likeop expr */ - { 174, -5 }, /* (175) expr ::= expr likeop expr ESCAPE expr */ - { 174, -2 }, /* (176) expr ::= expr ISNULL|NOTNULL */ - { 174, -3 }, /* (177) expr ::= expr NOT NULL */ - { 174, -3 }, /* (178) expr ::= expr IS expr */ - { 174, -4 }, /* (179) expr ::= expr IS NOT expr */ - { 174, -2 }, /* (180) expr ::= NOT expr */ - { 174, -2 }, /* (181) expr ::= BITNOT expr */ - { 174, -2 }, /* (182) expr ::= MINUS expr */ - { 174, -2 }, /* (183) expr ::= PLUS expr */ - { 223, -1 }, /* (184) between_op ::= BETWEEN */ - { 223, -2 }, /* (185) between_op ::= NOT BETWEEN */ - { 174, -5 }, /* (186) expr ::= expr between_op expr AND expr */ - { 224, -1 }, /* (187) in_op ::= IN */ - { 224, -2 }, /* (188) in_op ::= NOT IN */ - { 174, -5 }, /* (189) expr ::= expr in_op LP exprlist RP */ - { 174, -3 }, /* (190) expr ::= LP select RP */ - { 174, -5 }, /* (191) expr ::= expr in_op LP select RP */ - { 174, -5 }, /* (192) expr ::= expr in_op nm dbnm paren_exprlist */ - { 174, -4 }, /* (193) expr ::= EXISTS LP select RP */ - { 174, -5 }, /* (194) expr ::= CASE case_operand case_exprlist case_else END */ - { 227, -5 }, /* (195) case_exprlist ::= case_exprlist WHEN expr THEN expr */ - { 227, -4 }, /* (196) case_exprlist ::= WHEN expr THEN expr */ - { 228, -2 }, /* (197) case_else ::= ELSE expr */ - { 228, 0 }, /* (198) case_else ::= */ - { 226, -1 }, /* (199) case_operand ::= expr */ - { 226, 0 }, /* (200) case_operand ::= */ - { 209, 0 }, /* (201) exprlist ::= */ - { 208, -3 }, /* (202) nexprlist ::= nexprlist COMMA expr */ - { 208, -1 }, /* (203) nexprlist ::= expr */ - { 225, 0 }, /* (204) paren_exprlist ::= */ - { 225, -3 }, /* (205) paren_exprlist ::= LP exprlist RP */ - { 149, -12 }, /* (206) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ - { 229, -1 }, /* (207) uniqueflag ::= UNIQUE */ - { 229, 0 }, /* (208) uniqueflag ::= */ - { 178, 0 }, /* (209) eidlist_opt ::= */ - { 178, -3 }, /* (210) eidlist_opt ::= LP eidlist RP */ - { 188, -5 }, /* (211) eidlist ::= eidlist COMMA nm collate sortorder */ - { 188, -3 }, /* (212) eidlist ::= nm collate sortorder */ - { 230, 0 }, /* (213) collate ::= */ - { 230, -2 }, /* (214) collate ::= COLLATE ID|STRING */ - { 149, -4 }, /* (215) cmd ::= DROP INDEX ifexists fullname */ - { 149, -1 }, /* (216) cmd ::= VACUUM */ - { 149, -2 }, /* (217) cmd ::= VACUUM nm */ - { 149, -3 }, /* (218) cmd ::= PRAGMA nm dbnm */ - { 149, -5 }, /* (219) cmd ::= PRAGMA nm dbnm EQ nmnum */ - { 149, -6 }, /* (220) cmd ::= PRAGMA nm dbnm LP nmnum RP */ - { 149, -5 }, /* (221) cmd ::= PRAGMA nm dbnm EQ minus_num */ - { 149, -6 }, /* (222) cmd ::= PRAGMA nm dbnm LP minus_num RP */ - { 169, -2 }, /* (223) plus_num ::= PLUS INTEGER|FLOAT */ - { 170, -2 }, /* (224) minus_num ::= MINUS INTEGER|FLOAT */ - { 149, -5 }, /* (225) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ - { 232, -11 }, /* (226) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ - { 234, -1 }, /* (227) trigger_time ::= BEFORE|AFTER */ - { 234, -2 }, /* (228) trigger_time ::= INSTEAD OF */ - { 234, 0 }, /* (229) trigger_time ::= */ - { 235, -1 }, /* (230) trigger_event ::= DELETE|INSERT */ - { 235, -1 }, /* (231) trigger_event ::= UPDATE */ - { 235, -3 }, /* (232) trigger_event ::= UPDATE OF idlist */ - { 237, 0 }, /* (233) when_clause ::= */ - { 237, -2 }, /* (234) when_clause ::= WHEN expr */ - { 233, -3 }, /* (235) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ - { 233, -2 }, /* (236) trigger_cmd_list ::= trigger_cmd SEMI */ - { 239, -3 }, /* (237) trnm ::= nm DOT nm */ - { 240, -3 }, /* (238) tridxby ::= INDEXED BY nm */ - { 240, -2 }, /* (239) tridxby ::= NOT INDEXED */ - { 238, -8 }, /* (240) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ - { 238, -7 }, /* (241) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ - { 238, -6 }, /* (242) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ - { 238, -3 }, /* (243) trigger_cmd ::= scanpt select scanpt */ - { 174, -4 }, /* (244) expr ::= RAISE LP IGNORE RP */ - { 174, -6 }, /* (245) expr ::= RAISE LP raisetype COMMA nm RP */ - { 192, -1 }, /* (246) raisetype ::= ROLLBACK */ - { 192, -1 }, /* (247) raisetype ::= ABORT */ - { 192, -1 }, /* (248) raisetype ::= FAIL */ - { 149, -4 }, /* (249) cmd ::= DROP TRIGGER ifexists fullname */ - { 149, -6 }, /* (250) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ - { 149, -3 }, /* (251) cmd ::= DETACH database_kw_opt expr */ - { 242, 0 }, /* (252) key_opt ::= */ - { 242, -2 }, /* (253) key_opt ::= KEY expr */ - { 149, -1 }, /* (254) cmd ::= REINDEX */ - { 149, -3 }, /* (255) cmd ::= REINDEX nm dbnm */ - { 149, -1 }, /* (256) cmd ::= ANALYZE */ - { 149, -3 }, /* (257) cmd ::= ANALYZE nm dbnm */ - { 149, -6 }, /* (258) cmd ::= ALTER TABLE fullname RENAME TO nm */ - { 149, -7 }, /* (259) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ - { 243, -1 }, /* (260) add_column_fullname ::= fullname */ - { 149, -1 }, /* (261) cmd ::= create_vtab */ - { 149, -4 }, /* (262) cmd ::= create_vtab LP vtabarglist RP */ - { 245, -8 }, /* (263) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ - { 247, 0 }, /* (264) vtabarg ::= */ - { 248, -1 }, /* (265) vtabargtoken ::= ANY */ - { 248, -3 }, /* (266) vtabargtoken ::= lp anylist RP */ - { 249, -1 }, /* (267) lp ::= LP */ - { 197, 0 }, /* (268) with ::= */ - { 197, -2 }, /* (269) with ::= WITH wqlist */ - { 197, -3 }, /* (270) with ::= WITH RECURSIVE wqlist */ - { 251, -6 }, /* (271) wqlist ::= nm eidlist_opt AS LP select RP */ - { 251, -8 }, /* (272) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ - { 144, -1 }, /* (273) input ::= cmdlist */ - { 145, -2 }, /* (274) cmdlist ::= cmdlist ecmd */ - { 145, -1 }, /* (275) cmdlist ::= ecmd */ - { 146, -1 }, /* (276) ecmd ::= SEMI */ - { 146, -3 }, /* (277) ecmd ::= explain cmdx SEMI */ - { 147, 0 }, /* (278) explain ::= */ - { 151, 0 }, /* (279) trans_opt ::= */ - { 151, -1 }, /* (280) trans_opt ::= TRANSACTION */ - { 151, -2 }, /* (281) trans_opt ::= TRANSACTION nm */ - { 153, -1 }, /* (282) savepoint_opt ::= SAVEPOINT */ - { 153, 0 }, /* (283) savepoint_opt ::= */ - { 149, -2 }, /* (284) cmd ::= create_table create_table_args */ - { 160, -4 }, /* (285) columnlist ::= columnlist COMMA columnname carglist */ - { 160, -2 }, /* (286) columnlist ::= columnname carglist */ - { 152, -1 }, /* (287) nm ::= ID|INDEXED */ - { 152, -1 }, /* (288) nm ::= STRING */ - { 152, -1 }, /* (289) nm ::= JOIN_KW */ - { 166, -1 }, /* (290) typetoken ::= typename */ - { 167, -1 }, /* (291) typename ::= ID|STRING */ - { 168, -1 }, /* (292) signed ::= plus_num */ - { 168, -1 }, /* (293) signed ::= minus_num */ - { 165, -2 }, /* (294) carglist ::= carglist ccons */ - { 165, 0 }, /* (295) carglist ::= */ - { 172, -2 }, /* (296) ccons ::= NULL onconf */ - { 161, -2 }, /* (297) conslist_opt ::= COMMA conslist */ - { 184, -3 }, /* (298) conslist ::= conslist tconscomma tcons */ - { 184, -1 }, /* (299) conslist ::= tcons */ - { 185, 0 }, /* (300) tconscomma ::= */ - { 189, -1 }, /* (301) defer_subclause_opt ::= defer_subclause */ - { 191, -1 }, /* (302) resolvetype ::= raisetype */ - { 195, -1 }, /* (303) selectnowith ::= oneselect */ - { 196, -1 }, /* (304) oneselect ::= values */ - { 210, -2 }, /* (305) sclp ::= selcollist COMMA */ - { 211, -1 }, /* (306) as ::= ID|STRING */ - { 174, -1 }, /* (307) expr ::= term */ - { 222, -1 }, /* (308) likeop ::= LIKE_KW|MATCH */ - { 209, -1 }, /* (309) exprlist ::= nexprlist */ - { 231, -1 }, /* (310) nmnum ::= plus_num */ - { 231, -1 }, /* (311) nmnum ::= nm */ - { 231, -1 }, /* (312) nmnum ::= ON */ - { 231, -1 }, /* (313) nmnum ::= DELETE */ - { 231, -1 }, /* (314) nmnum ::= DEFAULT */ - { 169, -1 }, /* (315) plus_num ::= INTEGER|FLOAT */ - { 236, 0 }, /* (316) foreach_clause ::= */ - { 236, -3 }, /* (317) foreach_clause ::= FOR EACH ROW */ - { 239, -1 }, /* (318) trnm ::= nm */ - { 240, 0 }, /* (319) tridxby ::= */ - { 241, -1 }, /* (320) database_kw_opt ::= DATABASE */ - { 241, 0 }, /* (321) database_kw_opt ::= */ - { 244, 0 }, /* (322) kwcolumn_opt ::= */ - { 244, -1 }, /* (323) kwcolumn_opt ::= COLUMNKW */ - { 246, -1 }, /* (324) vtabarglist ::= vtabarg */ - { 246, -3 }, /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ - { 247, -2 }, /* (326) vtabarg ::= vtabarg vtabargtoken */ - { 250, 0 }, /* (327) anylist ::= */ - { 250, -4 }, /* (328) anylist ::= anylist LP anylist RP */ - { 250, -2 }, /* (329) anylist ::= anylist ANY */ + { 159, -1 }, /* (0) explain ::= EXPLAIN */ + { 159, -3 }, /* (1) explain ::= EXPLAIN QUERY PLAN */ + { 158, -1 }, /* (2) cmdx ::= cmd */ + { 160, -3 }, /* (3) cmd ::= BEGIN transtype trans_opt */ + { 161, 0 }, /* (4) transtype ::= */ + { 161, -1 }, /* (5) transtype ::= DEFERRED */ + { 161, -1 }, /* (6) transtype ::= IMMEDIATE */ + { 161, -1 }, /* (7) transtype ::= EXCLUSIVE */ + { 160, -2 }, /* (8) cmd ::= COMMIT|END trans_opt */ + { 160, -2 }, /* (9) cmd ::= ROLLBACK trans_opt */ + { 160, -2 }, /* (10) cmd ::= SAVEPOINT nm */ + { 160, -3 }, /* (11) cmd ::= RELEASE savepoint_opt nm */ + { 160, -5 }, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ + { 165, -6 }, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ + { 167, -1 }, /* (14) createkw ::= CREATE */ + { 169, 0 }, /* (15) ifnotexists ::= */ + { 169, -3 }, /* (16) ifnotexists ::= IF NOT EXISTS */ + { 168, -1 }, /* (17) temp ::= TEMP */ + { 168, 0 }, /* (18) temp ::= */ + { 166, -5 }, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ + { 166, -2 }, /* (20) create_table_args ::= AS select */ + { 173, 0 }, /* (21) table_options ::= */ + { 173, -2 }, /* (22) table_options ::= WITHOUT nm */ + { 175, -2 }, /* (23) columnname ::= nm typetoken */ + { 177, 0 }, /* (24) typetoken ::= */ + { 177, -4 }, /* (25) typetoken ::= typename LP signed RP */ + { 177, -6 }, /* (26) typetoken ::= typename LP signed COMMA signed RP */ + { 178, -2 }, /* (27) typename ::= typename ID|STRING */ + { 182, 0 }, /* (28) scanpt ::= */ + { 183, -2 }, /* (29) ccons ::= CONSTRAINT nm */ + { 183, -4 }, /* (30) ccons ::= DEFAULT scanpt term scanpt */ + { 183, -4 }, /* (31) ccons ::= DEFAULT LP expr RP */ + { 183, -4 }, /* (32) ccons ::= DEFAULT PLUS term scanpt */ + { 183, -4 }, /* (33) ccons ::= DEFAULT MINUS term scanpt */ + { 183, -3 }, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ + { 183, -3 }, /* (35) ccons ::= NOT NULL onconf */ + { 183, -5 }, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ + { 183, -2 }, /* (37) ccons ::= UNIQUE onconf */ + { 183, -4 }, /* (38) ccons ::= CHECK LP expr RP */ + { 183, -4 }, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ + { 183, -1 }, /* (40) ccons ::= defer_subclause */ + { 183, -2 }, /* (41) ccons ::= COLLATE ID|STRING */ + { 188, 0 }, /* (42) autoinc ::= */ + { 188, -1 }, /* (43) autoinc ::= AUTOINCR */ + { 190, 0 }, /* (44) refargs ::= */ + { 190, -2 }, /* (45) refargs ::= refargs refarg */ + { 192, -2 }, /* (46) refarg ::= MATCH nm */ + { 192, -3 }, /* (47) refarg ::= ON INSERT refact */ + { 192, -3 }, /* (48) refarg ::= ON DELETE refact */ + { 192, -3 }, /* (49) refarg ::= ON UPDATE refact */ + { 193, -2 }, /* (50) refact ::= SET NULL */ + { 193, -2 }, /* (51) refact ::= SET DEFAULT */ + { 193, -1 }, /* (52) refact ::= CASCADE */ + { 193, -1 }, /* (53) refact ::= RESTRICT */ + { 193, -2 }, /* (54) refact ::= NO ACTION */ + { 191, -3 }, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ + { 191, -2 }, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ + { 194, 0 }, /* (57) init_deferred_pred_opt ::= */ + { 194, -2 }, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ + { 194, -2 }, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ + { 172, 0 }, /* (60) conslist_opt ::= */ + { 196, -1 }, /* (61) tconscomma ::= COMMA */ + { 197, -2 }, /* (62) tcons ::= CONSTRAINT nm */ + { 197, -7 }, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ + { 197, -5 }, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ + { 197, -5 }, /* (65) tcons ::= CHECK LP expr RP onconf */ + { 197, -10 }, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ + { 200, 0 }, /* (67) defer_subclause_opt ::= */ + { 186, 0 }, /* (68) onconf ::= */ + { 186, -3 }, /* (69) onconf ::= ON CONFLICT resolvetype */ + { 201, 0 }, /* (70) orconf ::= */ + { 201, -2 }, /* (71) orconf ::= OR resolvetype */ + { 202, -1 }, /* (72) resolvetype ::= IGNORE */ + { 202, -1 }, /* (73) resolvetype ::= REPLACE */ + { 160, -4 }, /* (74) cmd ::= DROP TABLE ifexists fullname */ + { 204, -2 }, /* (75) ifexists ::= IF EXISTS */ + { 204, 0 }, /* (76) ifexists ::= */ + { 160, -9 }, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ + { 160, -4 }, /* (78) cmd ::= DROP VIEW ifexists fullname */ + { 160, -1 }, /* (79) cmd ::= select */ + { 174, -3 }, /* (80) select ::= WITH wqlist selectnowith */ + { 174, -4 }, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ + { 174, -1 }, /* (82) select ::= selectnowith */ + { 206, -3 }, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ + { 209, -1 }, /* (84) multiselect_op ::= UNION */ + { 209, -2 }, /* (85) multiselect_op ::= UNION ALL */ + { 209, -1 }, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ + { 207, -9 }, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ + { 207, -10 }, /* (88) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ + { 219, -4 }, /* (89) values ::= VALUES LP nexprlist RP */ + { 219, -5 }, /* (90) values ::= values COMMA LP nexprlist RP */ + { 210, -1 }, /* (91) distinct ::= DISTINCT */ + { 210, -1 }, /* (92) distinct ::= ALL */ + { 210, 0 }, /* (93) distinct ::= */ + { 221, 0 }, /* (94) sclp ::= */ + { 211, -5 }, /* (95) selcollist ::= sclp scanpt expr scanpt as */ + { 211, -3 }, /* (96) selcollist ::= sclp scanpt STAR */ + { 211, -5 }, /* (97) selcollist ::= sclp scanpt nm DOT STAR */ + { 222, -2 }, /* (98) as ::= AS nm */ + { 222, 0 }, /* (99) as ::= */ + { 212, 0 }, /* (100) from ::= */ + { 212, -2 }, /* (101) from ::= FROM seltablist */ + { 224, -2 }, /* (102) stl_prefix ::= seltablist joinop */ + { 224, 0 }, /* (103) stl_prefix ::= */ + { 223, -7 }, /* (104) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ + { 223, -9 }, /* (105) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ + { 223, -7 }, /* (106) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ + { 223, -7 }, /* (107) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ + { 170, 0 }, /* (108) dbnm ::= */ + { 170, -2 }, /* (109) dbnm ::= DOT nm */ + { 205, -1 }, /* (110) fullname ::= nm */ + { 205, -3 }, /* (111) fullname ::= nm DOT nm */ + { 230, -1 }, /* (112) xfullname ::= nm */ + { 230, -3 }, /* (113) xfullname ::= nm DOT nm */ + { 230, -5 }, /* (114) xfullname ::= nm DOT nm AS nm */ + { 230, -3 }, /* (115) xfullname ::= nm AS nm */ + { 225, -1 }, /* (116) joinop ::= COMMA|JOIN */ + { 225, -2 }, /* (117) joinop ::= JOIN_KW JOIN */ + { 225, -3 }, /* (118) joinop ::= JOIN_KW nm JOIN */ + { 225, -4 }, /* (119) joinop ::= JOIN_KW nm nm JOIN */ + { 227, -2 }, /* (120) on_opt ::= ON expr */ + { 227, 0 }, /* (121) on_opt ::= */ + { 226, 0 }, /* (122) indexed_opt ::= */ + { 226, -3 }, /* (123) indexed_opt ::= INDEXED BY nm */ + { 226, -2 }, /* (124) indexed_opt ::= NOT INDEXED */ + { 228, -4 }, /* (125) using_opt ::= USING LP idlist RP */ + { 228, 0 }, /* (126) using_opt ::= */ + { 216, 0 }, /* (127) orderby_opt ::= */ + { 216, -3 }, /* (128) orderby_opt ::= ORDER BY sortlist */ + { 198, -4 }, /* (129) sortlist ::= sortlist COMMA expr sortorder */ + { 198, -2 }, /* (130) sortlist ::= expr sortorder */ + { 187, -1 }, /* (131) sortorder ::= ASC */ + { 187, -1 }, /* (132) sortorder ::= DESC */ + { 187, 0 }, /* (133) sortorder ::= */ + { 214, 0 }, /* (134) groupby_opt ::= */ + { 214, -3 }, /* (135) groupby_opt ::= GROUP BY nexprlist */ + { 215, 0 }, /* (136) having_opt ::= */ + { 215, -2 }, /* (137) having_opt ::= HAVING expr */ + { 217, 0 }, /* (138) limit_opt ::= */ + { 217, -2 }, /* (139) limit_opt ::= LIMIT expr */ + { 217, -4 }, /* (140) limit_opt ::= LIMIT expr OFFSET expr */ + { 217, -4 }, /* (141) limit_opt ::= LIMIT expr COMMA expr */ + { 160, -6 }, /* (142) cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ + { 213, 0 }, /* (143) where_opt ::= */ + { 213, -2 }, /* (144) where_opt ::= WHERE expr */ + { 160, -8 }, /* (145) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ + { 233, -5 }, /* (146) setlist ::= setlist COMMA nm EQ expr */ + { 233, -7 }, /* (147) setlist ::= setlist COMMA LP idlist RP EQ expr */ + { 233, -3 }, /* (148) setlist ::= nm EQ expr */ + { 233, -5 }, /* (149) setlist ::= LP idlist RP EQ expr */ + { 160, -7 }, /* (150) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ + { 160, -7 }, /* (151) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ + { 236, 0 }, /* (152) upsert ::= */ + { 236, -11 }, /* (153) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ + { 236, -8 }, /* (154) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ + { 236, -4 }, /* (155) upsert ::= ON CONFLICT DO NOTHING */ + { 234, -2 }, /* (156) insert_cmd ::= INSERT orconf */ + { 234, -1 }, /* (157) insert_cmd ::= REPLACE */ + { 235, 0 }, /* (158) idlist_opt ::= */ + { 235, -3 }, /* (159) idlist_opt ::= LP idlist RP */ + { 231, -3 }, /* (160) idlist ::= idlist COMMA nm */ + { 231, -1 }, /* (161) idlist ::= nm */ + { 185, -3 }, /* (162) expr ::= LP expr RP */ + { 185, -1 }, /* (163) expr ::= ID|INDEXED */ + { 185, -1 }, /* (164) expr ::= JOIN_KW */ + { 185, -3 }, /* (165) expr ::= nm DOT nm */ + { 185, -5 }, /* (166) expr ::= nm DOT nm DOT nm */ + { 184, -1 }, /* (167) term ::= NULL|FLOAT|BLOB */ + { 184, -1 }, /* (168) term ::= STRING */ + { 184, -1 }, /* (169) term ::= INTEGER */ + { 185, -1 }, /* (170) expr ::= VARIABLE */ + { 185, -3 }, /* (171) expr ::= expr COLLATE ID|STRING */ + { 185, -6 }, /* (172) expr ::= CAST LP expr AS typetoken RP */ + { 185, -5 }, /* (173) expr ::= ID|INDEXED LP distinct exprlist RP */ + { 185, -4 }, /* (174) expr ::= ID|INDEXED LP STAR RP */ + { 185, -6 }, /* (175) expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ + { 185, -5 }, /* (176) expr ::= ID|INDEXED LP STAR RP over_clause */ + { 184, -1 }, /* (177) term ::= CTIME_KW */ + { 185, -5 }, /* (178) expr ::= LP nexprlist COMMA expr RP */ + { 185, -3 }, /* (179) expr ::= expr AND expr */ + { 185, -3 }, /* (180) expr ::= expr OR expr */ + { 185, -3 }, /* (181) expr ::= expr LT|GT|GE|LE expr */ + { 185, -3 }, /* (182) expr ::= expr EQ|NE expr */ + { 185, -3 }, /* (183) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ + { 185, -3 }, /* (184) expr ::= expr PLUS|MINUS expr */ + { 185, -3 }, /* (185) expr ::= expr STAR|SLASH|REM expr */ + { 185, -3 }, /* (186) expr ::= expr CONCAT expr */ + { 238, -2 }, /* (187) likeop ::= NOT LIKE_KW|MATCH */ + { 185, -3 }, /* (188) expr ::= expr likeop expr */ + { 185, -5 }, /* (189) expr ::= expr likeop expr ESCAPE expr */ + { 185, -2 }, /* (190) expr ::= expr ISNULL|NOTNULL */ + { 185, -3 }, /* (191) expr ::= expr NOT NULL */ + { 185, -3 }, /* (192) expr ::= expr IS expr */ + { 185, -4 }, /* (193) expr ::= expr IS NOT expr */ + { 185, -2 }, /* (194) expr ::= NOT expr */ + { 185, -2 }, /* (195) expr ::= BITNOT expr */ + { 185, -2 }, /* (196) expr ::= PLUS|MINUS expr */ + { 239, -1 }, /* (197) between_op ::= BETWEEN */ + { 239, -2 }, /* (198) between_op ::= NOT BETWEEN */ + { 185, -5 }, /* (199) expr ::= expr between_op expr AND expr */ + { 240, -1 }, /* (200) in_op ::= IN */ + { 240, -2 }, /* (201) in_op ::= NOT IN */ + { 185, -5 }, /* (202) expr ::= expr in_op LP exprlist RP */ + { 185, -3 }, /* (203) expr ::= LP select RP */ + { 185, -5 }, /* (204) expr ::= expr in_op LP select RP */ + { 185, -5 }, /* (205) expr ::= expr in_op nm dbnm paren_exprlist */ + { 185, -4 }, /* (206) expr ::= EXISTS LP select RP */ + { 185, -5 }, /* (207) expr ::= CASE case_operand case_exprlist case_else END */ + { 243, -5 }, /* (208) case_exprlist ::= case_exprlist WHEN expr THEN expr */ + { 243, -4 }, /* (209) case_exprlist ::= WHEN expr THEN expr */ + { 244, -2 }, /* (210) case_else ::= ELSE expr */ + { 244, 0 }, /* (211) case_else ::= */ + { 242, -1 }, /* (212) case_operand ::= expr */ + { 242, 0 }, /* (213) case_operand ::= */ + { 229, 0 }, /* (214) exprlist ::= */ + { 220, -3 }, /* (215) nexprlist ::= nexprlist COMMA expr */ + { 220, -1 }, /* (216) nexprlist ::= expr */ + { 241, 0 }, /* (217) paren_exprlist ::= */ + { 241, -3 }, /* (218) paren_exprlist ::= LP exprlist RP */ + { 160, -12 }, /* (219) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + { 245, -1 }, /* (220) uniqueflag ::= UNIQUE */ + { 245, 0 }, /* (221) uniqueflag ::= */ + { 189, 0 }, /* (222) eidlist_opt ::= */ + { 189, -3 }, /* (223) eidlist_opt ::= LP eidlist RP */ + { 199, -5 }, /* (224) eidlist ::= eidlist COMMA nm collate sortorder */ + { 199, -3 }, /* (225) eidlist ::= nm collate sortorder */ + { 246, 0 }, /* (226) collate ::= */ + { 246, -2 }, /* (227) collate ::= COLLATE ID|STRING */ + { 160, -4 }, /* (228) cmd ::= DROP INDEX ifexists fullname */ + { 160, -1 }, /* (229) cmd ::= VACUUM */ + { 160, -2 }, /* (230) cmd ::= VACUUM nm */ + { 160, -3 }, /* (231) cmd ::= PRAGMA nm dbnm */ + { 160, -5 }, /* (232) cmd ::= PRAGMA nm dbnm EQ nmnum */ + { 160, -6 }, /* (233) cmd ::= PRAGMA nm dbnm LP nmnum RP */ + { 160, -5 }, /* (234) cmd ::= PRAGMA nm dbnm EQ minus_num */ + { 160, -6 }, /* (235) cmd ::= PRAGMA nm dbnm LP minus_num RP */ + { 180, -2 }, /* (236) plus_num ::= PLUS INTEGER|FLOAT */ + { 181, -2 }, /* (237) minus_num ::= MINUS INTEGER|FLOAT */ + { 160, -5 }, /* (238) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + { 248, -11 }, /* (239) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + { 250, -1 }, /* (240) trigger_time ::= BEFORE|AFTER */ + { 250, -2 }, /* (241) trigger_time ::= INSTEAD OF */ + { 250, 0 }, /* (242) trigger_time ::= */ + { 251, -1 }, /* (243) trigger_event ::= DELETE|INSERT */ + { 251, -1 }, /* (244) trigger_event ::= UPDATE */ + { 251, -3 }, /* (245) trigger_event ::= UPDATE OF idlist */ + { 253, 0 }, /* (246) when_clause ::= */ + { 253, -2 }, /* (247) when_clause ::= WHEN expr */ + { 249, -3 }, /* (248) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + { 249, -2 }, /* (249) trigger_cmd_list ::= trigger_cmd SEMI */ + { 255, -3 }, /* (250) trnm ::= nm DOT nm */ + { 256, -3 }, /* (251) tridxby ::= INDEXED BY nm */ + { 256, -2 }, /* (252) tridxby ::= NOT INDEXED */ + { 254, -8 }, /* (253) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ + { 254, -8 }, /* (254) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ + { 254, -6 }, /* (255) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ + { 254, -3 }, /* (256) trigger_cmd ::= scanpt select scanpt */ + { 185, -4 }, /* (257) expr ::= RAISE LP IGNORE RP */ + { 185, -6 }, /* (258) expr ::= RAISE LP raisetype COMMA nm RP */ + { 203, -1 }, /* (259) raisetype ::= ROLLBACK */ + { 203, -1 }, /* (260) raisetype ::= ABORT */ + { 203, -1 }, /* (261) raisetype ::= FAIL */ + { 160, -4 }, /* (262) cmd ::= DROP TRIGGER ifexists fullname */ + { 160, -6 }, /* (263) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + { 160, -3 }, /* (264) cmd ::= DETACH database_kw_opt expr */ + { 258, 0 }, /* (265) key_opt ::= */ + { 258, -2 }, /* (266) key_opt ::= KEY expr */ + { 160, -1 }, /* (267) cmd ::= REINDEX */ + { 160, -3 }, /* (268) cmd ::= REINDEX nm dbnm */ + { 160, -1 }, /* (269) cmd ::= ANALYZE */ + { 160, -3 }, /* (270) cmd ::= ANALYZE nm dbnm */ + { 160, -6 }, /* (271) cmd ::= ALTER TABLE fullname RENAME TO nm */ + { 160, -7 }, /* (272) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + { 259, -1 }, /* (273) add_column_fullname ::= fullname */ + { 160, -8 }, /* (274) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ + { 160, -1 }, /* (275) cmd ::= create_vtab */ + { 160, -4 }, /* (276) cmd ::= create_vtab LP vtabarglist RP */ + { 261, -8 }, /* (277) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + { 263, 0 }, /* (278) vtabarg ::= */ + { 264, -1 }, /* (279) vtabargtoken ::= ANY */ + { 264, -3 }, /* (280) vtabargtoken ::= lp anylist RP */ + { 265, -1 }, /* (281) lp ::= LP */ + { 232, -2 }, /* (282) with ::= WITH wqlist */ + { 232, -3 }, /* (283) with ::= WITH RECURSIVE wqlist */ + { 208, -6 }, /* (284) wqlist ::= nm eidlist_opt AS LP select RP */ + { 208, -8 }, /* (285) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + { 267, -1 }, /* (286) windowdefn_list ::= windowdefn */ + { 267, -3 }, /* (287) windowdefn_list ::= windowdefn_list COMMA windowdefn */ + { 268, -3 }, /* (288) windowdefn ::= nm AS window */ + { 269, -5 }, /* (289) window ::= LP part_opt orderby_opt frame_opt RP */ + { 271, -3 }, /* (290) part_opt ::= PARTITION BY nexprlist */ + { 271, 0 }, /* (291) part_opt ::= */ + { 270, 0 }, /* (292) frame_opt ::= */ + { 270, -2 }, /* (293) frame_opt ::= range_or_rows frame_bound_s */ + { 270, -5 }, /* (294) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e */ + { 273, -1 }, /* (295) range_or_rows ::= RANGE */ + { 273, -1 }, /* (296) range_or_rows ::= ROWS */ + { 275, -1 }, /* (297) frame_bound_s ::= frame_bound */ + { 275, -2 }, /* (298) frame_bound_s ::= UNBOUNDED PRECEDING */ + { 276, -1 }, /* (299) frame_bound_e ::= frame_bound */ + { 276, -2 }, /* (300) frame_bound_e ::= UNBOUNDED FOLLOWING */ + { 274, -2 }, /* (301) frame_bound ::= expr PRECEDING */ + { 274, -2 }, /* (302) frame_bound ::= CURRENT ROW */ + { 274, -2 }, /* (303) frame_bound ::= expr FOLLOWING */ + { 218, -2 }, /* (304) window_clause ::= WINDOW windowdefn_list */ + { 237, -3 }, /* (305) over_clause ::= filter_opt OVER window */ + { 237, -3 }, /* (306) over_clause ::= filter_opt OVER nm */ + { 272, 0 }, /* (307) filter_opt ::= */ + { 272, -5 }, /* (308) filter_opt ::= FILTER LP WHERE expr RP */ + { 155, -1 }, /* (309) input ::= cmdlist */ + { 156, -2 }, /* (310) cmdlist ::= cmdlist ecmd */ + { 156, -1 }, /* (311) cmdlist ::= ecmd */ + { 157, -1 }, /* (312) ecmd ::= SEMI */ + { 157, -2 }, /* (313) ecmd ::= cmdx SEMI */ + { 157, -2 }, /* (314) ecmd ::= explain cmdx */ + { 162, 0 }, /* (315) trans_opt ::= */ + { 162, -1 }, /* (316) trans_opt ::= TRANSACTION */ + { 162, -2 }, /* (317) trans_opt ::= TRANSACTION nm */ + { 164, -1 }, /* (318) savepoint_opt ::= SAVEPOINT */ + { 164, 0 }, /* (319) savepoint_opt ::= */ + { 160, -2 }, /* (320) cmd ::= create_table create_table_args */ + { 171, -4 }, /* (321) columnlist ::= columnlist COMMA columnname carglist */ + { 171, -2 }, /* (322) columnlist ::= columnname carglist */ + { 163, -1 }, /* (323) nm ::= ID|INDEXED */ + { 163, -1 }, /* (324) nm ::= STRING */ + { 163, -1 }, /* (325) nm ::= JOIN_KW */ + { 177, -1 }, /* (326) typetoken ::= typename */ + { 178, -1 }, /* (327) typename ::= ID|STRING */ + { 179, -1 }, /* (328) signed ::= plus_num */ + { 179, -1 }, /* (329) signed ::= minus_num */ + { 176, -2 }, /* (330) carglist ::= carglist ccons */ + { 176, 0 }, /* (331) carglist ::= */ + { 183, -2 }, /* (332) ccons ::= NULL onconf */ + { 172, -2 }, /* (333) conslist_opt ::= COMMA conslist */ + { 195, -3 }, /* (334) conslist ::= conslist tconscomma tcons */ + { 195, -1 }, /* (335) conslist ::= tcons */ + { 196, 0 }, /* (336) tconscomma ::= */ + { 200, -1 }, /* (337) defer_subclause_opt ::= defer_subclause */ + { 202, -1 }, /* (338) resolvetype ::= raisetype */ + { 206, -1 }, /* (339) selectnowith ::= oneselect */ + { 207, -1 }, /* (340) oneselect ::= values */ + { 221, -2 }, /* (341) sclp ::= selcollist COMMA */ + { 222, -1 }, /* (342) as ::= ID|STRING */ + { 185, -1 }, /* (343) expr ::= term */ + { 238, -1 }, /* (344) likeop ::= LIKE_KW|MATCH */ + { 229, -1 }, /* (345) exprlist ::= nexprlist */ + { 247, -1 }, /* (346) nmnum ::= plus_num */ + { 247, -1 }, /* (347) nmnum ::= nm */ + { 247, -1 }, /* (348) nmnum ::= ON */ + { 247, -1 }, /* (349) nmnum ::= DELETE */ + { 247, -1 }, /* (350) nmnum ::= DEFAULT */ + { 180, -1 }, /* (351) plus_num ::= INTEGER|FLOAT */ + { 252, 0 }, /* (352) foreach_clause ::= */ + { 252, -3 }, /* (353) foreach_clause ::= FOR EACH ROW */ + { 255, -1 }, /* (354) trnm ::= nm */ + { 256, 0 }, /* (355) tridxby ::= */ + { 257, -1 }, /* (356) database_kw_opt ::= DATABASE */ + { 257, 0 }, /* (357) database_kw_opt ::= */ + { 260, 0 }, /* (358) kwcolumn_opt ::= */ + { 260, -1 }, /* (359) kwcolumn_opt ::= COLUMNKW */ + { 262, -1 }, /* (360) vtabarglist ::= vtabarg */ + { 262, -3 }, /* (361) vtabarglist ::= vtabarglist COMMA vtabarg */ + { 263, -2 }, /* (362) vtabarg ::= vtabarg vtabargtoken */ + { 266, 0 }, /* (363) anylist ::= */ + { 266, -4 }, /* (364) anylist ::= anylist LP anylist RP */ + { 266, -2 }, /* (365) anylist ::= anylist ANY */ + { 232, 0 }, /* (366) with ::= */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -140511,17 +149466,18 @@ static void yy_accept(yyParser*); /* Forward Declaration */ ** only called from one place, optimizing compilers will in-line it, which ** means that the extra parameters have no performance impact. */ -static void yy_reduce( +static YYACTIONTYPE yy_reduce( yyParser *yypParser, /* The parser */ unsigned int yyruleno, /* Number of the rule by which to reduce */ int yyLookahead, /* Lookahead token, or YYNOCODE if none */ sqlite3ParserTOKENTYPE yyLookaheadToken /* Value of the lookahead token */ + sqlite3ParserCTX_PDECL /* %extra_context */ ){ int yygoto; /* The next state */ - int yyact; /* The next action */ + YYACTIONTYPE yyact; /* The next action */ yyStackEntry *yymsp; /* The top of the parser's stack */ int yysize; /* Amount to pop the stack */ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH (void)yyLookahead; (void)yyLookaheadToken; yymsp = yypParser->yytos; @@ -140552,13 +149508,19 @@ static void yy_reduce( #if YYSTACKDEPTH>0 if( yypParser->yytos>=yypParser->yystackEnd ){ yyStackOverflow(yypParser); - return; + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; } #else if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ if( yyGrowStack(yypParser) ){ yyStackOverflow(yypParser); - return; + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; } yymsp = yypParser->yytos; } @@ -140586,15 +149548,15 @@ static void yy_reduce( { sqlite3FinishCoding(pParse); } break; case 3: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy70);} break; case 4: /* transtype ::= */ -{yymsp[1].minor.yy4 = TK_DEFERRED;} +{yymsp[1].minor.yy70 = TK_DEFERRED;} break; case 5: /* transtype ::= DEFERRED */ case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); -{yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-X*/} +{yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-X*/} break; case 8: /* cmd ::= COMMIT|END trans_opt */ case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); @@ -140617,7 +149579,7 @@ static void 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.yy4,0,0,yymsp[-2].minor.yy4); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy70,0,0,yymsp[-2].minor.yy70); } break; case 14: /* createkw ::= CREATE */ @@ -140630,34 +149592,34 @@ static void yy_reduce( case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); case 76: /* ifexists ::= */ yytestcase(yyruleno==76); - case 90: /* distinct ::= */ yytestcase(yyruleno==90); - case 213: /* collate ::= */ yytestcase(yyruleno==213); -{yymsp[1].minor.yy4 = 0;} + case 93: /* distinct ::= */ yytestcase(yyruleno==93); + case 226: /* collate ::= */ yytestcase(yyruleno==226); +{yymsp[1].minor.yy70 = 0;} break; case 16: /* ifnotexists ::= IF NOT EXISTS */ -{yymsp[-2].minor.yy4 = 1;} +{yymsp[-2].minor.yy70 = 1;} break; case 17: /* temp ::= TEMP */ case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); -{yymsp[0].minor.yy4 = 1;} +{yymsp[0].minor.yy70 = 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.yy4,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy70,0); } break; case 20: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy387); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy489); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy489); } 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.yy4 = TF_WithoutRowid | TF_NoVisibleRowid; + yymsp[-1].minor.yy70 = TF_WithoutRowid | TF_NoVisibleRowid; }else{ - yymsp[-1].minor.yy4 = 0; + yymsp[-1].minor.yy70 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } @@ -140667,7 +149629,7 @@ static void yy_reduce( break; case 24: /* typetoken ::= */ case 60: /* conslist_opt ::= */ yytestcase(yyruleno==60); - case 96: /* as ::= */ yytestcase(yyruleno==96); + case 99: /* as ::= */ yytestcase(yyruleno==99); {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;} break; case 25: /* typetoken ::= typename LP signed RP */ @@ -140686,7 +149648,7 @@ static void yy_reduce( case 28: /* scanpt ::= */ { assert( yyLookahead!=YYNOCODE ); - yymsp[1].minor.yy336 = yyLookaheadToken.z; + yymsp[1].minor.yy392 = yyLookaheadToken.z; } break; case 29: /* ccons ::= CONSTRAINT nm */ @@ -140694,170 +149656,195 @@ static void yy_reduce( {pParse->constraintName = yymsp[0].minor.yy0;} break; case 30: /* ccons ::= DEFAULT scanpt term scanpt */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy336,yymsp[0].minor.yy336);} +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy392,yymsp[0].minor.yy392);} break; case 31: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} break; case 32: /* ccons ::= DEFAULT PLUS term scanpt */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy336);} +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy392);} break; case 33: /* ccons ::= DEFAULT MINUS term scanpt */ { - Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy314, 0); - sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy336); + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy18, 0); + sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy392); } break; case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ { Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); - sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); + if( p ){ + sqlite3ExprIdToTrueFalse(p); + testcase( p->op==TK_TRUEFALSE && sqlite3ExprTruthValue(p) ); + } + 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.yy4);} +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy70);} break; case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].minor.yy4);} +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy70,yymsp[0].minor.yy70,yymsp[-2].minor.yy70);} break; case 37: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0, +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy70,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; case 38: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy314);} +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy18);} break; case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yymsp[0].minor.yy4);} +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy420,yymsp[0].minor.yy70);} break; case 40: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy70);} break; case 41: /* ccons ::= COLLATE ID|STRING */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; case 44: /* refargs ::= */ -{ yymsp[1].minor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} +{ yymsp[1].minor.yy70 = OE_None*0x0101; /* EV: R-19803-45884 */} break; case 45: /* refargs ::= refargs refarg */ -{ yymsp[-1].minor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0].minor.yy215.value; } +{ yymsp[-1].minor.yy70 = (yymsp[-1].minor.yy70 & ~yymsp[0].minor.yy111.mask) | yymsp[0].minor.yy111.value; } break; case 46: /* refarg ::= MATCH nm */ -{ yymsp[-1].minor.yy215.value = 0; yymsp[-1].minor.yy215.mask = 0x000000; } +{ yymsp[-1].minor.yy111.value = 0; yymsp[-1].minor.yy111.mask = 0x000000; } break; case 47: /* refarg ::= ON INSERT refact */ -{ yymsp[-2].minor.yy215.value = 0; yymsp[-2].minor.yy215.mask = 0x000000; } +{ yymsp[-2].minor.yy111.value = 0; yymsp[-2].minor.yy111.mask = 0x000000; } break; case 48: /* refarg ::= ON DELETE refact */ -{ yymsp[-2].minor.yy215.value = yymsp[0].minor.yy4; yymsp[-2].minor.yy215.mask = 0x0000ff; } +{ yymsp[-2].minor.yy111.value = yymsp[0].minor.yy70; yymsp[-2].minor.yy111.mask = 0x0000ff; } break; case 49: /* refarg ::= ON UPDATE refact */ -{ yymsp[-2].minor.yy215.value = yymsp[0].minor.yy4<<8; yymsp[-2].minor.yy215.mask = 0x00ff00; } +{ yymsp[-2].minor.yy111.value = yymsp[0].minor.yy70<<8; yymsp[-2].minor.yy111.mask = 0x00ff00; } break; case 50: /* refact ::= SET NULL */ -{ yymsp[-1].minor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy70 = OE_SetNull; /* EV: R-33326-45252 */} break; case 51: /* refact ::= SET DEFAULT */ -{ yymsp[-1].minor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy70 = OE_SetDflt; /* EV: R-33326-45252 */} break; case 52: /* refact ::= CASCADE */ -{ yymsp[0].minor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy70 = OE_Cascade; /* EV: R-33326-45252 */} break; case 53: /* refact ::= RESTRICT */ -{ yymsp[0].minor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy70 = OE_Restrict; /* EV: R-33326-45252 */} break; case 54: /* refact ::= NO ACTION */ -{ yymsp[-1].minor.yy4 = OE_None; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy70 = OE_None; /* EV: R-33326-45252 */} break; case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ -{yymsp[-2].minor.yy4 = 0;} +{yymsp[-2].minor.yy70 = 0;} break; case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); - case 144: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==144); -{yymsp[-1].minor.yy4 = yymsp[0].minor.yy4;} + case 156: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==156); +{yymsp[-1].minor.yy70 = yymsp[0].minor.yy70;} break; case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); - case 185: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==185); - case 188: /* in_op ::= NOT IN */ yytestcase(yyruleno==188); - case 214: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==214); -{yymsp[-1].minor.yy4 = 1;} + 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;} break; case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ -{yymsp[-1].minor.yy4 = 0;} +{yymsp[-1].minor.yy70 = 0;} break; case 61: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].minor.yy4,0);} +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy420,yymsp[0].minor.yy70,yymsp[-2].minor.yy70,0);} break; case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,0, +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy420,yymsp[0].minor.yy70,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; case 65: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy314);} +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy18);} break; case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy420, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy420, yymsp[-1].minor.yy70); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy70); } break; case 68: /* onconf ::= */ case 70: /* orconf ::= */ yytestcase(yyruleno==70); -{yymsp[1].minor.yy4 = OE_Default;} +{yymsp[1].minor.yy70 = OE_Default;} break; case 69: /* onconf ::= ON CONFLICT resolvetype */ -{yymsp[-2].minor.yy4 = yymsp[0].minor.yy4;} +{yymsp[-2].minor.yy70 = yymsp[0].minor.yy70;} break; case 72: /* resolvetype ::= IGNORE */ -{yymsp[0].minor.yy4 = OE_Ignore;} +{yymsp[0].minor.yy70 = OE_Ignore;} break; case 73: /* resolvetype ::= REPLACE */ - case 145: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==145); -{yymsp[0].minor.yy4 = OE_Replace;} + case 157: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==157); +{yymsp[0].minor.yy70 = OE_Replace;} break; case 74: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); + sqlite3DropTable(pParse, yymsp[0].minor.yy135, 0, yymsp[-1].minor.yy70); } break; case 77: /* 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.yy322, yymsp[0].minor.yy387, yymsp[-7].minor.yy4, yymsp[-5].minor.yy4); + 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); } break; case 78: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); + sqlite3DropTable(pParse, yymsp[0].minor.yy135, 1, yymsp[-1].minor.yy70); } break; case 79: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); + sqlite3Select(pParse, yymsp[0].minor.yy489, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy489); } break; - case 80: /* select ::= with selectnowith */ + case 80: /* select ::= WITH wqlist selectnowith */ { - Select *p = yymsp[0].minor.yy387; + Select *p = yymsp[0].minor.yy489; if( p ){ - p->pWith = yymsp[-1].minor.yy451; + p->pWith = yymsp[-1].minor.yy449; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy451); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy449); + } + yymsp[-2].minor.yy489 = p; +} + break; + case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ +{ + Select *p = yymsp[0].minor.yy489; + if( p ){ + p->pWith = yymsp[-1].minor.yy449; + parserDoubleLinkSelect(pParse, p); + }else{ + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy449); + } + yymsp[-3].minor.yy489 = p; +} + break; + case 82: /* select ::= selectnowith */ +{ + Select *p = yymsp[0].minor.yy489; + if( p ){ + parserDoubleLinkSelect(pParse, p); } - yymsp[-1].minor.yy387 = p; /*A-overwrites-W*/ + yymsp[0].minor.yy489 = p; /*A-overwrites-X*/ } break; - case 81: /* selectnowith ::= selectnowith multiselect_op oneselect */ + case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ { - Select *pRhs = yymsp[0].minor.yy387; - Select *pLhs = yymsp[-2].minor.yy387; + Select *pRhs = yymsp[0].minor.yy489; + Select *pLhs = yymsp[-2].minor.yy489; if( pRhs && pRhs->pPrior ){ SrcList *pFrom; Token x; @@ -140867,354 +149854,382 @@ static void yy_reduce( pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); } if( pRhs ){ - pRhs->op = (u8)yymsp[-1].minor.yy4; + pRhs->op = (u8)yymsp[-1].minor.yy70; pRhs->pPrior = pLhs; if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; pRhs->selFlags &= ~SF_MultiValue; - if( yymsp[-1].minor.yy4!=TK_ALL ) pParse->hasCompound = 1; + if( yymsp[-1].minor.yy70!=TK_ALL ) pParse->hasCompound = 1; }else{ sqlite3SelectDelete(pParse->db, pLhs); } - yymsp[-2].minor.yy387 = pRhs; + yymsp[-2].minor.yy489 = pRhs; } break; - case 82: /* multiselect_op ::= UNION */ - case 84: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==84); -{yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-OP*/} + case 84: /* multiselect_op ::= UNION */ + case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); +{yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-OP*/} break; - case 83: /* multiselect_op ::= UNION ALL */ -{yymsp[-1].minor.yy4 = TK_ALL;} + case 85: /* multiselect_op ::= UNION ALL */ +{yymsp[-1].minor.yy70 = TK_ALL;} break; - case 85: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ + case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { -#if SELECTTRACE_ENABLED - Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/ -#endif - yymsp[-8].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy314); -#if SELECTTRACE_ENABLED - /* Populate the Select.zSelName[] string that is used to help with - ** query planner debugging, to differentiate between multiple Select - ** objects in a complex query. - ** - ** If the SELECT keyword is immediately followed by a C-style comment - ** then extract the first few alphanumeric characters from within that - ** comment to be the zSelName value. Otherwise, the label is #N where - ** is an integer that is incremented with each SELECT statement seen. - */ - if( yymsp[-8].minor.yy387!=0 ){ - const char *z = s.z+6; - int i; - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy387->zSelName), yymsp[-8].minor.yy387->zSelName, "#%d", - ++pParse->nSelect); - while( z[0]==' ' ) z++; - if( z[0]=='/' && z[1]=='*' ){ - z += 2; - while( z[0]==' ' ) z++; - for(i=0; sqlite3Isalnum(z[i]); i++){} - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy387->zSelName), yymsp[-8].minor.yy387->zSelName, "%.*s", i, z); - } + 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); +} + break; + case 88: /* 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; + }else{ + sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy327); } -#endif /* SELECTRACE_ENABLED */ } break; - case 86: /* values ::= VALUES LP nexprlist RP */ + case 89: /* values ::= VALUES LP nexprlist RP */ { - yymsp[-3].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values,0); + yymsp[-3].minor.yy489 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy420,0,0,0,0,0,SF_Values,0); } break; - case 87: /* values ::= values COMMA LP exprlist RP */ + case 90: /* values ::= values COMMA LP nexprlist RP */ { - Select *pRight, *pLeft = yymsp[-4].minor.yy387; - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values|SF_MultiValue,0); + Select *pRight, *pLeft = yymsp[-4].minor.yy489; + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy420,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.yy387 = pRight; + yymsp[-4].minor.yy489 = pRight; }else{ - yymsp[-4].minor.yy387 = pLeft; + yymsp[-4].minor.yy489 = pLeft; } } break; - case 88: /* distinct ::= DISTINCT */ -{yymsp[0].minor.yy4 = SF_Distinct;} + case 91: /* distinct ::= DISTINCT */ +{yymsp[0].minor.yy70 = SF_Distinct;} break; - case 89: /* distinct ::= ALL */ -{yymsp[0].minor.yy4 = SF_All;} + case 92: /* distinct ::= ALL */ +{yymsp[0].minor.yy70 = SF_All;} break; - case 91: /* sclp ::= */ - case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); - case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); - case 201: /* exprlist ::= */ yytestcase(yyruleno==201); - case 204: /* paren_exprlist ::= */ yytestcase(yyruleno==204); - case 209: /* eidlist_opt ::= */ yytestcase(yyruleno==209); -{yymsp[1].minor.yy322 = 0;} + 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;} break; - case 92: /* selcollist ::= sclp scanpt expr scanpt as */ + case 95: /* selcollist ::= sclp scanpt expr scanpt as */ { - yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy322,yymsp[-3].minor.yy336,yymsp[-1].minor.yy336); + 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); } break; - case 93: /* selcollist ::= sclp scanpt STAR */ + case 96: /* selcollist ::= sclp scanpt STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); - yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, p); + yymsp[-2].minor.yy420 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy420, p); } break; - case 94: /* selcollist ::= sclp scanpt nm DOT STAR */ + case 97: /* 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.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, pDot); + yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy420, pDot); } break; - case 95: /* as ::= AS nm */ - case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); - case 223: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==223); - case 224: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==224); + 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); {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} break; - case 97: /* from ::= */ -{yymsp[1].minor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy259));} + case 100: /* from ::= */ +{yymsp[1].minor.yy135 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy135));} break; - case 98: /* from ::= FROM seltablist */ + case 101: /* from ::= FROM seltablist */ { - yymsp[-1].minor.yy259 = yymsp[0].minor.yy259; - sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy259); + yymsp[-1].minor.yy135 = yymsp[0].minor.yy135; + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy135); } break; - case 99: /* stl_prefix ::= seltablist joinop */ + case 102: /* stl_prefix ::= seltablist joinop */ { - if( ALWAYS(yymsp[-1].minor.yy259 && yymsp[-1].minor.yy259->nSrc>0) ) yymsp[-1].minor.yy259->a[yymsp[-1].minor.yy259->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy4; + 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; } break; - case 100: /* stl_prefix ::= */ -{yymsp[1].minor.yy259 = 0;} + case 103: /* stl_prefix ::= */ +{yymsp[1].minor.yy135 = 0;} break; - case 101: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ + case 104: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy259, &yymsp[-2].minor.yy0); + 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); } break; - case 102: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ + case 105: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ { - yymsp[-8].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy259,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy259, yymsp[-4].minor.yy322); + 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); } break; - case 103: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ + case 106: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + 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); } break; - case 104: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ + case 107: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ - yymsp[-6].minor.yy259 = yymsp[-4].minor.yy259; - }else if( yymsp[-4].minor.yy259->nSrc==1 ){ - yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - if( yymsp[-6].minor.yy259 ){ - struct SrcList_item *pNew = &yymsp[-6].minor.yy259->a[yymsp[-6].minor.yy259->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy259->a; + 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; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy259); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy135); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,SF_NestedFrom,0); - yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + 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); } } break; - case 105: /* dbnm ::= */ - case 114: /* indexed_opt ::= */ yytestcase(yyruleno==114); + case 108: /* dbnm ::= */ + case 122: /* indexed_opt ::= */ yytestcase(yyruleno==122); {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} break; - case 107: /* fullname ::= nm dbnm */ -{yymsp[-1].minor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} + case 110: /* 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); +} + yymsp[0].minor.yy135 = yylhsminor.yy135; + break; + case 111: /* 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); +} + yymsp[-2].minor.yy135 = yylhsminor.yy135; + break; + case 112: /* xfullname ::= nm */ +{yymsp[0].minor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} break; - case 108: /* joinop ::= COMMA|JOIN */ -{ yymsp[0].minor.yy4 = JT_INNER; } + 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*/} break; - case 109: /* joinop ::= JOIN_KW JOIN */ -{yymsp[-1].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} + case 114: /* 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); +} + break; + case 115: /* 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); +} + break; + case 116: /* joinop ::= COMMA|JOIN */ +{ yymsp[0].minor.yy70 = JT_INNER; } break; - case 110: /* joinop ::= JOIN_KW nm JOIN */ -{yymsp[-2].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} + case 117: /* joinop ::= JOIN_KW JOIN */ +{yymsp[-1].minor.yy70 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} break; - case 111: /* joinop ::= JOIN_KW nm nm JOIN */ -{yymsp[-3].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} + 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*/} break; - case 112: /* on_opt ::= ON expr */ - case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); - case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); - case 197: /* case_else ::= ELSE expr */ yytestcase(yyruleno==197); -{yymsp[-1].minor.yy314 = yymsp[0].minor.yy314;} + 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*/} break; - case 113: /* on_opt ::= */ - case 128: /* having_opt ::= */ yytestcase(yyruleno==128); - case 130: /* limit_opt ::= */ yytestcase(yyruleno==130); - case 135: /* where_opt ::= */ yytestcase(yyruleno==135); - case 198: /* case_else ::= */ yytestcase(yyruleno==198); - case 200: /* case_operand ::= */ yytestcase(yyruleno==200); -{yymsp[1].minor.yy314 = 0;} + 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;} break; - case 115: /* indexed_opt ::= INDEXED BY nm */ + 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;} + break; + case 123: /* indexed_opt ::= INDEXED BY nm */ {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} break; - case 116: /* indexed_opt ::= NOT INDEXED */ + case 124: /* indexed_opt ::= NOT INDEXED */ {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} break; - case 117: /* using_opt ::= USING LP idlist RP */ -{yymsp[-3].minor.yy384 = yymsp[-1].minor.yy384;} + case 125: /* using_opt ::= USING LP idlist RP */ +{yymsp[-3].minor.yy48 = yymsp[-1].minor.yy48;} break; - case 118: /* using_opt ::= */ - case 146: /* idlist_opt ::= */ yytestcase(yyruleno==146); -{yymsp[1].minor.yy384 = 0;} + case 126: /* using_opt ::= */ + case 158: /* idlist_opt ::= */ yytestcase(yyruleno==158); +{yymsp[1].minor.yy48 = 0;} break; - case 120: /* orderby_opt ::= ORDER BY sortlist */ - case 127: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==127); -{yymsp[-2].minor.yy322 = yymsp[0].minor.yy322;} + 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;} break; - case 121: /* sortlist ::= sortlist COMMA expr sortorder */ + case 129: /* sortlist ::= sortlist COMMA expr sortorder */ { - yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy314); - sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy322,yymsp[0].minor.yy4); + yymsp[-3].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy420,yymsp[-1].minor.yy18); + sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy420,yymsp[0].minor.yy70); } break; - case 122: /* sortlist ::= expr sortorder */ + case 130: /* sortlist ::= expr sortorder */ { - yymsp[-1].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy314); /*A-overwrites-Y*/ - sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy322,yymsp[0].minor.yy4); + yymsp[-1].minor.yy420 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy18); /*A-overwrites-Y*/ + sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy420,yymsp[0].minor.yy70); } break; - case 123: /* sortorder ::= ASC */ -{yymsp[0].minor.yy4 = SQLITE_SO_ASC;} + case 131: /* sortorder ::= ASC */ +{yymsp[0].minor.yy70 = SQLITE_SO_ASC;} break; - case 124: /* sortorder ::= DESC */ -{yymsp[0].minor.yy4 = SQLITE_SO_DESC;} + case 132: /* sortorder ::= DESC */ +{yymsp[0].minor.yy70 = SQLITE_SO_DESC;} break; - case 125: /* sortorder ::= */ -{yymsp[1].minor.yy4 = SQLITE_SO_UNDEFINED;} + case 133: /* sortorder ::= */ +{yymsp[1].minor.yy70 = SQLITE_SO_UNDEFINED;} break; - case 131: /* limit_opt ::= LIMIT expr */ -{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,0);} + case 139: /* limit_opt ::= LIMIT expr */ +{yymsp[-1].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy18,0);} break; - case 132: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} + case 140: /* limit_opt ::= LIMIT expr OFFSET expr */ +{yymsp[-3].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy18,yymsp[0].minor.yy18);} break; - case 133: /* limit_opt ::= LIMIT expr COMMA expr */ -{yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,yymsp[-2].minor.yy314);} + case 141: /* limit_opt ::= LIMIT expr COMMA expr */ +{yymsp[-3].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy18,yymsp[-2].minor.yy18);} break; - case 134: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ + case 142: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314,0,0); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy135, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy135,yymsp[0].minor.yy18,0,0); } break; - case 137: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ + case 145: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ { - sqlite3WithPush(pParse, yymsp[-7].minor.yy451, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy4,0,0); + 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); } break; - case 138: /* setlist ::= setlist COMMA nm EQ expr */ + case 146: /* setlist ::= setlist COMMA nm EQ expr */ { - yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy314); - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, 1); + 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); } break; - case 139: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ + case 147: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ { - yymsp[-6].minor.yy322 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy322, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); + yymsp[-6].minor.yy420 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy420, yymsp[-3].minor.yy48, yymsp[0].minor.yy18); } break; - case 140: /* setlist ::= nm EQ expr */ + case 148: /* setlist ::= nm EQ expr */ { - yylhsminor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy314); - sqlite3ExprListSetName(pParse, yylhsminor.yy322, &yymsp[-2].minor.yy0, 1); + yylhsminor.yy420 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy18); + sqlite3ExprListSetName(pParse, yylhsminor.yy420, &yymsp[-2].minor.yy0, 1); } - yymsp[-2].minor.yy322 = yylhsminor.yy322; + yymsp[-2].minor.yy420 = yylhsminor.yy420; break; - case 141: /* setlist ::= LP idlist RP EQ expr */ + case 149: /* setlist ::= LP idlist RP EQ expr */ { - yymsp[-4].minor.yy322 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); + yymsp[-4].minor.yy420 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy48, yymsp[0].minor.yy18); } break; - case 142: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ + case 150: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); - sqlite3Insert(pParse, yymsp[-2].minor.yy259, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy4); + sqlite3Insert(pParse, yymsp[-3].minor.yy135, yymsp[-1].minor.yy489, yymsp[-2].minor.yy48, yymsp[-5].minor.yy70, yymsp[0].minor.yy340); } break; - case 143: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ + case 151: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ { - sqlite3WithPush(pParse, yymsp[-6].minor.yy451, 1); - sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy4); + sqlite3Insert(pParse, yymsp[-3].minor.yy135, 0, yymsp[-2].minor.yy48, yymsp[-5].minor.yy70, 0); } break; - case 147: /* idlist_opt ::= LP idlist RP */ -{yymsp[-2].minor.yy384 = yymsp[-1].minor.yy384;} + case 152: /* upsert ::= */ +{ yymsp[1].minor.yy340 = 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);} + 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); } + break; + case 155: /* upsert ::= ON CONFLICT DO NOTHING */ +{ yymsp[-3].minor.yy340 = sqlite3UpsertNew(pParse->db,0,0,0,0); } + break; + case 159: /* idlist_opt ::= LP idlist RP */ +{yymsp[-2].minor.yy48 = yymsp[-1].minor.yy48;} break; - case 148: /* idlist ::= idlist COMMA nm */ -{yymsp[-2].minor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} + case 160: /* idlist ::= idlist COMMA nm */ +{yymsp[-2].minor.yy48 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy48,&yymsp[0].minor.yy0);} break; - case 149: /* idlist ::= nm */ -{yymsp[0].minor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} + case 161: /* idlist ::= nm */ +{yymsp[0].minor.yy48 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} break; - case 150: /* expr ::= LP expr RP */ -{yymsp[-2].minor.yy314 = yymsp[-1].minor.yy314;} + case 162: /* expr ::= LP expr RP */ +{yymsp[-2].minor.yy18 = yymsp[-1].minor.yy18;} break; - case 151: /* expr ::= ID|INDEXED */ - case 152: /* expr ::= JOIN_KW */ yytestcase(yyruleno==152); -{yymsp[0].minor.yy314=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} + 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*/} break; - case 153: /* expr ::= nm DOT nm */ + case 165: /* 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); - yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[0].minor.yy0); + sqlite3RenameTokenMap(pParse, (void*)temp1, &yymsp[-2].minor.yy0); + } + yylhsminor.yy18 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); } - yymsp[-2].minor.yy314 = yylhsminor.yy314; + yymsp[-2].minor.yy18 = yylhsminor.yy18; break; - case 154: /* expr ::= nm DOT nm DOT nm */ + case 166: /* 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); Expr *temp3 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); - yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenMap(pParse, (void*)temp3, &yymsp[0].minor.yy0); + sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[-2].minor.yy0); + } + yylhsminor.yy18 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); } - yymsp[-4].minor.yy314 = yylhsminor.yy314; + yymsp[-4].minor.yy18 = yylhsminor.yy18; break; - case 155: /* term ::= NULL|FLOAT|BLOB */ - case 156: /* term ::= STRING */ yytestcase(yyruleno==156); -{yymsp[0].minor.yy314=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} + 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*/} break; - case 157: /* term ::= INTEGER */ + case 169: /* term ::= INTEGER */ { - yylhsminor.yy314 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); + yylhsminor.yy18 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); } - yymsp[0].minor.yy314 = yylhsminor.yy314; + yymsp[0].minor.yy18 = yylhsminor.yy18; break; - case 158: /* expr ::= VARIABLE */ + case 170: /* 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.yy314 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy314, n); + yymsp[0].minor.yy18 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy18, 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 @@ -141223,146 +150238,154 @@ static void yy_reduce( assert( t.n>=2 ); if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); - yymsp[0].minor.yy314 = 0; + yymsp[0].minor.yy18 = 0; }else{ - yymsp[0].minor.yy314 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); - if( yymsp[0].minor.yy314 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy314->iTable); + yymsp[0].minor.yy18 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); + if( yymsp[0].minor.yy18 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy18->iTable); } } } break; - case 159: /* expr ::= expr COLLATE ID|STRING */ + case 171: /* expr ::= expr COLLATE ID|STRING */ { - yymsp[-2].minor.yy314 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy314, &yymsp[0].minor.yy0, 1); + yymsp[-2].minor.yy18 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy18, &yymsp[0].minor.yy0, 1); } break; - case 160: /* expr ::= CAST LP expr AS typetoken RP */ + case 172: /* expr ::= CAST LP expr AS typetoken RP */ { - yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); - sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy314, yymsp[-3].minor.yy314, 0); + 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); } break; - case 161: /* expr ::= ID|INDEXED LP distinct exprlist RP */ + case 173: /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ - sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); - } - yylhsminor.yy314 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); - if( yymsp[-2].minor.yy4==SF_Distinct && yylhsminor.yy314 ){ - yylhsminor.yy314->flags |= EP_Distinct; - } + yylhsminor.yy18 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy420, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy70); +} + yymsp[-4].minor.yy18 = yylhsminor.yy18; + break; + case 174: /* expr ::= ID|INDEXED LP STAR RP */ +{ + yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); +} + yymsp[-3].minor.yy18 = yylhsminor.yy18; + break; + case 175: /* expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ +{ + yylhsminor.yy18 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy420, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy70); + sqlite3WindowAttach(pParse, yylhsminor.yy18, yymsp[0].minor.yy327); } - yymsp[-4].minor.yy314 = yylhsminor.yy314; + yymsp[-5].minor.yy18 = yylhsminor.yy18; break; - case 162: /* expr ::= ID|INDEXED LP STAR RP */ + case 176: /* expr ::= ID|INDEXED LP STAR RP over_clause */ { - yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); + yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); + sqlite3WindowAttach(pParse, yylhsminor.yy18, yymsp[0].minor.yy327); } - yymsp[-3].minor.yy314 = yylhsminor.yy314; + yymsp[-4].minor.yy18 = yylhsminor.yy18; break; - case 163: /* term ::= CTIME_KW */ + case 177: /* term ::= CTIME_KW */ { - yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); + yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); } - yymsp[0].minor.yy314 = yylhsminor.yy314; + yymsp[0].minor.yy18 = yylhsminor.yy18; break; - case 164: /* expr ::= LP nexprlist COMMA expr RP */ + case 178: /* expr ::= LP nexprlist COMMA expr RP */ { - ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy322, yymsp[-1].minor.yy314); - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); - if( yymsp[-4].minor.yy314 ){ - yymsp[-4].minor.yy314->x.pList = pList; + 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; }else{ sqlite3ExprListDelete(pParse->db, pList); } } break; - case 165: /* expr ::= expr AND expr */ - case 166: /* expr ::= expr OR expr */ yytestcase(yyruleno==166); - case 167: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==167); - case 168: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==168); - case 169: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==169); - case 170: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==170); - case 171: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==171); - case 172: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==172); -{yymsp[-2].minor.yy314=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} + 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);} break; - case 173: /* likeop ::= NOT LIKE_KW|MATCH */ + case 187: /* 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 174: /* expr ::= expr likeop expr */ + case 188: /* 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.yy314); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy314); - yymsp[-2].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); - if( bNot ) yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy314, 0); - if( yymsp[-2].minor.yy314 ) yymsp[-2].minor.yy314->flags |= EP_InfixFunc; + 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; } break; - case 175: /* expr ::= expr likeop expr ESCAPE expr */ + case 189: /* 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.yy314); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy314); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314); - yymsp[-4].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); - if( bNot ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); - if( yymsp[-4].minor.yy314 ) yymsp[-4].minor.yy314->flags |= EP_InfixFunc; + 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; } break; - case 176: /* expr ::= expr ISNULL|NOTNULL */ -{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy314,0);} + case 190: /* expr ::= expr ISNULL|NOTNULL */ +{yymsp[-1].minor.yy18 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy18,0);} break; - case 177: /* expr ::= expr NOT NULL */ -{yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy314,0);} + case 191: /* expr ::= expr NOT NULL */ +{yymsp[-2].minor.yy18 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy18,0);} break; - case 178: /* expr ::= expr IS expr */ + case 192: /* expr ::= expr IS expr */ { - yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy314,yymsp[0].minor.yy314); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-2].minor.yy314, TK_ISNULL); + 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); } break; - case 179: /* expr ::= expr IS NOT expr */ + case 193: /* expr ::= expr IS NOT expr */ { - yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy314,yymsp[0].minor.yy314); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-3].minor.yy314, TK_NOTNULL); + 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); } break; - case 180: /* expr ::= NOT expr */ - case 181: /* expr ::= BITNOT expr */ yytestcase(yyruleno==181); -{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy314, 0);/*A-overwrites-B*/} - break; - case 182: /* expr ::= MINUS expr */ -{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy314, 0);} + 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*/} break; - case 183: /* expr ::= PLUS expr */ -{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UPLUS, yymsp[0].minor.yy314, 0);} + case 196: /* expr ::= PLUS|MINUS expr */ +{ + yymsp[-1].minor.yy18 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy18, 0); + /*A-overwrites-B*/ +} break; - case 184: /* between_op ::= BETWEEN */ - case 187: /* in_op ::= IN */ yytestcase(yyruleno==187); -{yymsp[0].minor.yy4 = 0;} + case 197: /* between_op ::= BETWEEN */ + case 200: /* in_op ::= IN */ yytestcase(yyruleno==200); +{yymsp[0].minor.yy70 = 0;} break; - case 186: /* expr ::= expr between_op expr AND expr */ + case 199: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314); - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy314, 0); - if( yymsp[-4].minor.yy314 ){ - yymsp[-4].minor.yy314->x.pList = pList; + 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; }else{ sqlite3ExprListDelete(pParse->db, pList); } - if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); + if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); } break; - case 189: /* expr ::= expr in_op LP exprlist RP */ + case 202: /* expr ::= expr in_op LP exprlist RP */ { - if( yymsp[-1].minor.yy322==0 ){ + if( yymsp[-1].minor.yy420==0 ){ /* Expressions of the form ** ** expr1 IN () @@ -141371,9 +150394,9 @@ static void yy_reduce( ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy314); - yymsp[-4].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy4],1); - }else if( yymsp[-1].minor.yy322->nExpr==1 ){ + 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) @@ -141390,195 +150413,199 @@ static void yy_reduce( ** 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.yy322->a[0].pExpr; - yymsp[-1].minor.yy322->a[0].pExpr = 0; - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + 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.yy314 = sqlite3PExpr(pParse, yymsp[-3].minor.yy4 ? TK_NE : TK_EQ, yymsp[-4].minor.yy314, pRHS); + yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, yymsp[-3].minor.yy70 ? TK_NE : TK_EQ, yymsp[-4].minor.yy18, pRHS); }else{ - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); - if( yymsp[-4].minor.yy314 ){ - yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy322; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy314); + 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); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy420); } - if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); + if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); } } break; - case 190: /* expr ::= LP select RP */ + case 203: /* expr ::= LP select RP */ { - yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy314, yymsp[-1].minor.yy387); + yymsp[-2].minor.yy18 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy18, yymsp[-1].minor.yy489); } break; - case 191: /* expr ::= expr in_op LP select RP */ + case 204: /* expr ::= expr in_op LP select RP */ { - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, yymsp[-1].minor.yy387); - if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); + 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); } break; - case 192: /* expr ::= expr in_op nm dbnm paren_exprlist */ + case 205: /* expr ::= expr in_op nm dbnm paren_exprlist */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 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.yy322 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy322); - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, pSelect); - if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 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); } break; - case 193: /* expr ::= EXISTS LP select RP */ + case 206: /* expr ::= EXISTS LP select RP */ { Expr *p; - p = yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy387); + p = yymsp[-3].minor.yy18 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy489); } break; - case 194: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 207: /* expr ::= CASE case_operand case_exprlist case_else END */ { - yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, 0); - if( yymsp[-4].minor.yy314 ){ - yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy314) : yymsp[-2].minor.yy322; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy314); + 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); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy314); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy420); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy18); } } break; - case 195: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 208: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); - yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[0].minor.yy314); + 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); } break; - case 196: /* case_exprlist ::= WHEN expr THEN expr */ + case 209: /* case_exprlist ::= WHEN expr THEN expr */ { - yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); - yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, yymsp[0].minor.yy314); + 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); } break; - case 199: /* case_operand ::= expr */ -{yymsp[0].minor.yy314 = yymsp[0].minor.yy314; /*A-overwrites-X*/} + case 212: /* case_operand ::= expr */ +{yymsp[0].minor.yy18 = yymsp[0].minor.yy18; /*A-overwrites-X*/} break; - case 202: /* nexprlist ::= nexprlist COMMA expr */ -{yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy314);} + case 215: /* nexprlist ::= nexprlist COMMA expr */ +{yymsp[-2].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy420,yymsp[0].minor.yy18);} break; - case 203: /* nexprlist ::= expr */ -{yymsp[0].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy314); /*A-overwrites-Y*/} + case 216: /* nexprlist ::= expr */ +{yymsp[0].minor.yy420 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy18); /*A-overwrites-Y*/} break; - case 205: /* paren_exprlist ::= LP exprlist RP */ - case 210: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==210); -{yymsp[-2].minor.yy322 = yymsp[-1].minor.yy322;} + 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;} break; - case 206: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + case 219: /* 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.yy322, yymsp[-10].minor.yy4, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy314, SQLITE_SO_ASC, yymsp[-8].minor.yy4, SQLITE_IDXTYPE_APPDEF); + 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); + if( IN_RENAME_OBJECT && pParse->pNewIndex ){ + sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); + } } break; - case 207: /* uniqueflag ::= UNIQUE */ - case 247: /* raisetype ::= ABORT */ yytestcase(yyruleno==247); -{yymsp[0].minor.yy4 = OE_Abort;} + case 220: /* uniqueflag ::= UNIQUE */ + case 260: /* raisetype ::= ABORT */ yytestcase(yyruleno==260); +{yymsp[0].minor.yy70 = OE_Abort;} break; - case 208: /* uniqueflag ::= */ -{yymsp[1].minor.yy4 = OE_None;} + case 221: /* uniqueflag ::= */ +{yymsp[1].minor.yy70 = OE_None;} break; - case 211: /* eidlist ::= eidlist COMMA nm collate sortorder */ + case 224: /* eidlist ::= eidlist COMMA nm collate sortorder */ { - yymsp[-4].minor.yy322 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); + yymsp[-4].minor.yy420 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy420, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy70, yymsp[0].minor.yy70); } break; - case 212: /* eidlist ::= nm collate sortorder */ + case 225: /* eidlist ::= nm collate sortorder */ { - yymsp[-2].minor.yy322 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); /*A-overwrites-Y*/ + yymsp[-2].minor.yy420 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy70, yymsp[0].minor.yy70); /*A-overwrites-Y*/ } break; - case 215: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} + case 228: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy135, yymsp[-1].minor.yy70);} break; - case 216: /* cmd ::= VACUUM */ + case 229: /* cmd ::= VACUUM */ {sqlite3Vacuum(pParse,0);} break; - case 217: /* cmd ::= VACUUM nm */ + case 230: /* cmd ::= VACUUM nm */ {sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} break; - case 218: /* cmd ::= PRAGMA nm dbnm */ + case 231: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 219: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 232: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 220: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 233: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 221: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 234: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 222: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 235: /* 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 225: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 238: /* 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.yy203, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy207, &all); } break; - case 226: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 239: /* 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.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); + 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); yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ } break; - case 227: /* trigger_time ::= BEFORE|AFTER */ -{ yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-X*/ } + case 240: /* trigger_time ::= BEFORE|AFTER */ +{ yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-X*/ } break; - case 228: /* trigger_time ::= INSTEAD OF */ -{ yymsp[-1].minor.yy4 = TK_INSTEAD;} + case 241: /* trigger_time ::= INSTEAD OF */ +{ yymsp[-1].minor.yy70 = TK_INSTEAD;} break; - case 229: /* trigger_time ::= */ -{ yymsp[1].minor.yy4 = TK_BEFORE; } + case 242: /* trigger_time ::= */ +{ yymsp[1].minor.yy70 = TK_BEFORE; } break; - case 230: /* trigger_event ::= DELETE|INSERT */ - case 231: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==231); -{yymsp[0].minor.yy90.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy90.b = 0;} + 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;} break; - case 232: /* trigger_event ::= UPDATE OF idlist */ -{yymsp[-2].minor.yy90.a = TK_UPDATE; yymsp[-2].minor.yy90.b = yymsp[0].minor.yy384;} + case 245: /* trigger_event ::= UPDATE OF idlist */ +{yymsp[-2].minor.yy34.a = TK_UPDATE; yymsp[-2].minor.yy34.b = yymsp[0].minor.yy48;} break; - case 233: /* when_clause ::= */ - case 252: /* key_opt ::= */ yytestcase(yyruleno==252); -{ yymsp[1].minor.yy314 = 0; } + case 246: /* when_clause ::= */ + case 265: /* key_opt ::= */ yytestcase(yyruleno==265); + case 307: /* filter_opt ::= */ yytestcase(yyruleno==307); +{ yymsp[1].minor.yy18 = 0; } break; - case 234: /* when_clause ::= WHEN expr */ - case 253: /* key_opt ::= KEY expr */ yytestcase(yyruleno==253); -{ yymsp[-1].minor.yy314 = yymsp[0].minor.yy314; } + case 247: /* when_clause ::= WHEN expr */ + case 266: /* key_opt ::= KEY expr */ yytestcase(yyruleno==266); +{ yymsp[-1].minor.yy18 = yymsp[0].minor.yy18; } break; - case 235: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 248: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy203!=0 ); - yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; - yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; + 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; } break; - case 236: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 249: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy203!=0 ); - yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; + assert( yymsp[-1].minor.yy207!=0 ); + yymsp[-1].minor.yy207->pLast = yymsp[-1].minor.yy207; } break; - case 237: /* trnm ::= nm DOT nm */ + case 250: /* trnm ::= nm DOT nm */ { yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, @@ -141586,198 +150613,306 @@ static void yy_reduce( "statements within triggers"); } break; - case 238: /* tridxby ::= INDEXED BY nm */ + case 251: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 239: /* tridxby ::= NOT INDEXED */ + case 252: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 240: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ -{yylhsminor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy314, yymsp[-6].minor.yy4, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy336);} - yymsp[-7].minor.yy203 = yylhsminor.yy203; + 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; break; - case 241: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ -{yylhsminor.yy203 = sqlite3TriggerInsertStep(pParse->db,&yymsp[-3].minor.yy0,yymsp[-2].minor.yy384,yymsp[-1].minor.yy387,yymsp[-5].minor.yy4,yymsp[-6].minor.yy336,yymsp[0].minor.yy336);/*yylhsminor.yy203-overwrites-yymsp[-5].minor.yy4*/} - yymsp[-6].minor.yy203 = yylhsminor.yy203; + case 254: /* 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*/ +} + yymsp[-7].minor.yy207 = yylhsminor.yy207; break; - case 242: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ -{yylhsminor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy314, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy336);} - yymsp[-5].minor.yy203 = yylhsminor.yy203; + 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; break; - case 243: /* trigger_cmd ::= scanpt select scanpt */ -{yylhsminor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy387, yymsp[-2].minor.yy336, yymsp[0].minor.yy336); /*yylhsminor.yy203-overwrites-yymsp[-1].minor.yy387*/} - yymsp[-2].minor.yy203 = yylhsminor.yy203; + 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; break; - case 244: /* expr ::= RAISE LP IGNORE RP */ + case 257: /* expr ::= RAISE LP IGNORE RP */ { - yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); - if( yymsp[-3].minor.yy314 ){ - yymsp[-3].minor.yy314->affinity = OE_Ignore; + yymsp[-3].minor.yy18 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); + if( yymsp[-3].minor.yy18 ){ + yymsp[-3].minor.yy18->affinity = OE_Ignore; } } break; - case 245: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 258: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); - if( yymsp[-5].minor.yy314 ) { - yymsp[-5].minor.yy314->affinity = (char)yymsp[-3].minor.yy4; + 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; } } break; - case 246: /* raisetype ::= ROLLBACK */ -{yymsp[0].minor.yy4 = OE_Rollback;} + case 259: /* raisetype ::= ROLLBACK */ +{yymsp[0].minor.yy70 = OE_Rollback;} break; - case 248: /* raisetype ::= FAIL */ -{yymsp[0].minor.yy4 = OE_Fail;} + case 261: /* raisetype ::= FAIL */ +{yymsp[0].minor.yy70 = OE_Fail;} break; - case 249: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 262: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy135,yymsp[-1].minor.yy70); } break; - case 250: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 263: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy314, yymsp[-1].minor.yy314, yymsp[0].minor.yy314); + sqlite3Attach(pParse, yymsp[-3].minor.yy18, yymsp[-1].minor.yy18, yymsp[0].minor.yy18); } break; - case 251: /* cmd ::= DETACH database_kw_opt expr */ + case 264: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy314); + sqlite3Detach(pParse, yymsp[0].minor.yy18); } break; - case 254: /* cmd ::= REINDEX */ + case 267: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 255: /* cmd ::= REINDEX nm dbnm */ + case 268: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 256: /* cmd ::= ANALYZE */ + case 269: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 257: /* cmd ::= ANALYZE nm dbnm */ + case 270: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 258: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 271: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy135,&yymsp[0].minor.yy0); } break; - case 259: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + case 272: /* 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 260: /* add_column_fullname ::= fullname */ + case 273: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy135); +} + break; + case 274: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ +{ + sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy135, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 261: /* cmd ::= create_vtab */ + case 275: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 262: /* cmd ::= create_vtab LP vtabarglist RP */ + case 276: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 263: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 277: /* 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.yy4); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy70); } break; - case 264: /* vtabarg ::= */ + case 278: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 265: /* vtabargtoken ::= ANY */ - case 266: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==266); - case 267: /* lp ::= LP */ yytestcase(yyruleno==267); + case 279: /* vtabargtoken ::= ANY */ + case 280: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==280); + case 281: /* lp ::= LP */ yytestcase(yyruleno==281); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 268: /* with ::= */ -{yymsp[1].minor.yy451 = 0;} + case 282: /* with ::= WITH wqlist */ + case 283: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==283); +{ sqlite3WithPush(pParse, yymsp[0].minor.yy449, 1); } + break; + case 284: /* 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*/ +} + break; + case 285: /* 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); +} + break; + case 286: /* windowdefn_list ::= windowdefn */ +{ yylhsminor.yy327 = yymsp[0].minor.yy327; } + yymsp[0].minor.yy327 = yylhsminor.yy327; + break; + case 287: /* 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; +} + yymsp[-2].minor.yy327 = yylhsminor.yy327; + break; + case 288: /* windowdefn ::= nm AS window */ +{ + if( ALWAYS(yymsp[0].minor.yy327) ){ + yymsp[0].minor.yy327->zName = sqlite3DbStrNDup(pParse->db, yymsp[-2].minor.yy0.z, yymsp[-2].minor.yy0.n); + } + yylhsminor.yy327 = yymsp[0].minor.yy327; +} + yymsp[-2].minor.yy327 = yylhsminor.yy327; + break; + case 289: /* window ::= LP part_opt orderby_opt frame_opt RP */ +{ + 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; + } +} + break; + case 290: /* part_opt ::= PARTITION BY nexprlist */ +{ yymsp[-2].minor.yy420 = yymsp[0].minor.yy420; } + break; + case 291: /* part_opt ::= */ +{ yymsp[1].minor.yy420 = 0; } + break; + case 292: /* frame_opt ::= */ +{ + yymsp[1].minor.yy327 = sqlite3WindowAlloc(pParse, TK_RANGE, TK_UNBOUNDED, 0, TK_CURRENT, 0); +} + break; + case 293: /* frame_opt ::= range_or_rows frame_bound_s */ +{ + yylhsminor.yy327 = sqlite3WindowAlloc(pParse, yymsp[-1].minor.yy70, yymsp[0].minor.yy119.eType, yymsp[0].minor.yy119.pExpr, TK_CURRENT, 0); +} + yymsp[-1].minor.yy327 = yylhsminor.yy327; + break; + case 294: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e */ +{ + 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); +} + yymsp[-4].minor.yy327 = yylhsminor.yy327; + break; + case 295: /* range_or_rows ::= RANGE */ +{ yymsp[0].minor.yy70 = TK_RANGE; } + break; + case 296: /* range_or_rows ::= ROWS */ +{ yymsp[0].minor.yy70 = TK_ROWS; } + 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; + 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;} break; - case 269: /* with ::= WITH wqlist */ -{ yymsp[-1].minor.yy451 = yymsp[0].minor.yy451; } + case 301: /* frame_bound ::= expr PRECEDING */ +{ yylhsminor.yy119.eType = TK_PRECEDING; yylhsminor.yy119.pExpr = yymsp[-1].minor.yy18; } + yymsp[-1].minor.yy119 = yylhsminor.yy119; break; - case 270: /* with ::= WITH RECURSIVE wqlist */ -{ yymsp[-2].minor.yy451 = yymsp[0].minor.yy451; } + case 302: /* frame_bound ::= CURRENT ROW */ +{ yymsp[-1].minor.yy119.eType = TK_CURRENT ; yymsp[-1].minor.yy119.pExpr = 0; } break; - case 271: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 303: /* frame_bound ::= expr FOLLOWING */ +{ yylhsminor.yy119.eType = TK_FOLLOWING; yylhsminor.yy119.pExpr = yymsp[-1].minor.yy18; } + yymsp[-1].minor.yy119 = yylhsminor.yy119; + break; + case 304: /* window_clause ::= WINDOW windowdefn_list */ +{ yymsp[-1].minor.yy327 = yymsp[0].minor.yy327; } + break; + case 305: /* over_clause ::= filter_opt OVER window */ { - yymsp[-5].minor.yy451 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); /*A-overwrites-X*/ + yylhsminor.yy327 = yymsp[0].minor.yy327; + assert( yylhsminor.yy327!=0 ); + yylhsminor.yy327->pFilter = yymsp[-2].minor.yy18; } + yymsp[-2].minor.yy327 = yylhsminor.yy327; break; - case 272: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 306: /* over_clause ::= filter_opt OVER nm */ { - yymsp[-7].minor.yy451 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy451, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); + 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; + }else{ + sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy18); + } } + yymsp[-2].minor.yy327 = yylhsminor.yy327; + break; + case 308: /* filter_opt ::= FILTER LP WHERE expr RP */ +{ yymsp[-4].minor.yy18 = yymsp[-1].minor.yy18; } break; default: - /* (273) input ::= cmdlist */ yytestcase(yyruleno==273); - /* (274) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==274); - /* (275) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=275); - /* (276) ecmd ::= SEMI */ yytestcase(yyruleno==276); - /* (277) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==277); - /* (278) explain ::= */ yytestcase(yyruleno==278); - /* (279) trans_opt ::= */ yytestcase(yyruleno==279); - /* (280) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==280); - /* (281) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==281); - /* (282) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==282); - /* (283) savepoint_opt ::= */ yytestcase(yyruleno==283); - /* (284) cmd ::= create_table create_table_args */ yytestcase(yyruleno==284); - /* (285) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==285); - /* (286) columnlist ::= columnname carglist */ yytestcase(yyruleno==286); - /* (287) nm ::= ID|INDEXED */ yytestcase(yyruleno==287); - /* (288) nm ::= STRING */ yytestcase(yyruleno==288); - /* (289) nm ::= JOIN_KW */ yytestcase(yyruleno==289); - /* (290) typetoken ::= typename */ yytestcase(yyruleno==290); - /* (291) typename ::= ID|STRING */ yytestcase(yyruleno==291); - /* (292) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=292); - /* (293) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=293); - /* (294) carglist ::= carglist ccons */ yytestcase(yyruleno==294); - /* (295) carglist ::= */ yytestcase(yyruleno==295); - /* (296) ccons ::= NULL onconf */ yytestcase(yyruleno==296); - /* (297) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==297); - /* (298) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==298); - /* (299) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=299); - /* (300) tconscomma ::= */ yytestcase(yyruleno==300); - /* (301) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=301); - /* (302) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=302); - /* (303) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=303); - /* (304) oneselect ::= values */ yytestcase(yyruleno==304); - /* (305) sclp ::= selcollist COMMA */ yytestcase(yyruleno==305); - /* (306) as ::= ID|STRING */ yytestcase(yyruleno==306); - /* (307) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=307); - /* (308) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==308); - /* (309) exprlist ::= nexprlist */ yytestcase(yyruleno==309); - /* (310) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=310); - /* (311) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=311); - /* (312) nmnum ::= ON */ yytestcase(yyruleno==312); - /* (313) nmnum ::= DELETE */ yytestcase(yyruleno==313); - /* (314) nmnum ::= DEFAULT */ yytestcase(yyruleno==314); - /* (315) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==315); - /* (316) foreach_clause ::= */ yytestcase(yyruleno==316); - /* (317) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==317); - /* (318) trnm ::= nm */ yytestcase(yyruleno==318); - /* (319) tridxby ::= */ yytestcase(yyruleno==319); - /* (320) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==320); - /* (321) database_kw_opt ::= */ yytestcase(yyruleno==321); - /* (322) kwcolumn_opt ::= */ yytestcase(yyruleno==322); - /* (323) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==323); - /* (324) vtabarglist ::= vtabarg */ yytestcase(yyruleno==324); - /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==325); - /* (326) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==326); - /* (327) anylist ::= */ yytestcase(yyruleno==327); - /* (328) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==328); - /* (329) anylist ::= anylist ANY */ yytestcase(yyruleno==329); + /* (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); break; /********** End reduce actions ************************************************/ }; @@ -141798,6 +150933,7 @@ static void yy_reduce( yymsp->stateno = (YYACTIONTYPE)yyact; yymsp->major = (YYCODETYPE)yygoto; yyTraceShift(yypParser, yyact, "... then shift"); + return yyact; } /* @@ -141807,7 +150943,8 @@ static void yy_reduce( static void yy_parse_failed( yyParser *yypParser /* The parser */ ){ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH + sqlite3ParserCTX_FETCH #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); @@ -141818,7 +150955,8 @@ static void yy_parse_failed( ** parser fails */ /************ Begin %parse_failure code ***************************************/ /************ End %parse_failure code *****************************************/ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserARG_STORE /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserCTX_STORE } #endif /* YYNOERRORRECOVERY */ @@ -141830,7 +150968,8 @@ static void yy_syntax_error( int yymajor, /* The major type of the error token */ sqlite3ParserTOKENTYPE yyminor /* The minor type of the error token */ ){ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH + sqlite3ParserCTX_FETCH #define TOKEN yyminor /************ Begin %syntax_error code ****************************************/ @@ -141841,7 +150980,8 @@ static void yy_syntax_error( sqlite3ErrorMsg(pParse, "incomplete input"); } /************ End %syntax_error code ******************************************/ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserARG_STORE /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserCTX_STORE } /* @@ -141850,7 +150990,8 @@ static void yy_syntax_error( static void yy_accept( yyParser *yypParser /* The parser */ ){ - sqlite3ParserARG_FETCH; + sqlite3ParserARG_FETCH + sqlite3ParserCTX_FETCH #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt); @@ -141864,7 +151005,8 @@ static void yy_accept( ** parser accepts */ /*********** Begin %parse_accept code *****************************************/ /*********** End %parse_accept code *******************************************/ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserARG_STORE /* Suppress warning about unused %extra_argument variable */ + sqlite3ParserCTX_STORE } /* The main parser program. @@ -141893,45 +151035,47 @@ SQLITE_PRIVATE void sqlite3Parser( sqlite3ParserARG_PDECL /* Optional %extra_argument parameter */ ){ YYMINORTYPE yyminorunion; - unsigned int yyact; /* The parser action. */ + YYACTIONTYPE yyact; /* The parser action. */ #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) int yyendofinput; /* True if we are at the end of input */ #endif #ifdef YYERRORSYMBOL int yyerrorhit = 0; /* True if yymajor has invoked an error */ #endif - yyParser *yypParser; /* The parser */ + yyParser *yypParser = (yyParser*)yyp; /* The parser */ + sqlite3ParserCTX_FETCH + sqlite3ParserARG_STORE - yypParser = (yyParser*)yyp; assert( yypParser->yytos!=0 ); #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) yyendofinput = (yymajor==0); #endif - sqlite3ParserARG_STORE; + yyact = yypParser->yytos->stateno; #ifndef NDEBUG if( yyTraceFILE ){ - int stateno = yypParser->yytos->stateno; - if( stateno < YY_MIN_REDUCE ){ + if( yyact < YY_MIN_REDUCE ){ fprintf(yyTraceFILE,"%sInput '%s' in state %d\n", - yyTracePrompt,yyTokenName[yymajor],stateno); + yyTracePrompt,yyTokenName[yymajor],yyact); }else{ fprintf(yyTraceFILE,"%sInput '%s' with pending reduce %d\n", - yyTracePrompt,yyTokenName[yymajor],stateno-YY_MIN_REDUCE); + yyTracePrompt,yyTokenName[yymajor],yyact-YY_MIN_REDUCE); } } #endif do{ - yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); + assert( yyact==yypParser->yytos->stateno ); + yyact = yy_find_shift_action((YYCODETYPE)yymajor,yyact); if( yyact >= YY_MIN_REDUCE ){ - yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor,yyminor); + yyact = yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor, + yyminor sqlite3ParserCTX_PARAM); }else if( yyact <= YY_MAX_SHIFTREDUCE ){ - yy_shift(yypParser,yyact,yymajor,yyminor); + yy_shift(yypParser,yyact,(YYCODETYPE)yymajor,yyminor); #ifndef YYNOERRORRECOVERY yypParser->yyerrcnt--; #endif - yymajor = YYNOCODE; + break; }else if( yyact==YY_ACCEPT_ACTION ){ yypParser->yytos--; yy_accept(yypParser); @@ -141982,10 +151126,9 @@ SQLITE_PRIVATE void sqlite3Parser( yymajor = YYNOCODE; }else{ while( yypParser->yytos >= yypParser->yystack - && yymx != YYERRORSYMBOL && (yyact = yy_find_reduce_action( yypParser->yytos->stateno, - YYERRORSYMBOL)) >= YY_MIN_REDUCE + YYERRORSYMBOL)) > YY_MAX_SHIFTREDUCE ){ yy_pop_parser_stack(yypParser); } @@ -142002,6 +151145,8 @@ SQLITE_PRIVATE void sqlite3Parser( } yypParser->yyerrcnt = 3; yyerrorhit = 1; + if( yymajor==YYNOCODE ) break; + yyact = yypParser->yytos->stateno; #elif defined(YYNOERRORRECOVERY) /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to ** do any kind of error recovery. Instead, simply invoke the syntax @@ -142012,8 +151157,7 @@ SQLITE_PRIVATE void sqlite3Parser( */ yy_syntax_error(yypParser,yymajor, yyminor); yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); - yymajor = YYNOCODE; - + break; #else /* YYERRORSYMBOL is not defined */ /* This is what we do if the grammar does not define ERROR: ** @@ -142035,10 +151179,10 @@ SQLITE_PRIVATE void sqlite3Parser( yypParser->yyerrcnt = -1; #endif } - yymajor = YYNOCODE; + break; #endif } - }while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack ); + }while( yypParser->yytos>yypParser->yystack ); #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; @@ -142054,6 +151198,21 @@ SQLITE_PRIVATE void sqlite3Parser( return; } +/* +** Return the fallback token corresponding to canonical token iToken, or +** 0 if iToken has no fallback. +*/ +SQLITE_PRIVATE int sqlite3ParserFallback(int iToken){ +#ifdef YYFALLBACK + if( iToken<(int)(sizeof(yyFallback)/sizeof(yyFallback[0])) ){ + return yyFallback[iToken]; + } +#else + (void)iToken; +#endif + return 0; +} + /************** End of parse.c ***********************************************/ /************** Begin file tokenize.c ****************************************/ /* @@ -142112,11 +151271,12 @@ SQLITE_PRIVATE void sqlite3Parser( #define CC_TILDA 25 /* '~' */ #define CC_DOT 26 /* '.' */ #define CC_ILLEGAL 27 /* Illegal character */ +#define CC_NUL 28 /* 0x00 */ static const unsigned char aiClass[] = { #ifdef SQLITE_ASCII /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */ -/* 0x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 7, 27, 7, 7, 27, 27, +/* 0x */ 28, 27, 27, 27, 27, 27, 27, 27, 27, 7, 7, 27, 7, 7, 27, 27, /* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, /* 2x */ 7, 15, 8, 5, 4, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16, /* 3x */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 19, 12, 14, 13, 6, @@ -142215,19 +151375,20 @@ const unsigned char ebcdicToAscii[] = { ** is substantially reduced. This is important for embedded applications ** on platforms with limited memory. */ -/* Hash score: 182 */ -/* zKWText[] encodes 834 bytes of keyword text in 554 bytes */ +/* Hash score: 208 */ +/* zKWText[] encodes 923 bytes of keyword text in 614 bytes */ /* REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECT */ /* ABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVE */ /* XISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARY */ -/* UNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERECURSIVE */ -/* BETWEENOTNULLIKECASCADELETECASECOLLATECREATECURRENT_DATEDETACH */ -/* IMMEDIATEJOINSERTMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHEN */ -/* WHERENAMEAFTEREPLACEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMIT */ -/* CONFLICTCROSSCURRENT_TIMESTAMPRIMARYDEFERREDISTINCTDROPFAIL */ -/* FROMFULLGLOBYIFISNULLORDERESTRICTRIGHTROLLBACKROWUNIONUSING */ -/* VACUUMVIEWINITIALLY */ -static const char zKWText[553] = { +/* UNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERANGEBETWEEN */ +/* OTHINGLOBYCASCADELETECASECOLLATECREATECURRENT_DATEDETACH */ +/* IMMEDIATEJOINSERTLIKEMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMIT */ +/* WHENOTNULLWHERECURSIVEAFTERENAMEANDEFAULTAUTOINCREMENTCAST */ +/* COLUMNCOMMITCONFLICTCROSSCURRENT_TIMESTAMPARTITIONDEFERRED */ +/* ISTINCTDROPRECEDINGFAILFILTEREPLACEFOLLOWINGFROMFULLIFISNULL */ +/* ORDERESTRICTOVERIGHTROLLBACKROWSUNBOUNDEDUNIONUSINGVACUUMVIEW */ +/* INDOWINITIALLYPRIMARY */ +static const char zKWText[613] = { 'R','E','I','N','D','E','X','E','D','E','S','C','A','P','E','A','C','H', 'E','C','K','E','Y','B','E','F','O','R','E','I','G','N','O','R','E','G', 'E','X','P','L','A','I','N','S','T','E','A','D','D','A','T','A','B','A', @@ -142240,83 +151401,90 @@ static const char zKWText[553] = { 'O','F','F','S','E','T','E','M','P','O','R','A','R','Y','U','N','I','Q', 'U','E','R','Y','W','I','T','H','O','U','T','E','R','E','L','E','A','S', 'E','A','T','T','A','C','H','A','V','I','N','G','R','O','U','P','D','A', - 'T','E','B','E','G','I','N','N','E','R','E','C','U','R','S','I','V','E', - 'B','E','T','W','E','E','N','O','T','N','U','L','L','I','K','E','C','A', - 'S','C','A','D','E','L','E','T','E','C','A','S','E','C','O','L','L','A', - 'T','E','C','R','E','A','T','E','C','U','R','R','E','N','T','_','D','A', - 'T','E','D','E','T','A','C','H','I','M','M','E','D','I','A','T','E','J', - 'O','I','N','S','E','R','T','M','A','T','C','H','P','L','A','N','A','L', - 'Y','Z','E','P','R','A','G','M','A','B','O','R','T','V','A','L','U','E', - 'S','V','I','R','T','U','A','L','I','M','I','T','W','H','E','N','W','H', - 'E','R','E','N','A','M','E','A','F','T','E','R','E','P','L','A','C','E', - 'A','N','D','E','F','A','U','L','T','A','U','T','O','I','N','C','R','E', - 'M','E','N','T','C','A','S','T','C','O','L','U','M','N','C','O','M','M', - 'I','T','C','O','N','F','L','I','C','T','C','R','O','S','S','C','U','R', - 'R','E','N','T','_','T','I','M','E','S','T','A','M','P','R','I','M','A', - 'R','Y','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T','D', - 'R','O','P','F','A','I','L','F','R','O','M','F','U','L','L','G','L','O', - 'B','Y','I','F','I','S','N','U','L','L','O','R','D','E','R','E','S','T', - 'R','I','C','T','R','I','G','H','T','R','O','L','L','B','A','C','K','R', - 'O','W','U','N','I','O','N','U','S','I','N','G','V','A','C','U','U','M', - 'V','I','E','W','I','N','I','T','I','A','L','L','Y', + 'T','E','B','E','G','I','N','N','E','R','A','N','G','E','B','E','T','W', + 'E','E','N','O','T','H','I','N','G','L','O','B','Y','C','A','S','C','A', + 'D','E','L','E','T','E','C','A','S','E','C','O','L','L','A','T','E','C', + 'R','E','A','T','E','C','U','R','R','E','N','T','_','D','A','T','E','D', + 'E','T','A','C','H','I','M','M','E','D','I','A','T','E','J','O','I','N', + 'S','E','R','T','L','I','K','E','M','A','T','C','H','P','L','A','N','A', + 'L','Y','Z','E','P','R','A','G','M','A','B','O','R','T','V','A','L','U', + 'E','S','V','I','R','T','U','A','L','I','M','I','T','W','H','E','N','O', + 'T','N','U','L','L','W','H','E','R','E','C','U','R','S','I','V','E','A', + 'F','T','E','R','E','N','A','M','E','A','N','D','E','F','A','U','L','T', + 'A','U','T','O','I','N','C','R','E','M','E','N','T','C','A','S','T','C', + 'O','L','U','M','N','C','O','M','M','I','T','C','O','N','F','L','I','C', + 'T','C','R','O','S','S','C','U','R','R','E','N','T','_','T','I','M','E', + 'S','T','A','M','P','A','R','T','I','T','I','O','N','D','E','F','E','R', + 'R','E','D','I','S','T','I','N','C','T','D','R','O','P','R','E','C','E', + 'D','I','N','G','F','A','I','L','F','I','L','T','E','R','E','P','L','A', + 'C','E','F','O','L','L','O','W','I','N','G','F','R','O','M','F','U','L', + 'L','I','F','I','S','N','U','L','L','O','R','D','E','R','E','S','T','R', + 'I','C','T','O','V','E','R','I','G','H','T','R','O','L','L','B','A','C', + 'K','R','O','W','S','U','N','B','O','U','N','D','E','D','U','N','I','O', + 'N','U','S','I','N','G','V','A','C','U','U','M','V','I','E','W','I','N', + 'D','O','W','I','N','I','T','I','A','L','L','Y','P','R','I','M','A','R', + 'Y', }; /* aKWHash[i] is the hash value for the i-th keyword */ static const unsigned char aKWHash[127] = { - 76, 105, 117, 74, 0, 45, 0, 0, 82, 0, 77, 0, 0, - 42, 12, 78, 15, 0, 116, 85, 54, 112, 0, 19, 0, 0, - 121, 0, 119, 115, 0, 22, 93, 0, 9, 0, 0, 70, 71, - 0, 69, 6, 0, 48, 90, 102, 0, 118, 101, 0, 0, 44, - 0, 103, 24, 0, 17, 0, 122, 53, 23, 0, 5, 110, 25, - 96, 0, 0, 124, 106, 60, 123, 57, 28, 55, 0, 91, 0, - 100, 26, 0, 99, 0, 0, 0, 95, 92, 97, 88, 109, 14, - 39, 108, 0, 81, 0, 18, 89, 111, 32, 0, 120, 80, 113, - 62, 46, 84, 0, 0, 94, 40, 59, 114, 0, 36, 0, 0, - 29, 0, 86, 63, 64, 0, 20, 61, 0, 56, + 74, 109, 124, 72, 106, 45, 0, 0, 81, 0, 76, 61, 0, + 42, 12, 77, 15, 0, 123, 84, 54, 118, 125, 19, 0, 0, + 130, 0, 128, 121, 0, 22, 96, 0, 9, 0, 0, 115, 69, + 0, 67, 6, 0, 48, 93, 136, 0, 126, 104, 0, 0, 44, + 0, 107, 24, 0, 17, 0, 131, 53, 23, 0, 5, 62, 132, + 99, 0, 0, 135, 110, 60, 134, 57, 113, 55, 0, 94, 0, + 103, 26, 0, 102, 0, 0, 0, 98, 95, 100, 105, 117, 14, + 39, 116, 0, 80, 0, 133, 114, 92, 59, 0, 129, 79, 119, + 86, 46, 83, 0, 0, 97, 40, 122, 120, 0, 127, 0, 0, + 29, 0, 89, 87, 88, 0, 20, 85, 111, 56, }; /* aKWNext[] forms the hash collision chain. If aKWHash[i]==0 ** then the i-th keyword has no more hash collisions. Otherwise, ** the next keyword with the same hash is aKWHash[i]-1. */ -static const unsigned char aKWNext[124] = { +static const unsigned char aKWNext[136] = { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 21, 0, 0, 0, 0, 0, 50, - 0, 43, 3, 47, 0, 0, 0, 0, 30, 0, 58, 0, 38, - 0, 0, 0, 1, 66, 0, 0, 67, 0, 41, 0, 0, 0, - 0, 0, 0, 49, 65, 0, 0, 0, 0, 31, 52, 16, 34, - 10, 0, 0, 0, 0, 0, 0, 0, 11, 72, 79, 0, 8, - 0, 104, 98, 0, 107, 0, 87, 0, 75, 51, 0, 27, 37, - 73, 83, 0, 35, 68, 0, 0, + 0, 43, 3, 47, 0, 0, 32, 0, 0, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 65, 0, 41, 0, 38, 0, 0, 0, + 0, 0, 49, 75, 0, 0, 30, 0, 58, 0, 0, 0, 31, + 63, 16, 34, 10, 0, 0, 0, 0, 0, 0, 0, 11, 70, + 91, 0, 0, 8, 0, 108, 0, 101, 28, 52, 68, 0, 112, + 0, 73, 51, 0, 90, 27, 37, 0, 71, 36, 82, 0, 35, + 66, 25, 18, 0, 0, 78, }; /* aKWLen[i] is the length (in bytes) of the i-th keyword */ -static const unsigned char aKWLen[124] = { +static const unsigned char aKWLen[136] = { 7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6, 7, 7, 3, 8, 2, 6, 5, 4, 4, 3, 10, 4, 6, 11, 6, 2, 7, 5, 5, 9, 6, 9, 9, 7, 10, 10, 4, 6, 2, 3, 9, 4, 2, 6, 5, 7, 4, 5, 7, - 6, 6, 5, 6, 5, 5, 9, 7, 7, 3, 2, 4, 4, - 7, 3, 6, 4, 7, 6, 12, 6, 9, 4, 6, 5, 4, - 7, 6, 5, 6, 7, 5, 4, 5, 6, 5, 7, 3, 7, - 13, 2, 2, 4, 6, 6, 8, 5, 17, 12, 7, 8, 8, - 2, 4, 4, 4, 4, 4, 2, 2, 6, 5, 8, 5, 8, - 3, 5, 5, 6, 4, 9, 3, + 6, 6, 5, 6, 5, 5, 5, 7, 7, 4, 2, 7, 3, + 6, 4, 7, 6, 12, 6, 9, 4, 6, 4, 5, 4, 7, + 6, 5, 6, 7, 5, 4, 7, 3, 2, 4, 5, 9, 5, + 6, 3, 7, 13, 2, 2, 4, 6, 6, 8, 5, 17, 12, + 7, 9, 8, 8, 2, 4, 9, 4, 6, 7, 9, 4, 4, + 2, 6, 5, 8, 4, 5, 8, 4, 3, 9, 5, 5, 6, + 4, 6, 2, 9, 3, 7, }; /* aKWOffset[i] is the index into zKWText[] of the start of ** the text for the i-th keyword. */ -static const unsigned short int aKWOffset[124] = { +static const unsigned short int aKWOffset[136] = { 0, 2, 2, 8, 9, 14, 16, 20, 23, 25, 25, 29, 33, 36, 41, 46, 48, 53, 54, 59, 62, 65, 67, 69, 78, 81, 86, 91, 95, 96, 101, 105, 109, 117, 122, 128, 136, 142, 152, 159, 162, 162, 165, 167, 167, 171, 176, 179, 184, 184, 188, 192, - 199, 204, 209, 212, 218, 221, 225, 234, 240, 240, 240, 243, 246, - 250, 251, 255, 261, 265, 272, 278, 290, 296, 305, 307, 313, 318, - 320, 327, 332, 337, 343, 349, 354, 358, 361, 367, 371, 378, 380, - 387, 389, 391, 400, 404, 410, 416, 424, 429, 429, 445, 452, 459, - 460, 467, 471, 475, 479, 483, 486, 488, 490, 496, 500, 508, 513, - 521, 524, 529, 534, 540, 544, 549, + 199, 204, 209, 212, 218, 221, 225, 230, 236, 242, 245, 247, 248, + 252, 258, 262, 269, 275, 287, 293, 302, 304, 310, 314, 319, 321, + 328, 333, 338, 344, 350, 355, 358, 358, 358, 361, 365, 368, 377, + 381, 387, 389, 396, 398, 400, 409, 413, 419, 425, 433, 438, 438, + 438, 454, 463, 470, 471, 478, 481, 490, 494, 499, 506, 515, 519, + 523, 525, 531, 535, 543, 546, 551, 559, 559, 563, 572, 577, 582, + 588, 591, 594, 597, 602, 606, }; /* aKWCode[i] is the parser symbol code for the i-th keyword */ -static const unsigned char aKWCode[124] = { +static const unsigned char aKWCode[136] = { TK_REINDEX, TK_INDEXED, TK_INDEX, TK_DESC, TK_ESCAPE, TK_EACH, TK_CHECK, TK_KEY, TK_BEFORE, TK_FOREIGN, TK_FOR, TK_IGNORE, TK_LIKE_KW, TK_EXPLAIN, TK_INSTEAD, @@ -142328,20 +151496,23 @@ static const unsigned char aKWCode[124] = { TK_OFFSET, TK_OF, TK_SET, TK_TEMP, TK_TEMP, TK_OR, TK_UNIQUE, TK_QUERY, TK_WITHOUT, TK_WITH, TK_JOIN_KW, TK_RELEASE, TK_ATTACH, TK_HAVING, TK_GROUP, - TK_UPDATE, TK_BEGIN, TK_JOIN_KW, TK_RECURSIVE, TK_BETWEEN, - TK_NOTNULL, TK_NOT, TK_NO, TK_NULL, TK_LIKE_KW, - TK_CASCADE, TK_ASC, TK_DELETE, TK_CASE, TK_COLLATE, - TK_CREATE, TK_CTIME_KW, TK_DETACH, TK_IMMEDIATE, TK_JOIN, - TK_INSERT, TK_MATCH, TK_PLAN, TK_ANALYZE, TK_PRAGMA, - TK_ABORT, TK_VALUES, TK_VIRTUAL, TK_LIMIT, TK_WHEN, - TK_WHERE, TK_RENAME, TK_AFTER, TK_REPLACE, TK_AND, - TK_DEFAULT, TK_AUTOINCR, TK_TO, TK_IN, TK_CAST, - TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, - TK_CTIME_KW, TK_PRIMARY, TK_DEFERRED, TK_DISTINCT, TK_IS, - TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW, TK_LIKE_KW, - TK_BY, TK_IF, TK_ISNULL, TK_ORDER, TK_RESTRICT, - TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_UNION, TK_USING, - TK_VACUUM, TK_VIEW, TK_INITIALLY, TK_ALL, + TK_UPDATE, TK_BEGIN, TK_JOIN_KW, TK_RANGE, TK_BETWEEN, + TK_NOTHING, TK_LIKE_KW, TK_BY, TK_CASCADE, TK_ASC, + TK_DELETE, TK_CASE, TK_COLLATE, TK_CREATE, TK_CTIME_KW, + TK_DETACH, TK_IMMEDIATE, TK_JOIN, TK_INSERT, TK_LIKE_KW, + TK_MATCH, TK_PLAN, TK_ANALYZE, TK_PRAGMA, TK_ABORT, + TK_VALUES, TK_VIRTUAL, TK_LIMIT, TK_WHEN, TK_NOTNULL, + TK_NOT, TK_NO, TK_NULL, TK_WHERE, TK_RECURSIVE, + TK_AFTER, TK_RENAME, TK_AND, TK_DEFAULT, TK_AUTOINCR, + TK_TO, TK_IN, TK_CAST, TK_COLUMNKW, TK_COMMIT, + TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, TK_CTIME_KW, TK_CURRENT, + TK_PARTITION, TK_DEFERRED, TK_DISTINCT, TK_IS, TK_DROP, + TK_PRECEDING, TK_FAIL, TK_FILTER, TK_REPLACE, TK_FOLLOWING, + TK_FROM, TK_JOIN_KW, TK_IF, TK_ISNULL, TK_ORDER, + TK_RESTRICT, TK_OVER, TK_JOIN_KW, TK_ROLLBACK, TK_ROWS, + TK_ROW, TK_UNBOUNDED, TK_UNION, TK_USING, TK_VACUUM, + TK_VIEW, TK_WINDOW, TK_DO, TK_INITIALLY, TK_ALL, + TK_PRIMARY, }; /* Check to see if z[0..n-1] is a keyword. If it is, write the ** parser symbol code for that keyword into *pType. Always @@ -142420,72 +151591,84 @@ static int keywordCode(const char *z, int n, int *pType){ testcase( i==55 ); /* UPDATE */ testcase( i==56 ); /* BEGIN */ testcase( i==57 ); /* INNER */ - testcase( i==58 ); /* RECURSIVE */ + testcase( i==58 ); /* RANGE */ testcase( i==59 ); /* BETWEEN */ - testcase( i==60 ); /* NOTNULL */ - testcase( i==61 ); /* NOT */ - testcase( i==62 ); /* NO */ - testcase( i==63 ); /* NULL */ - testcase( i==64 ); /* LIKE */ - testcase( i==65 ); /* CASCADE */ - testcase( i==66 ); /* ASC */ - testcase( i==67 ); /* DELETE */ - testcase( i==68 ); /* CASE */ - testcase( i==69 ); /* COLLATE */ - testcase( i==70 ); /* CREATE */ - testcase( i==71 ); /* CURRENT_DATE */ - testcase( i==72 ); /* DETACH */ - testcase( i==73 ); /* IMMEDIATE */ - testcase( i==74 ); /* JOIN */ - testcase( i==75 ); /* INSERT */ - testcase( i==76 ); /* MATCH */ - testcase( i==77 ); /* PLAN */ - testcase( i==78 ); /* ANALYZE */ - testcase( i==79 ); /* PRAGMA */ - testcase( i==80 ); /* ABORT */ - testcase( i==81 ); /* VALUES */ - testcase( i==82 ); /* VIRTUAL */ - testcase( i==83 ); /* LIMIT */ - testcase( i==84 ); /* WHEN */ - testcase( i==85 ); /* WHERE */ - testcase( i==86 ); /* RENAME */ - testcase( i==87 ); /* AFTER */ - testcase( i==88 ); /* REPLACE */ - testcase( i==89 ); /* AND */ - testcase( i==90 ); /* DEFAULT */ - testcase( i==91 ); /* AUTOINCREMENT */ - testcase( i==92 ); /* TO */ - testcase( i==93 ); /* IN */ - testcase( i==94 ); /* CAST */ - testcase( i==95 ); /* COLUMN */ - testcase( i==96 ); /* COMMIT */ - testcase( i==97 ); /* CONFLICT */ - testcase( i==98 ); /* CROSS */ - testcase( i==99 ); /* CURRENT_TIMESTAMP */ - testcase( i==100 ); /* CURRENT_TIME */ - testcase( i==101 ); /* PRIMARY */ - testcase( i==102 ); /* DEFERRED */ - testcase( i==103 ); /* DISTINCT */ - testcase( i==104 ); /* IS */ - testcase( i==105 ); /* DROP */ - testcase( i==106 ); /* FAIL */ - testcase( i==107 ); /* FROM */ - testcase( i==108 ); /* FULL */ - testcase( i==109 ); /* GLOB */ - testcase( i==110 ); /* BY */ - testcase( i==111 ); /* IF */ - testcase( i==112 ); /* ISNULL */ - testcase( i==113 ); /* ORDER */ - testcase( i==114 ); /* RESTRICT */ - testcase( i==115 ); /* RIGHT */ - testcase( i==116 ); /* ROLLBACK */ - testcase( i==117 ); /* ROW */ - testcase( i==118 ); /* UNION */ - testcase( i==119 ); /* USING */ - testcase( i==120 ); /* VACUUM */ - testcase( i==121 ); /* VIEW */ - testcase( i==122 ); /* INITIALLY */ - testcase( i==123 ); /* ALL */ + testcase( i==60 ); /* NOTHING */ + testcase( i==61 ); /* GLOB */ + testcase( i==62 ); /* BY */ + testcase( i==63 ); /* CASCADE */ + testcase( i==64 ); /* ASC */ + testcase( i==65 ); /* DELETE */ + testcase( i==66 ); /* CASE */ + testcase( i==67 ); /* COLLATE */ + testcase( i==68 ); /* CREATE */ + testcase( i==69 ); /* CURRENT_DATE */ + testcase( i==70 ); /* DETACH */ + testcase( i==71 ); /* IMMEDIATE */ + testcase( i==72 ); /* JOIN */ + testcase( i==73 ); /* INSERT */ + testcase( i==74 ); /* LIKE */ + testcase( i==75 ); /* MATCH */ + testcase( i==76 ); /* PLAN */ + testcase( i==77 ); /* ANALYZE */ + testcase( i==78 ); /* PRAGMA */ + testcase( i==79 ); /* ABORT */ + testcase( i==80 ); /* VALUES */ + testcase( i==81 ); /* VIRTUAL */ + testcase( i==82 ); /* LIMIT */ + testcase( i==83 ); /* WHEN */ + testcase( i==84 ); /* NOTNULL */ + testcase( i==85 ); /* NOT */ + testcase( i==86 ); /* NO */ + testcase( i==87 ); /* NULL */ + testcase( i==88 ); /* WHERE */ + testcase( i==89 ); /* RECURSIVE */ + testcase( i==90 ); /* AFTER */ + testcase( i==91 ); /* RENAME */ + testcase( i==92 ); /* AND */ + testcase( i==93 ); /* DEFAULT */ + testcase( i==94 ); /* AUTOINCREMENT */ + testcase( i==95 ); /* TO */ + testcase( i==96 ); /* IN */ + testcase( i==97 ); /* CAST */ + testcase( i==98 ); /* COLUMN */ + testcase( i==99 ); /* COMMIT */ + testcase( i==100 ); /* CONFLICT */ + testcase( i==101 ); /* CROSS */ + testcase( i==102 ); /* CURRENT_TIMESTAMP */ + testcase( i==103 ); /* CURRENT_TIME */ + testcase( i==104 ); /* CURRENT */ + testcase( i==105 ); /* PARTITION */ + testcase( i==106 ); /* DEFERRED */ + testcase( i==107 ); /* DISTINCT */ + testcase( i==108 ); /* IS */ + testcase( i==109 ); /* DROP */ + testcase( i==110 ); /* PRECEDING */ + testcase( i==111 ); /* FAIL */ + testcase( i==112 ); /* FILTER */ + testcase( i==113 ); /* REPLACE */ + testcase( i==114 ); /* FOLLOWING */ + testcase( i==115 ); /* FROM */ + testcase( i==116 ); /* FULL */ + testcase( i==117 ); /* IF */ + testcase( i==118 ); /* ISNULL */ + testcase( i==119 ); /* ORDER */ + testcase( i==120 ); /* RESTRICT */ + testcase( i==121 ); /* OVER */ + testcase( i==122 ); /* RIGHT */ + testcase( i==123 ); /* ROLLBACK */ + testcase( i==124 ); /* ROWS */ + testcase( i==125 ); /* ROW */ + testcase( i==126 ); /* UNBOUNDED */ + testcase( i==127 ); /* UNION */ + testcase( i==128 ); /* USING */ + testcase( i==129 ); /* VACUUM */ + testcase( i==130 ); /* VIEW */ + testcase( i==131 ); /* WINDOW */ + testcase( i==132 ); /* DO */ + testcase( i==133 ); /* INITIALLY */ + testcase( i==134 ); /* ALL */ + testcase( i==135 ); /* PRIMARY */ *pType = aKWCode[i]; break; } @@ -142497,7 +151680,17 @@ SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char *z, int n){ keywordCode((char*)z, n, &id); return id; } -#define SQLITE_N_KEYWORD 124 +#define SQLITE_N_KEYWORD 136 +SQLITE_API int sqlite3_keyword_name(int i,const char **pzName,int *pnName){ + if( i<0 || i>=SQLITE_N_KEYWORD ) return SQLITE_ERROR; + *pzName = zKWText + aKWOffset[i]; + *pnName = aKWLen[i]; + return SQLITE_OK; +} +SQLITE_API int sqlite3_keyword_count(void){ return SQLITE_N_KEYWORD; } +SQLITE_API int sqlite3_keyword_check(const char *zName, int nName){ + return TK_ID!=sqlite3KeywordCode((const u8*)zName, nName); +} /************** End of keywordhash.h *****************************************/ /************** Continuing where we left off in tokenize.c *******************/ @@ -142541,11 +151734,85 @@ SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[] = { #define IdChar(C) (((c=C)>=0x42 && sqlite3IsEbcdicIdChar[c-0x40])) #endif -/* Make the IdChar function accessible from ctime.c */ -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +/* Make the IdChar function accessible from ctime.c and alter.c */ SQLITE_PRIVATE int sqlite3IsIdChar(u8 c){ return IdChar(c); } -#endif +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** Return the id of the next token in string (*pz). Before returning, set +** (*pz) to point to the byte following the parsed token. +*/ +static int getToken(const unsigned char **pz){ + const unsigned char *z = *pz; + int t; /* Token type to return */ + do { + z += sqlite3GetToken(z, &t); + }while( t==TK_SPACE ); + if( t==TK_ID + || t==TK_STRING + || t==TK_JOIN_KW + || t==TK_WINDOW + || t==TK_OVER + || sqlite3ParserFallback(t)==TK_ID + ){ + t = TK_ID; + } + *pz = z; + return t; +} + +/* +** The following three functions are called immediately after the tokenizer +** reads the keywords WINDOW, OVER and FILTER, respectively, to determine +** whether the token should be treated as a keyword or an SQL identifier. +** This cannot be handled by the usual lemon %fallback method, due to +** the ambiguity in some constructions. e.g. +** +** SELECT sum(x) OVER ... +** +** In the above, "OVER" might be a keyword, or it might be an alias for the +** sum(x) expression. If a "%fallback ID OVER" directive were added to +** grammar, then SQLite would always treat "OVER" as an alias, making it +** impossible to call a window-function without a FILTER clause. +** +** WINDOW is treated as a keyword if: +** +** * the following token is an identifier, or a keyword that can fallback +** to being an identifier, and +** * the token after than one is TK_AS. +** +** OVER is a keyword if: +** +** * the previous token was TK_RP, and +** * the next token is either TK_LP or an identifier. +** +** FILTER is a keyword if: +** +** * the previous token was TK_RP, and +** * the next token is TK_LP. +*/ +static int analyzeWindowKeyword(const unsigned char *z){ + int t; + t = getToken(&z); + if( t!=TK_ID ) return TK_ID; + t = getToken(&z); + if( t!=TK_AS ) return TK_ID; + return TK_WINDOW; +} +static int analyzeOverKeyword(const unsigned char *z, int lastToken){ + if( lastToken==TK_RP ){ + int t = getToken(&z); + if( t==TK_LP || t==TK_ID ) return TK_OVER; + } + return TK_ID; +} +static int analyzeFilterKeyword(const unsigned char *z, int lastToken){ + if( lastToken==TK_RP && getToken(&z)==TK_LP ){ + return TK_FILTER; + } + return TK_ID; +} +#endif /* SQLITE_OMIT_WINDOWFUNC */ /* ** Return the length (in bytes) of the token that begins at z[0]. @@ -142814,6 +152081,10 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ i = 1; break; } + case CC_NUL: { + *tokenType = TK_ILLEGAL; + return 0; + } default: { *tokenType = TK_ILLEGAL; return 1; @@ -142824,6 +152095,73 @@ 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 @@ -142854,9 +152192,9 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr /* sqlite3ParserTrace(stdout, "parser: "); */ #ifdef sqlite3Parser_ENGINEALWAYSONSTACK pEngine = &sEngine; - sqlite3ParserInit(pEngine); + sqlite3ParserInit(pEngine, pParse); #else - pEngine = sqlite3ParserAlloc(sqlite3Malloc); + pEngine = sqlite3ParserAlloc(sqlite3Malloc, pParse); if( pEngine==0 ){ sqlite3OomFault(db); return SQLITE_NOMEM_BKPT; @@ -142867,47 +152205,64 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr assert( pParse->nVar==0 ); assert( pParse->pVList==0 ); while( 1 ){ - if( zSql[0]!=0 ){ - n = sqlite3GetToken((u8*)zSql, &tokenType); - mxSqlLen -= n; - if( mxSqlLen<0 ){ - pParse->rc = SQLITE_TOOBIG; - break; - } - }else{ - /* Upon reaching the end of input, call the parser two more times - ** with tokens TK_SEMI and 0, in that order. */ - if( lastTokenParsed==TK_SEMI ){ - tokenType = 0; - }else if( lastTokenParsed==0 ){ - break; - }else{ - tokenType = TK_SEMI; - } - n = 0; + n = sqlite3GetToken((u8*)zSql, &tokenType); + mxSqlLen -= n; + if( mxSqlLen<0 ){ + pParse->rc = SQLITE_TOOBIG; + break; } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( tokenType>=TK_WINDOW ){ + assert( tokenType==TK_SPACE || tokenType==TK_OVER || tokenType==TK_FILTER + || tokenType==TK_ILLEGAL || tokenType==TK_WINDOW + ); +#else if( tokenType>=TK_SPACE ){ assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL ); +#endif /* SQLITE_OMIT_WINDOWFUNC */ if( db->u1.isInterrupted ){ pParse->rc = SQLITE_INTERRUPT; break; } - if( tokenType==TK_ILLEGAL ){ + if( tokenType==TK_SPACE ){ + zSql += n; + continue; + } + if( zSql[0]==0 ){ + /* Upon reaching the end of input, call the parser two more times + ** with tokens TK_SEMI and 0, in that order. */ + if( lastTokenParsed==TK_SEMI ){ + tokenType = 0; + }else if( lastTokenParsed==0 ){ + break; + }else{ + tokenType = TK_SEMI; + } + n = 0; +#ifndef SQLITE_OMIT_WINDOWFUNC + }else if( tokenType==TK_WINDOW ){ + assert( n==6 ); + tokenType = analyzeWindowKeyword((const u8*)&zSql[6]); + }else if( tokenType==TK_OVER ){ + assert( n==4 ); + tokenType = analyzeOverKeyword((const u8*)&zSql[4], lastTokenParsed); + }else if( tokenType==TK_FILTER ){ + assert( n==6 ); + tokenType = analyzeFilterKeyword((const u8*)&zSql[6], lastTokenParsed); +#endif /* SQLITE_OMIT_WINDOWFUNC */ + }else{ sqlite3ErrorMsg(pParse, "unrecognized token: \"%.*s\"", n, zSql); break; } - zSql += n; - }else{ - pParse->sLastToken.z = zSql; - pParse->sLastToken.n = n; - sqlite3Parser(pEngine, tokenType, pParse->sLastToken, pParse); - lastTokenParsed = tokenType; - zSql += n; - if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break; } + pParse->sLastToken.z = zSql; + pParse->sLastToken.n = n; + sqlite3Parser(pEngine, tokenType, pParse->sLastToken); + lastTokenParsed = tokenType; + zSql += n; + if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break; } assert( nErr==0 ); - pParse->zTail = zSql; #ifdef YYTRACKMAXSTACKDEPTH sqlite3_mutex_enter(sqlite3MallocMutex()); sqlite3StatusHighwater(SQLITE_STATUS_PARSER_STACK, @@ -142929,10 +152284,12 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr assert( pzErrMsg!=0 ); if( pParse->zErrMsg ){ *pzErrMsg = pParse->zErrMsg; - sqlite3_log(pParse->rc, "%s", *pzErrMsg); + sqlite3_log(pParse->rc, "%s in \"%s\"", + *pzErrMsg, pParse->zTail); pParse->zErrMsg = 0; nErr++; } + pParse->zTail = zSql; if( pParse->pVdbe && pParse->nErr>0 && pParse->nested==0 ){ sqlite3VdbeDelete(pParse->pVdbe); pParse->pVdbe = 0; @@ -142948,16 +152305,18 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr sqlite3_free(pParse->apVtabLock); #endif - if( !IN_DECLARE_VTAB ){ + if( !IN_SPECIAL_PARSE ){ /* If the pParse->declareVtab flag is set, do not delete any table ** structure built up in pParse->pNewTable. The calling code (see vtab.c) ** will take responsibility for freeing the Table structure. */ sqlite3DeleteTable(db, pParse->pNewTable); } + if( !IN_RENAME_OBJECT ){ + sqlite3DeleteTrigger(db, pParse->pNewTrigger); + } if( pParse->pWithToFree ) sqlite3WithDelete(db, pParse->pWithToFree); - sqlite3DeleteTrigger(db, pParse->pNewTrigger); sqlite3DbFree(db, pParse->pVList); while( pParse->pAinc ){ AutoincInfo *p = pParse->pAinc; @@ -143604,6 +152963,11 @@ SQLITE_API int sqlite3_initialize(void){ sqlite3GlobalConfig.isPCacheInit = 1; rc = sqlite3OsInit(); } +#ifdef SQLITE_ENABLE_DESERIALIZE + if( rc==SQLITE_OK ){ + rc = sqlite3MemdbInit(); + } +#endif if( rc==SQLITE_OK ){ sqlite3PCacheBufferSetup( sqlite3GlobalConfig.pPage, sqlite3GlobalConfig.szPage, sqlite3GlobalConfig.nPage); @@ -143636,7 +153000,7 @@ SQLITE_API int sqlite3_initialize(void){ #ifndef NDEBUG #ifndef SQLITE_OMIT_FLOATING_POINT /* This section of code's only "output" is via assert() statements. */ - if ( rc==SQLITE_OK ){ + if( rc==SQLITE_OK ){ u64 x = (((u64)1)<<63)-1; double y; assert(sizeof(x)==8); @@ -144002,6 +153366,17 @@ SQLITE_API int sqlite3_config(int op, ...){ break; } +#ifdef SQLITE_ENABLE_SORTER_REFERENCES + case SQLITE_CONFIG_SORTERREF_SIZE: { + int iVal = va_arg(ap, int); + if( iVal<0 ){ + iVal = SQLITE_DEFAULT_SORTERREF_SIZE; + } + sqlite3GlobalConfig.szSorterRef = (u32)iVal; + break; + } +#endif /* SQLITE_ENABLE_SORTER_REFERENCES */ + default: { rc = SQLITE_ERROR; break; @@ -144183,6 +153558,8 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ { SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLITE_NoCkptOnClose }, { SQLITE_DBCONFIG_ENABLE_QPSG, SQLITE_EnableQPSG }, { SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_TriggerEQP }, + { SQLITE_DBCONFIG_RESET_DATABASE, SQLITE_ResetDatabase }, + { SQLITE_DBCONFIG_DEFENSIVE, SQLITE_Defensive }, }; unsigned int i; rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ @@ -144197,7 +153574,7 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ db->flags &= ~aFlagOp[i].mask; } if( oldFlags!=db->flags ){ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); } if( pRes ){ *pRes = (db->flags & aFlagOp[i].mask)!=0; @@ -144258,6 +153635,15 @@ static int binCollFunc( return rc; } +/* +** Return true if CollSeq is the default built-in BINARY. +*/ +SQLITE_PRIVATE int sqlite3IsBinary(const CollSeq *p){ + assert( p==0 || p->xCmp!=binCollFunc || p->pUser!=0 + || strcmp(p->zName,"BINARY")==0 ); + return p==0 || (p->xCmp==binCollFunc && p->pUser==0); +} + /* ** Another built-in collating sequence: NOCASE. ** @@ -144379,7 +153765,7 @@ static void disconnectAllVtab(sqlite3 *db){ sqlite3BtreeEnterAll(db); for(i=0; inDb; i++){ Schema *pSchema = db->aDb[i].pSchema; - if( db->aDb[i].pSchema ){ + if( pSchema ){ for(p=sqliteHashFirst(&pSchema->tblHash); p; p=sqliteHashNext(p)){ Table *pTab = (Table *)sqliteHashData(p); if( IsVirtual(pTab) ) sqlite3VtabDisconnect(db, pTab); @@ -144639,8 +154025,8 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ sqlite3VtabRollback(db); sqlite3EndBenignMalloc(); - if( (db->mDbFlags&DBFLAG_SchemaChange)!=0 && db->init.busy==0 ){ - sqlite3ExpirePreparedStatements(db); + if( schemaChange ){ + sqlite3ExpirePreparedStatements(db, 0); sqlite3ResetAllSchemasOfConnection(db); } sqlite3BtreeLeaveAll(db); @@ -144668,6 +154054,7 @@ SQLITE_PRIVATE const char *sqlite3ErrName(int rc){ switch( rc ){ case SQLITE_OK: zName = "SQLITE_OK"; break; case SQLITE_ERROR: zName = "SQLITE_ERROR"; break; + case SQLITE_ERROR_SNAPSHOT: zName = "SQLITE_ERROR_SNAPSHOT"; break; case SQLITE_INTERNAL: zName = "SQLITE_INTERNAL"; break; case SQLITE_PERM: zName = "SQLITE_PERM"; break; case SQLITE_ABORT: zName = "SQLITE_ABORT"; break; @@ -144803,6 +154190,8 @@ SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){ /* SQLITE_FORMAT */ 0, /* SQLITE_RANGE */ "column index out of range", /* SQLITE_NOTADB */ "file is not a database", + /* SQLITE_NOTICE */ "notification message", + /* SQLITE_WARNING */ "warning message", }; const char *zErr = "unknown error"; switch( rc ){ @@ -144810,6 +154199,14 @@ SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){ zErr = "abort due to ROLLBACK"; break; } + case SQLITE_ROW: { + zErr = "another row available"; + break; + } + case SQLITE_DONE: { + zErr = "no more rows available"; + break; + } default: { rc &= 0xff; if( ALWAYS(rc>=0) && rcbusyTimeout; + int tmout = db->busyTimeout; int delay, prior; +#ifdef SQLITE_ENABLE_SETLK_TIMEOUT + if( sqlite3OsFileControl(pFile,SQLITE_FCNTL_LOCK_TIMEOUT,&tmout)==SQLITE_OK ){ + if( count ){ + tmout = 0; + sqlite3OsFileControl(pFile, SQLITE_FCNTL_LOCK_TIMEOUT, &tmout); + return 0; + }else{ + return 1; + } + } +#else + UNUSED_PARAMETER(pFile); +#endif assert( count>=0 ); if( count < NDELAY ){ delay = delays[count]; @@ -144849,16 +154265,19 @@ static int sqliteDefaultBusyCallback( delay = delays[NDELAY-1]; prior = totals[NDELAY-1] + delay*(count-(NDELAY-1)); } - if( prior + delay > timeout ){ - delay = timeout - prior; + if( prior + delay > tmout ){ + delay = tmout - prior; if( delay<=0 ) return 0; } sqlite3OsSleep(db->pVfs, delay*1000); return 1; #else + /* This case for unix systems that lack usleep() support. Sleeping + ** must be done in increments of whole seconds */ sqlite3 *db = (sqlite3 *)ptr; - int timeout = ((sqlite3 *)ptr)->busyTimeout; - if( (count+1)*1000 > timeout ){ + int tmout = ((sqlite3 *)ptr)->busyTimeout; + UNUSED_PARAMETER(pFile); + if( (count+1)*1000 > tmout ){ return 0; } sqlite3OsSleep(db->pVfs, 1000000); @@ -144869,14 +154288,25 @@ static int sqliteDefaultBusyCallback( /* ** Invoke the given busy handler. ** -** This routine is called when an operation failed with a lock. +** This routine is called when an operation failed to acquire a +** lock on VFS file pFile. +** ** If this routine returns non-zero, the lock is retried. If it ** returns 0, the operation aborts with an SQLITE_BUSY error. */ -SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler *p){ +SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler *p, sqlite3_file *pFile){ int rc; - if( NEVER(p==0) || p->xFunc==0 || p->nBusy<0 ) return 0; - rc = p->xFunc(p->pArg, p->nBusy); + if( p->xBusyHandler==0 || p->nBusy<0 ) return 0; + if( p->bExtraFileArg ){ + /* Add an extra parameter with the pFile pointer to the end of the + ** callback argument list */ + int (*xTra)(void*,int,sqlite3_file*); + xTra = (int(*)(void*,int,sqlite3_file*))p->xBusyHandler; + rc = xTra(p->pBusyArg, p->nBusy, pFile); + }else{ + /* Legacy style busy handler callback */ + rc = p->xBusyHandler(p->pBusyArg, p->nBusy); + } if( rc==0 ){ p->nBusy = -1; }else{ @@ -144898,9 +154328,10 @@ SQLITE_API int sqlite3_busy_handler( if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; #endif sqlite3_mutex_enter(db->mutex); - db->busyHandler.xFunc = xBusy; - db->busyHandler.pArg = pArg; + db->busyHandler.xBusyHandler = xBusy; + db->busyHandler.pBusyArg = pArg; db->busyHandler.nBusy = 0; + db->busyHandler.bExtraFileArg = 0; db->busyTimeout = 0; sqlite3_mutex_leave(db->mutex); return SQLITE_OK; @@ -144948,8 +154379,10 @@ SQLITE_API int sqlite3_busy_timeout(sqlite3 *db, int ms){ if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; #endif if( ms>0 ){ - sqlite3_busy_handler(db, sqliteDefaultBusyCallback, (void*)db); + sqlite3_busy_handler(db, (int(*)(void*,int))sqliteDefaultBusyCallback, + (void*)db); db->busyTimeout = ms; + db->busyHandler.bExtraFileArg = 1; }else{ sqlite3_busy_handler(db, 0, 0); } @@ -144985,6 +154418,8 @@ SQLITE_PRIVATE int sqlite3CreateFunc( void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), void (*xStep)(sqlite3_context*,int,sqlite3_value **), void (*xFinal)(sqlite3_context*), + void (*xValue)(sqlite3_context*), + void (*xInverse)(sqlite3_context*,int,sqlite3_value **), FuncDestructor *pDestructor ){ FuncDef *p; @@ -144992,12 +154427,14 @@ SQLITE_PRIVATE int sqlite3CreateFunc( int extraFlags; assert( sqlite3_mutex_held(db->mutex) ); - if( zFunctionName==0 || - (xSFunc && (xFinal || xStep)) || - (!xSFunc && (xFinal && !xStep)) || - (!xSFunc && (!xFinal && xStep)) || - (nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) || - (255<(nName = sqlite3Strlen30( zFunctionName))) ){ + assert( xValue==0 || xSFunc==0 ); + if( zFunctionName==0 /* Must have a valid name */ + || (xSFunc!=0 && xFinal!=0) /* Not both xSFunc and xFinal */ + || ((xFinal==0)!=(xStep==0)) /* Both or neither of xFinal and xStep */ + || ((xValue==0)!=(xInverse==0)) /* Both or neither of xValue, xInverse */ + || (nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) + || (255<(nName = sqlite3Strlen30( zFunctionName))) + ){ return SQLITE_MISUSE_BKPT; } @@ -145018,10 +154455,10 @@ SQLITE_PRIVATE int sqlite3CreateFunc( }else if( enc==SQLITE_ANY ){ int rc; rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8|extraFlags, - pUserData, xSFunc, xStep, xFinal, pDestructor); + pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor); if( rc==SQLITE_OK ){ rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE|extraFlags, - pUserData, xSFunc, xStep, xFinal, pDestructor); + pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor); } if( rc!=SQLITE_OK ){ return rc; @@ -145038,14 +154475,14 @@ SQLITE_PRIVATE int sqlite3CreateFunc( ** operation to continue but invalidate all precompiled statements. */ p = sqlite3FindFunction(db, zFunctionName, nArg, (u8)enc, 0); - if( p && (p->funcFlags & SQLITE_FUNC_ENCMASK)==enc && p->nArg==nArg ){ + if( p && (p->funcFlags & SQLITE_FUNC_ENCMASK)==(u32)enc && p->nArg==nArg ){ if( db->nVdbeActive ){ sqlite3ErrorWithMsg(db, SQLITE_BUSY, "unable to delete/modify user-function due to active statements"); assert( !db->mallocFailed ); return SQLITE_BUSY; }else{ - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); } } @@ -145067,38 +154504,32 @@ SQLITE_PRIVATE int sqlite3CreateFunc( testcase( p->funcFlags & SQLITE_DETERMINISTIC ); p->xSFunc = xSFunc ? xSFunc : xStep; p->xFinalize = xFinal; + p->xValue = xValue; + p->xInverse = xInverse; p->pUserData = pUserData; p->nArg = (u16)nArg; return SQLITE_OK; } /* -** Create new user functions. +** Worker function used by utf-8 APIs that create new functions: +** +** sqlite3_create_function() +** sqlite3_create_function_v2() +** sqlite3_create_window_function() */ -SQLITE_API int sqlite3_create_function( - sqlite3 *db, - const char *zFunc, - int nArg, - int enc, - void *p, - void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), - void (*xStep)(sqlite3_context*,int,sqlite3_value **), - void (*xFinal)(sqlite3_context*) -){ - return sqlite3_create_function_v2(db, zFunc, nArg, enc, p, xSFunc, xStep, - xFinal, 0); -} - -SQLITE_API int sqlite3_create_function_v2( +static int createFunctionApi( sqlite3 *db, const char *zFunc, int nArg, int enc, void *p, - void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), - void (*xStep)(sqlite3_context*,int,sqlite3_value **), + void (*xSFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*), - void (*xDestroy)(void *) + void (*xValue)(sqlite3_context*), + void (*xInverse)(sqlite3_context*,int,sqlite3_value**), + void(*xDestroy)(void*) ){ int rc = SQLITE_ERROR; FuncDestructor *pArg = 0; @@ -145110,19 +154541,23 @@ SQLITE_API int sqlite3_create_function_v2( #endif sqlite3_mutex_enter(db->mutex); if( xDestroy ){ - pArg = (FuncDestructor *)sqlite3DbMallocZero(db, sizeof(FuncDestructor)); + pArg = (FuncDestructor *)sqlite3Malloc(sizeof(FuncDestructor)); if( !pArg ){ + sqlite3OomFault(db); xDestroy(p); goto out; } + pArg->nRef = 0; pArg->xDestroy = xDestroy; pArg->pUserData = p; } - rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, pArg); + rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, + xSFunc, xStep, xFinal, xValue, xInverse, pArg + ); if( pArg && pArg->nRef==0 ){ assert( rc!=SQLITE_OK ); xDestroy(p); - sqlite3DbFree(db, pArg); + sqlite3_free(pArg); } out: @@ -145131,6 +154566,52 @@ SQLITE_API int sqlite3_create_function_v2( return rc; } +/* +** Create new user functions. +*/ +SQLITE_API int sqlite3_create_function( + sqlite3 *db, + const char *zFunc, + int nArg, + int enc, + void *p, + void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), + void (*xStep)(sqlite3_context*,int,sqlite3_value **), + void (*xFinal)(sqlite3_context*) +){ + return createFunctionApi(db, zFunc, nArg, enc, p, xSFunc, xStep, + xFinal, 0, 0, 0); +} +SQLITE_API int sqlite3_create_function_v2( + sqlite3 *db, + const char *zFunc, + int nArg, + int enc, + void *p, + void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), + void (*xStep)(sqlite3_context*,int,sqlite3_value **), + void (*xFinal)(sqlite3_context*), + void (*xDestroy)(void *) +){ + return createFunctionApi(db, zFunc, nArg, enc, p, xSFunc, xStep, + xFinal, 0, 0, xDestroy); +} +SQLITE_API int sqlite3_create_window_function( + sqlite3 *db, + const char *zFunc, + int nArg, + int enc, + void *p, + void (*xStep)(sqlite3_context*,int,sqlite3_value **), + void (*xFinal)(sqlite3_context*), + void (*xValue)(sqlite3_context*), + void (*xInverse)(sqlite3_context*,int,sqlite3_value **), + void (*xDestroy)(void *) +){ + return createFunctionApi(db, zFunc, nArg, enc, p, 0, xStep, + xFinal, xValue, xInverse, xDestroy); +} + #ifndef SQLITE_OMIT_UTF16 SQLITE_API int sqlite3_create_function16( sqlite3 *db, @@ -145151,7 +154632,7 @@ SQLITE_API int sqlite3_create_function16( sqlite3_mutex_enter(db->mutex); assert( !db->mallocFailed ); zFunc8 = sqlite3Utf16to8(db, zFunctionName, -1, SQLITE_UTF16NATIVE); - rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xSFunc,xStep,xFinal,0); + rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xSFunc,xStep,xFinal,0,0,0); sqlite3DbFree(db, zFunc8); rc = sqlite3ApiExit(db, rc); sqlite3_mutex_leave(db->mutex); @@ -145160,6 +154641,28 @@ SQLITE_API int sqlite3_create_function16( #endif +/* +** The following is the implementation of an SQL function that always +** fails with an error message stating that the function is used in the +** wrong context. The sqlite3_overload_function() API might construct +** SQL function that use this routine so that the functions will exist +** for name resolution but are actually overloaded by the xFindFunction +** method of virtual tables. +*/ +static void sqlite3InvalidFunction( + sqlite3_context *context, /* The function calling context */ + int NotUsed, /* Number of arguments to the function */ + sqlite3_value **NotUsed2 /* Value of each argument */ +){ + const char *zName = (const char*)sqlite3_user_data(context); + char *zErr; + UNUSED_PARAMETER2(NotUsed, NotUsed2); + zErr = sqlite3_mprintf( + "unable to use function %s in the requested context", zName); + sqlite3_result_error(context, zErr, -1); + sqlite3_free(zErr); +} + /* ** Declare that a function has been overloaded by a virtual table. ** @@ -145177,7 +154680,8 @@ SQLITE_API int sqlite3_overload_function( const char *zName, int nArg ){ - int rc = SQLITE_OK; + int rc; + char *zCopy; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) || zName==0 || nArg<-2 ){ @@ -145185,13 +154689,13 @@ SQLITE_API int sqlite3_overload_function( } #endif sqlite3_mutex_enter(db->mutex); - if( sqlite3FindFunction(db, zName, nArg, SQLITE_UTF8, 0)==0 ){ - rc = sqlite3CreateFunc(db, zName, nArg, SQLITE_UTF8, - 0, sqlite3InvalidFunction, 0, 0, 0); - } - rc = sqlite3ApiExit(db, rc); + rc = sqlite3FindFunction(db, zName, nArg, SQLITE_UTF8, 0)!=0; sqlite3_mutex_leave(db->mutex); - return rc; + if( rc ) return SQLITE_OK; + zCopy = sqlite3_mprintf(zName); + if( zCopy==0 ) return SQLITE_NOMEM; + return sqlite3_create_function_v2(db, zName, nArg, SQLITE_UTF8, + zCopy, sqlite3InvalidFunction, 0, 0, sqlite3_free); } #ifndef SQLITE_OMIT_TRACE @@ -145753,7 +155257,7 @@ static int createCollation( "unable to delete/modify collation sequence due to active statements"); return SQLITE_BUSY; } - sqlite3ExpirePreparedStatements(db); + sqlite3ExpirePreparedStatements(db, 0); /* If collation sequence pColl was created directly by a call to ** sqlite3_create_collation, and not generated by synthCollSeq(), @@ -146242,6 +155746,7 @@ static int openDatabase( db->nDb = 2; db->magic = SQLITE_MAGIC_BUSY; db->aDb = db->aDbStatic; + db->lookaside.bDisable = 1; assert( sizeof(db->aLimit)==sizeof(aHardLimit) ); memcpy(db->aLimit, aHardLimit, sizeof(db->aLimit)); @@ -146281,6 +155786,9 @@ static int openDatabase( #endif #if defined(SQLITE_ENABLE_QPSG) | SQLITE_EnableQPSG +#endif +#if defined(SQLITE_DEFAULT_DEFENSIVE) + | SQLITE_Defensive #endif ; sqlite3HashInit(&db->aCollSeq); @@ -146942,10 +156450,11 @@ SQLITE_API int sqlite3_file_control(sqlite3 *db, const char *zDbName, int op, vo }else if( op==SQLITE_FCNTL_JOURNAL_POINTER ){ *(sqlite3_file**)pArg = sqlite3PagerJrnlFile(pPager); rc = SQLITE_OK; - }else if( fd->pMethods ){ - rc = sqlite3OsFileControl(fd, op, pArg); + }else if( op==SQLITE_FCNTL_DATA_VERSION ){ + *(unsigned int*)pArg = sqlite3PagerDataVersion(pPager); + rc = SQLITE_OK; }else{ - rc = SQLITE_NOTFOUND; + rc = sqlite3OsFileControl(fd, op, pArg); } sqlite3BtreeLeave(pBtree); } @@ -147166,32 +156675,25 @@ SQLITE_API int sqlite3_test_control(int op, ...){ break; } -#ifdef SQLITE_N_KEYWORD - /* sqlite3_test_control(SQLITE_TESTCTRL_ISKEYWORD, const char *zWord) + /* sqlite3_test_control(SQLITE_TESTCTRL_LOCALTIME_FAULT, int onoff); ** - ** If zWord is a keyword recognized by the parser, then return the - ** number of keywords. Or if zWord is not a keyword, return 0. - ** - ** This test feature is only available in the amalgamation since - ** the SQLITE_N_KEYWORD macro is not defined in this file if SQLite - ** is built using separate source files. + ** If parameter onoff is non-zero, subsequent calls to localtime() + ** and its variants fail. If onoff is zero, undo this setting. */ - case SQLITE_TESTCTRL_ISKEYWORD: { - const char *zWord = va_arg(ap, const char*); - int n = sqlite3Strlen30(zWord); - rc = (sqlite3KeywordCode((u8*)zWord, n)!=TK_ID) ? SQLITE_N_KEYWORD : 0; + case SQLITE_TESTCTRL_LOCALTIME_FAULT: { + sqlite3GlobalConfig.bLocaltimeFault = va_arg(ap, int); break; } -#endif - /* sqlite3_test_control(SQLITE_TESTCTRL_LOCALTIME_FAULT, int onoff); + /* sqlite3_test_control(SQLITE_TESTCTRL_INTERNAL_FUNCS, int onoff); ** - ** If parameter onoff is non-zero, configure the wrappers so that all - ** subsequent calls to localtime() and variants fail. If onoff is zero, - ** undo this setting. + ** If parameter onoff is non-zero, internal-use-only SQL functions + ** are visible to ordinary SQL. This is useful for testing but is + ** unsafe because invalid parameters to those internal-use-only functions + ** can result in crashes or segfaults. */ - case SQLITE_TESTCTRL_LOCALTIME_FAULT: { - sqlite3GlobalConfig.bLocaltimeFault = va_arg(ap, int); + case SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: { + sqlite3GlobalConfig.bInternalFunctions = va_arg(ap, int); break; } @@ -147225,7 +156727,8 @@ SQLITE_API int sqlite3_test_control(int op, ...){ */ case SQLITE_TESTCTRL_VDBE_COVERAGE: { #ifdef SQLITE_VDBE_COVERAGE - typedef void (*branch_callback)(void*,int,u8,u8); + typedef void (*branch_callback)(void*,unsigned int, + unsigned char,unsigned char); sqlite3GlobalConfig.xVdbeBranch = va_arg(ap,branch_callback); sqlite3GlobalConfig.pVdbeBranchArg = va_arg(ap,void*); #endif @@ -147412,7 +156915,7 @@ SQLITE_API int sqlite3_snapshot_get( if( iDb==0 || iDb>1 ){ Btree *pBt = db->aDb[iDb].pBt; if( 0==sqlite3BtreeIsInTrans(pBt) ){ - rc = sqlite3BtreeBeginTrans(pBt, 0); + rc = sqlite3BtreeBeginTrans(pBt, 0, 0); if( rc==SQLITE_OK ){ rc = sqlite3PagerSnapshotGet(sqlite3BtreePager(pBt), ppSnapshot); } @@ -147447,11 +156950,29 @@ SQLITE_API int sqlite3_snapshot_open( iDb = sqlite3FindDbName(db, zDb); if( iDb==0 || iDb>1 ){ Btree *pBt = db->aDb[iDb].pBt; - if( 0==sqlite3BtreeIsInReadTrans(pBt) ){ - rc = sqlite3PagerSnapshotOpen(sqlite3BtreePager(pBt), pSnapshot); + if( sqlite3BtreeIsInTrans(pBt)==0 ){ + Pager *pPager = sqlite3BtreePager(pBt); + int bUnlock = 0; + if( sqlite3BtreeIsInReadTrans(pBt) ){ + if( db->nVdbeActive==0 ){ + rc = sqlite3PagerSnapshotCheck(pPager, pSnapshot); + if( rc==SQLITE_OK ){ + bUnlock = 1; + rc = sqlite3BtreeCommit(pBt); + } + } + }else{ + rc = SQLITE_OK; + } + if( rc==SQLITE_OK ){ + rc = sqlite3PagerSnapshotOpen(pPager, pSnapshot); + } if( rc==SQLITE_OK ){ - rc = sqlite3BtreeBeginTrans(pBt, 0); - sqlite3PagerSnapshotOpen(sqlite3BtreePager(pBt), 0); + rc = sqlite3BtreeBeginTrans(pBt, 0, 0); + sqlite3PagerSnapshotOpen(pPager, 0); + } + if( bUnlock ){ + sqlite3PagerSnapshotUnlock(pPager); } } } @@ -147482,7 +157003,7 @@ SQLITE_API int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb){ if( iDb==0 || iDb>1 ){ Btree *pBt = db->aDb[iDb].pBt; if( 0==sqlite3BtreeIsInReadTrans(pBt) ){ - rc = sqlite3BtreeBeginTrans(pBt, 0); + rc = sqlite3BtreeBeginTrans(pBt, 0, 0); if( rc==SQLITE_OK ){ rc = sqlite3PagerSnapshotRecover(sqlite3BtreePager(pBt)); sqlite3BtreeCommit(pBt); @@ -149050,7 +158571,7 @@ SQLITE_PRIVATE int sqlite3Fts3ExprParse(sqlite3_tokenizer *, int, ); SQLITE_PRIVATE void sqlite3Fts3ExprFree(Fts3Expr *); #ifdef SQLITE_TEST -SQLITE_PRIVATE int sqlite3Fts3ExprInitTestInterface(sqlite3 *db); +SQLITE_PRIVATE int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash*); SQLITE_PRIVATE int sqlite3Fts3InitTerm(sqlite3 *db); #endif @@ -150618,7 +160139,7 @@ static int fts3ScanInteriorNode( const char *zCsr = zNode; /* Cursor to iterate through node */ const char *zEnd = &zCsr[nNode];/* End of interior node buffer */ char *zBuffer = 0; /* Buffer to load terms into */ - int nAlloc = 0; /* Size of allocated buffer */ + i64 nAlloc = 0; /* Size of allocated buffer */ int isFirstTerm = 1; /* True when processing first term on page */ sqlite3_int64 iChild; /* Block id of child node to descend to */ @@ -150656,14 +160177,14 @@ static int fts3ScanInteriorNode( zCsr += fts3GetVarint32(zCsr, &nSuffix); assert( nPrefix>=0 && nSuffix>=0 ); - if( &zCsr[nSuffix]>zEnd ){ + if( nPrefix>zCsr-zNode || nSuffix>zEnd-zCsr ){ rc = FTS_CORRUPT_VTAB; goto finish_scan; } - if( nPrefix+nSuffix>nAlloc ){ + if( (i64)nPrefix+nSuffix>nAlloc ){ char *zNew; - nAlloc = (nPrefix+nSuffix) * 2; - zNew = (char *)sqlite3_realloc(zBuffer, nAlloc); + nAlloc = ((i64)nPrefix+nSuffix) * 2; + zNew = (char *)sqlite3_realloc64(zBuffer, nAlloc); if( !zNew ){ rc = SQLITE_NOMEM; goto finish_scan; @@ -152605,7 +162126,7 @@ static int fts3SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ int rc = SQLITE_OK; UNUSED_PARAMETER(iSavepoint); assert( ((Fts3Table *)pVtab)->inTransaction ); - assert( ((Fts3Table *)pVtab)->mxSavepoint < iSavepoint ); + assert( ((Fts3Table *)pVtab)->mxSavepoint <= iSavepoint ); TESTONLY( ((Fts3Table *)pVtab)->mxSavepoint = iSavepoint ); if( ((Fts3Table *)pVtab)->bIgnoreSavepoint==0 ){ rc = fts3SyncMethod(pVtab); @@ -152643,8 +162164,23 @@ static int fts3RollbackToMethod(sqlite3_vtab *pVtab, int iSavepoint){ return SQLITE_OK; } +/* +** Return true if zName is the extension on one of the shadow tables used +** by this module. +*/ +static int fts3ShadowName(const char *zName){ + static const char *azName[] = { + "content", "docsize", "segdir", "segments", "stat", + }; + unsigned int i; + for(i=0; i */ -/* -** Function to query the hash-table of tokenizers (see README.tokenizers). -*/ -static int queryTestTokenizer( - sqlite3 *db, - const char *zName, - const sqlite3_tokenizer_module **pp -){ - int rc; - sqlite3_stmt *pStmt; - const char zSql[] = "SELECT fts3_tokenizer(?)"; - - *pp = 0; - rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0); - if( rc!=SQLITE_OK ){ - return rc; - } - - sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); - if( SQLITE_ROW==sqlite3_step(pStmt) ){ - if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ - memcpy((void *)pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); - } - } - - return sqlite3_finalize(pStmt); -} - /* ** Return a pointer to a buffer containing a text representation of the ** expression passed as the first argument. The buffer is obtained from @@ -156515,12 +166027,12 @@ static char *exprToString(Fts3Expr *pExpr, char *zBuf){ ** ** SELECT fts3_exprtest('simple', 'Bill col2:Bloggs', 'col1', 'col2'); */ -static void fts3ExprTest( +static void fts3ExprTestCommon( + int bRebalance, sqlite3_context *context, int argc, sqlite3_value **argv ){ - sqlite3_tokenizer_module const *pModule = 0; sqlite3_tokenizer *pTokenizer = 0; int rc; char **azCol = 0; @@ -156530,7 +166042,9 @@ static void fts3ExprTest( int ii; Fts3Expr *pExpr; char *zBuf = 0; - sqlite3 *db = sqlite3_context_db_handle(context); + Fts3Hash *pHash = (Fts3Hash*)sqlite3_user_data(context); + const char *zTokenizer = 0; + char *zErr = 0; if( argc<3 ){ sqlite3_result_error(context, @@ -156539,23 +166053,17 @@ static void fts3ExprTest( return; } - rc = queryTestTokenizer(db, - (const char *)sqlite3_value_text(argv[0]), &pModule); - if( rc==SQLITE_NOMEM ){ - sqlite3_result_error_nomem(context); - goto exprtest_out; - }else if( !pModule ){ - sqlite3_result_error(context, "No such tokenizer module", -1); - goto exprtest_out; - } - - rc = pModule->xCreate(0, 0, &pTokenizer); - assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); - if( rc==SQLITE_NOMEM ){ - sqlite3_result_error_nomem(context); - goto exprtest_out; + zTokenizer = (const char*)sqlite3_value_text(argv[0]); + rc = sqlite3Fts3InitTokenizer(pHash, zTokenizer, &pTokenizer, &zErr); + if( rc!=SQLITE_OK ){ + if( rc==SQLITE_NOMEM ){ + sqlite3_result_error_nomem(context); + }else{ + sqlite3_result_error(context, zErr, -1); + } + sqlite3_free(zErr); + return; } - pTokenizer->pModule = pModule; zExpr = (const char *)sqlite3_value_text(argv[1]); nExpr = sqlite3_value_bytes(argv[1]); @@ -156569,7 +166077,7 @@ static void fts3ExprTest( azCol[ii] = (char *)sqlite3_value_text(argv[ii+2]); } - if( sqlite3_user_data(context) ){ + if( bRebalance ){ char *zDummy = 0; rc = sqlite3Fts3ExprParse( pTokenizer, 0, azCol, 0, nCol, nCol, zExpr, nExpr, &pExpr, &zDummy @@ -156595,23 +166103,38 @@ static void fts3ExprTest( sqlite3Fts3ExprFree(pExpr); exprtest_out: - if( pModule && pTokenizer ){ - rc = pModule->xDestroy(pTokenizer); + if( pTokenizer ){ + rc = pTokenizer->pModule->xDestroy(pTokenizer); } sqlite3_free(azCol); } +static void fts3ExprTest( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + fts3ExprTestCommon(0, context, argc, argv); +} +static void fts3ExprTestRebalance( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + fts3ExprTestCommon(1, context, argc, argv); +} + /* ** Register the query expression parser test function fts3_exprtest() ** with database connection db. */ -SQLITE_PRIVATE int sqlite3Fts3ExprInitTestInterface(sqlite3* db){ +SQLITE_PRIVATE int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash *pHash){ int rc = sqlite3_create_function( - db, "fts3_exprtest", -1, SQLITE_UTF8, 0, fts3ExprTest, 0, 0 + db, "fts3_exprtest", -1, SQLITE_UTF8, (void*)pHash, fts3ExprTest, 0, 0 ); if( rc==SQLITE_OK ){ rc = sqlite3_create_function(db, "fts3_exprtest_rebalance", - -1, SQLITE_UTF8, (void *)1, fts3ExprTest, 0, 0 + -1, SQLITE_UTF8, (void*)pHash, fts3ExprTestRebalance, 0, 0 ); } return rc; @@ -158874,7 +168397,8 @@ SQLITE_PRIVATE int sqlite3Fts3InitTok(sqlite3 *db, Fts3Hash *pHash){ 0, /* xRename */ 0, /* xSavepoint */ 0, /* xRelease */ - 0 /* xRollbackTo */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ }; int rc; /* Return code */ @@ -160262,15 +169786,19 @@ static int fts3SegReaderNext( ** safe (no risk of overread) even if the node data is corrupted. */ pNext += fts3GetVarint32(pNext, &nPrefix); pNext += fts3GetVarint32(pNext, &nSuffix); - if( nPrefix<0 || nSuffix<=0 - || &pNext[nSuffix]>&pReader->aNode[pReader->nNode] + if( nSuffix<=0 + || (&pReader->aNode[pReader->nNode] - pNext)pReader->nTermAlloc ){ return FTS_CORRUPT_VTAB; } - if( nPrefix+nSuffix>pReader->nTermAlloc ){ - int nNew = (nPrefix+nSuffix)*2; - char *zNew = sqlite3_realloc(pReader->zTerm, nNew); + /* Both nPrefix and nSuffix were read by fts3GetVarint32() and so are + ** between 0 and 0x7FFFFFFF. But the sum of the two may cause integer + ** overflow - hence the (i64) casts. */ + if( (i64)nPrefix+nSuffix>(i64)pReader->nTermAlloc ){ + i64 nNew = ((i64)nPrefix+nSuffix)*2; + char *zNew = sqlite3_realloc64(pReader->zTerm, nNew); if( !zNew ){ return SQLITE_NOMEM; } @@ -160292,7 +169820,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->aDoclist[pReader->nDoclist]>&pReader->aNode[pReader->nNode] + if( (&pReader->aNode[pReader->nNode] - pReader->aDoclist)nDoclist || (pReader->nPopulate==0 && pReader->aDoclist[pReader->nDoclist-1]) ){ return FTS_CORRUPT_VTAB; @@ -160796,6 +170324,7 @@ static int fts3WriteSegment( sqlite3_bind_blob(pStmt, 2, z, n, SQLITE_STATIC); sqlite3_step(pStmt); rc = sqlite3_reset(pStmt); + sqlite3_bind_null(pStmt, 2); } return rc; } @@ -160852,6 +170381,7 @@ static int fts3WriteSegdir( sqlite3_bind_blob(pStmt, 6, zRoot, nRoot, SQLITE_STATIC); sqlite3_step(pStmt); rc = sqlite3_reset(pStmt); + sqlite3_bind_null(pStmt, 6); } return rc; } @@ -162331,6 +171861,7 @@ static void fts3UpdateDocTotals( sqlite3_bind_blob(pStmt, 2, pBlob, nBlob, SQLITE_STATIC); sqlite3_step(pStmt); *pRC = sqlite3_reset(pStmt); + sqlite3_bind_null(pStmt, 2); sqlite3_free(a); } @@ -162615,6 +172146,9 @@ 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; + } blobGrowBuffer(&p->term, nPrefix+nSuffix, &rc); if( rc==SQLITE_OK ){ memcpy(&p->term.a[nPrefix], &p->aNode[p->iOff], nSuffix); @@ -162622,6 +172156,9 @@ static int nodeReaderNext(NodeReader *p){ p->iOff += nSuffix; if( p->iChild==0 ){ p->iOff += fts3GetVarint32(&p->aNode[p->iOff], &p->nDoclist); + if( (p->nNode-p->iOff)nDoclist ){ + return SQLITE_CORRUPT_VTAB; + } p->aDoclist = &p->aNode[p->iOff]; p->iOff += p->nDoclist; } @@ -162629,7 +172166,6 @@ static int nodeReaderNext(NodeReader *p){ } assert( p->iOff<=p->nNode ); - return rc; } @@ -163519,6 +173055,7 @@ static int fts3TruncateSegment( sqlite3_bind_int(pChomp, 4, iIdx); sqlite3_step(pChomp); rc = sqlite3_reset(pChomp); + sqlite3_bind_null(pChomp, 2); } } @@ -163598,6 +173135,7 @@ static int fts3IncrmergeHintStore(Fts3Table *p, Blob *pHint){ sqlite3_bind_blob(pReplace, 2, pHint->a, pHint->n, SQLITE_STATIC); sqlite3_step(pReplace); rc = sqlite3_reset(pReplace); + sqlite3_bind_null(pReplace, 2); } return rc; @@ -164412,7 +173950,6 @@ SQLITE_PRIVATE int sqlite3Fts3UpdateMethod( ){ Fts3Table *p = (Fts3Table *)pVtab; int rc = SQLITE_OK; /* Return Code */ - int isRemove = 0; /* True for an UPDATE or DELETE */ u32 *aSzIns = 0; /* Sizes of inserted documents */ u32 *aSzDel = 0; /* Sizes of deleted documents */ int nChng = 0; /* Net change in number of documents */ @@ -164510,7 +174047,6 @@ SQLITE_PRIVATE int sqlite3Fts3UpdateMethod( if( sqlite3_value_type(apVal[0])!=SQLITE_NULL ){ assert( sqlite3_value_type(apVal[0])==SQLITE_INTEGER ); rc = fts3DeleteByRowid(p, apVal[0], &nChng, aSzDel); - isRemove = 1; } /* If this is an INSERT or UPDATE operation, insert the new record. */ @@ -164522,7 +174058,7 @@ SQLITE_PRIVATE int sqlite3Fts3UpdateMethod( rc = FTS_CORRUPT_VTAB; } } - if( rc==SQLITE_OK && (!isRemove || *pRowid!=p->iPrevDocid ) ){ + if( rc==SQLITE_OK ){ rc = fts3PendingTermsDocid(p, 0, iLangid, *pRowid); } if( rc==SQLITE_OK ){ @@ -167042,9 +176578,9 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ #endif /* !defined(SQLITE_DISABLE_FTS3_UNICODE) */ /************** End of fts3_unicode2.c ***************************************/ -/************** Begin file rtree.c *******************************************/ +/************** Begin file json1.c *******************************************/ /* -** 2001 September 15 +** 2015-08-12 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -167053,1642 +176589,4236 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** -************************************************************************* -** This file contains code for implementations of the r-tree and r*-tree -** algorithms packaged as an SQLite virtual table module. -*/ - -/* -** Database Format of R-Tree Tables -** -------------------------------- -** -** The data structure for a single virtual r-tree table is stored in three -** native SQLite tables declared as follows. In each case, the '%' character -** in the table name is replaced with the user-supplied name of the r-tree -** table. -** -** CREATE TABLE %_node(nodeno INTEGER PRIMARY KEY, data BLOB) -** CREATE TABLE %_parent(nodeno INTEGER PRIMARY KEY, parentnode INTEGER) -** CREATE TABLE %_rowid(rowid INTEGER PRIMARY KEY, nodeno INTEGER) -** -** The data for each node of the r-tree structure is stored in the %_node -** table. For each node that is not the root node of the r-tree, there is -** an entry in the %_parent table associating the node with its parent. -** And for each row of data in the table, there is an entry in the %_rowid -** table that maps from the entries rowid to the id of the node that it -** is stored on. -** -** The root node of an r-tree always exists, even if the r-tree table is -** empty. The nodeno of the root node is always 1. All other nodes in the -** table must be the same size as the root node. The content of each node -** is formatted as follows: +****************************************************************************** ** -** 1. If the node is the root node (node 1), then the first 2 bytes -** of the node contain the tree depth as a big-endian integer. -** For non-root nodes, the first 2 bytes are left unused. +** This SQLite extension implements JSON functions. The interface is +** modeled after MySQL JSON functions: ** -** 2. The next 2 bytes contain the number of entries currently -** stored in the node. +** https://dev.mysql.com/doc/refman/5.7/en/json.html ** -** 3. The remainder of the node contains the node entries. Each entry -** consists of a single 8-byte integer followed by an even number -** of 4-byte coordinates. For leaf nodes the integer is the rowid -** of a record. For internal nodes it is the node number of a -** child page. +** For the time being, all JSON is stored as pure text. (We might add +** a JSONB type in the future which stores a binary encoding of JSON in +** a BLOB, but there is no support for JSONB in the current implementation. +** This implementation parses JSON text at 250 MB/s, so it is hard to see +** how JSONB might improve on that.) */ - -#if !defined(SQLITE_CORE) \ - || (defined(SQLITE_ENABLE_RTREE) && !defined(SQLITE_OMIT_VIRTUALTABLE)) - -#ifndef SQLITE_CORE -/* #include "sqlite3ext.h" */ - SQLITE_EXTENSION_INIT1 -#else -/* #include "sqlite3.h" */ +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_JSON1) +#if !defined(SQLITEINT_H) +/* #include "sqlite3ext.h" */ #endif - -/* #include */ +SQLITE_EXTENSION_INIT1 /* #include */ -/* #include */ +/* #include */ +/* #include */ +/* #include */ -#ifndef SQLITE_AMALGAMATION -#include "sqlite3rtree.h" -typedef sqlite3_int64 i64; -typedef sqlite3_uint64 u64; -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned int u32; +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAM +# define UNUSED_PARAM(X) (void)(X) #endif -/* The following macro is used to suppress compiler warnings. -*/ -#ifndef UNUSED_PARAMETER -# define UNUSED_PARAMETER(x) (void)(x) +#ifndef LARGEST_INT64 +# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) +# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) #endif -typedef struct Rtree Rtree; -typedef struct RtreeCursor RtreeCursor; -typedef struct RtreeNode RtreeNode; -typedef struct RtreeCell RtreeCell; -typedef struct RtreeConstraint RtreeConstraint; -typedef struct RtreeMatchArg RtreeMatchArg; -typedef struct RtreeGeomCallback RtreeGeomCallback; -typedef union RtreeCoord RtreeCoord; -typedef struct RtreeSearchPoint RtreeSearchPoint; - -/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */ -#define RTREE_MAX_DIMENSIONS 5 - -/* Size of hash table Rtree.aHash. This hash table is not expected to -** ever contain very many entries, so a fixed number of buckets is -** used. -*/ -#define HASHSIZE 97 - -/* The xBestIndex method of this virtual table requires an estimate of -** the number of rows in the virtual table to calculate the costs of -** various strategies. If possible, this estimate is loaded from the -** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum). -** Otherwise, if no sqlite_stat1 entry is available, use -** RTREE_DEFAULT_ROWEST. -*/ -#define RTREE_DEFAULT_ROWEST 1048576 -#define RTREE_MIN_ROWEST 100 - -/* -** An rtree virtual-table object. -*/ -struct Rtree { - sqlite3_vtab base; /* Base class. Must be first */ - sqlite3 *db; /* Host database connection */ - int iNodeSize; /* Size in bytes of each node in the node table */ - u8 nDim; /* Number of dimensions */ - u8 nDim2; /* Twice the number of dimensions */ - u8 eCoordType; /* RTREE_COORD_REAL32 or RTREE_COORD_INT32 */ - u8 nBytesPerCell; /* Bytes consumed per cell */ - u8 inWrTrans; /* True if inside write transaction */ - 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 */ - u32 nBusy; /* Current number of users of this structure */ - i64 nRowEst; /* Estimated number of rows in this table */ - u32 nCursor; /* Number of open cursors */ - - /* List of nodes removed during a CondenseTree operation. List is - ** linked together via the pointer normally used for hash chains - - ** RtreeNode.pNext. RtreeNode.iNode stores the depth of the sub-tree - ** headed by the node (leaf nodes have RtreeNode.iNode==0). - */ - RtreeNode *pDeleted; - int iReinsertHeight; /* Height of sub-trees Reinsert() has run on */ - - /* Blob I/O on xxx_node */ - sqlite3_blob *pNodeBlob; - - /* Statements to read/write/delete a record from xxx_node */ - sqlite3_stmt *pWriteNode; - sqlite3_stmt *pDeleteNode; - - /* Statements to read/write/delete a record from xxx_rowid */ - sqlite3_stmt *pReadRowid; - sqlite3_stmt *pWriteRowid; - sqlite3_stmt *pDeleteRowid; - - /* Statements to read/write/delete a record from xxx_parent */ - sqlite3_stmt *pReadParent; - sqlite3_stmt *pWriteParent; - sqlite3_stmt *pDeleteParent; - - RtreeNode *aHash[HASHSIZE]; /* Hash table of in-memory nodes. */ -}; - -/* Possible values for Rtree.eCoordType: */ -#define RTREE_COORD_REAL32 0 -#define RTREE_COORD_INT32 1 - /* -** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will -** only deal with integer coordinates. No floating point operations -** will be done. +** Versions of isspace(), isalnum() and isdigit() to which it is safe +** to pass signed char values. */ -#ifdef SQLITE_RTREE_INT_ONLY - typedef sqlite3_int64 RtreeDValue; /* High accuracy coordinate */ - typedef int RtreeValue; /* Low accuracy coordinate */ -# define RTREE_ZERO 0 +#ifdef sqlite3Isdigit + /* Use the SQLite core versions if this routine is part of the + ** SQLite amalgamation */ +# define safe_isdigit(x) sqlite3Isdigit(x) +# define safe_isalnum(x) sqlite3Isalnum(x) +# define safe_isxdigit(x) sqlite3Isxdigit(x) #else - typedef double RtreeDValue; /* High accuracy coordinate */ - typedef float RtreeValue; /* Low accuracy coordinate */ -# define RTREE_ZERO 0.0 + /* Use the standard library for separate compilation */ +#include /* amalgamator: keep */ +# define safe_isdigit(x) isdigit((unsigned char)(x)) +# define safe_isalnum(x) isalnum((unsigned char)(x)) +# define safe_isxdigit(x) isxdigit((unsigned char)(x)) #endif /* -** When doing a search of an r-tree, instances of the following structure -** record intermediate results from the tree walk. -** -** The id is always a node-id. For iLevel>=1 the id is the node-id of -** the node that the RtreeSearchPoint represents. When iLevel==0, however, -** the id is of the parent node and the cell that RtreeSearchPoint -** represents is the iCell-th entry in the parent node. +** Growing our own isspace() routine this way is twice as fast as +** the library isspace() function, resulting in a 7% overall performance +** increase for the parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os). */ -struct RtreeSearchPoint { - RtreeDValue rScore; /* The score for this node. Smallest goes first. */ - sqlite3_int64 id; /* Node ID */ - u8 iLevel; /* 0=entries. 1=leaf node. 2+ for higher */ - u8 eWithin; /* PARTLY_WITHIN or FULLY_WITHIN */ - u8 iCell; /* Cell index within the node */ +static const char jsonIsSpace[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; +#define safe_isspace(x) (jsonIsSpace[(unsigned char)x]) -/* -** The minimum number of cells allowed for a node is a third of the -** maximum. In Gutman's notation: -** -** m = M/3 -** -** If an R*-tree "Reinsert" operation is required, the same number of -** cells are removed from the overfull node and reinserted into the tree. -*/ -#define RTREE_MINCELLS(p) ((((p)->iNodeSize-4)/(p)->nBytesPerCell)/3) -#define RTREE_REINSERT(p) RTREE_MINCELLS(p) -#define RTREE_MAXCELLS 51 - -/* -** The smallest possible node-size is (512-64)==448 bytes. And the largest -** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates). -** Therefore all non-root nodes must contain at least 3 entries. Since -** 3^40 is greater than 2^64, an r-tree structure always has a depth of -** 40 or less. -*/ -#define RTREE_MAX_DEPTH 40 +#ifndef SQLITE_AMALGAMATION + /* Unsigned integer types. These are already defined in the sqliteInt.h, + ** but the definitions need to be repeated for separate compilation. */ + typedef sqlite3_uint64 u64; + typedef unsigned int u32; + typedef unsigned short int u16; + typedef unsigned char u8; +#endif +/* Objects */ +typedef struct JsonString JsonString; +typedef struct JsonNode JsonNode; +typedef struct JsonParse JsonParse; -/* -** Number of entries in the cursor RtreeNode cache. The first entry is -** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining -** entries cache the RtreeNode for the first elements of the priority queue. +/* An instance of this object represents a JSON string +** under construction. Really, this is a generic string accumulator +** that can be and is used to create strings other than JSON. */ -#define RTREE_CACHE_SZ 5 +struct JsonString { + sqlite3_context *pCtx; /* Function context - put error messages here */ + char *zBuf; /* Append JSON content here */ + u64 nAlloc; /* Bytes of storage available in zBuf[] */ + u64 nUsed; /* Bytes of zBuf[] currently used */ + u8 bStatic; /* True if zBuf is static space */ + u8 bErr; /* True if an error has been encountered */ + char zSpace[100]; /* Initial static space */ +}; -/* -** An rtree cursor object. +/* JSON type values */ -struct RtreeCursor { - sqlite3_vtab_cursor base; /* Base class. Must be first */ - u8 atEOF; /* True if at end of search */ - u8 bPoint; /* True if sPoint is valid */ - int iStrategy; /* Copy of idxNum search parameter */ - int nConstraint; /* Number of entries in aConstraint */ - RtreeConstraint *aConstraint; /* Search constraints. */ - int nPointAlloc; /* Number of slots allocated for aPoint[] */ - int nPoint; /* Number of slots used in aPoint[] */ - int mxLevel; /* iLevel value for root of the tree */ - RtreeSearchPoint *aPoint; /* Priority queue for search points */ - RtreeSearchPoint sPoint; /* Cached next search point */ - RtreeNode *aNode[RTREE_CACHE_SZ]; /* Rtree node cache */ - u32 anQueue[RTREE_MAX_DEPTH+1]; /* Number of queued entries by iLevel */ -}; +#define JSON_NULL 0 +#define JSON_TRUE 1 +#define JSON_FALSE 2 +#define JSON_INT 3 +#define JSON_REAL 4 +#define JSON_STRING 5 +#define JSON_ARRAY 6 +#define JSON_OBJECT 7 -/* Return the Rtree of a RtreeCursor */ -#define RTREE_OF_CURSOR(X) ((Rtree*)((X)->base.pVtab)) +/* The "subtype" set for JSON values */ +#define JSON_SUBTYPE 74 /* Ascii for "J" */ /* -** A coordinate can be either a floating point number or a integer. All -** coordinates within a single R-Tree are always of the same time. +** Names of the various JSON types: */ -union RtreeCoord { - RtreeValue f; /* Floating point value */ - int i; /* Integer value */ - u32 u; /* Unsigned for byte-order conversions */ +static const char * const jsonType[] = { + "null", "true", "false", "integer", "real", "text", "array", "object" }; -/* -** The argument is an RtreeCoord. Return the value stored within the RtreeCoord -** formatted as a RtreeDValue (double or int64). This macro assumes that local -** variable pRtree points to the Rtree structure associated with the -** RtreeCoord. +/* Bit values for the JsonNode.jnFlag field */ -#ifdef SQLITE_RTREE_INT_ONLY -# define DCOORD(coord) ((RtreeDValue)coord.i) -#else -# define DCOORD(coord) ( \ - (pRtree->eCoordType==RTREE_COORD_REAL32) ? \ - ((double)coord.f) : \ - ((double)coord.i) \ - ) -#endif +#define JNODE_RAW 0x01 /* Content is raw, not JSON encoded */ +#define JNODE_ESCAPE 0x02 /* Content is text with \ escapes */ +#define JNODE_REMOVE 0x04 /* Do not output */ +#define JNODE_REPLACE 0x08 /* Replace with JsonNode.u.iReplace */ +#define JNODE_PATCH 0x10 /* Patch with JsonNode.u.pPatch */ +#define JNODE_APPEND 0x20 /* More ARRAY/OBJECT entries at u.iAppend */ +#define JNODE_LABEL 0x40 /* Is a label of an object */ -/* -** A search constraint. + +/* A single node of parsed JSON */ -struct RtreeConstraint { - int iCoord; /* Index of constrained coordinate */ - int op; /* Constraining operation */ +struct JsonNode { + u8 eType; /* One of the JSON_ type values */ + u8 jnFlags; /* JNODE flags */ + u32 n; /* Bytes of content, or number of sub-nodes */ union { - RtreeDValue rValue; /* Constraint value. */ - int (*xGeom)(sqlite3_rtree_geometry*,int,RtreeDValue*,int*); - int (*xQueryFunc)(sqlite3_rtree_query_info*); + const char *zJContent; /* Content for INT, REAL, and STRING */ + u32 iAppend; /* More terms for ARRAY and OBJECT */ + u32 iKey; /* Key for ARRAY objects in json_tree() */ + u32 iReplace; /* Replacement content for JNODE_REPLACE */ + JsonNode *pPatch; /* Node chain of patch for JNODE_PATCH */ } u; - sqlite3_rtree_query_info *pInfo; /* xGeom and xQueryFunc argument */ -}; - -/* Possible values for RtreeConstraint.op */ -#define RTREE_EQ 0x41 /* A */ -#define RTREE_LE 0x42 /* B */ -#define RTREE_LT 0x43 /* C */ -#define RTREE_GE 0x44 /* D */ -#define RTREE_GT 0x45 /* E */ -#define RTREE_MATCH 0x46 /* F: Old-style sqlite3_rtree_geometry_callback() */ -#define RTREE_QUERY 0x47 /* G: New-style sqlite3_rtree_query_callback() */ - - -/* -** An rtree structure node. -*/ -struct RtreeNode { - RtreeNode *pParent; /* Parent node */ - i64 iNode; /* The node number */ - int nRef; /* Number of references to this node */ - int isDirty; /* True if the node needs to be written to disk */ - u8 *zData; /* Content of the node, as should be on disk */ - RtreeNode *pNext; /* Next node in this hash collision chain */ }; -/* Return the number of cells in a node */ -#define NCELL(pNode) readInt16(&(pNode)->zData[2]) - -/* -** A single cell from a node, deserialized +/* A completely parsed JSON string */ -struct RtreeCell { - i64 iRowid; /* Node or entry ID */ - RtreeCoord aCoord[RTREE_MAX_DIMENSIONS*2]; /* Bounding box coordinates */ +struct JsonParse { + u32 nNode; /* Number of slots of aNode[] used */ + u32 nAlloc; /* Number of slots of aNode[] allocated */ + JsonNode *aNode; /* Array of nodes containing the parse */ + const char *zJson; /* Original JSON string */ + u32 *aUp; /* Index of parent of each node */ + u8 oom; /* Set to true if out of memory */ + u8 nErr; /* Number of errors seen */ + u16 iDepth; /* Nesting depth */ + int nJson; /* Length of the zJson string in bytes */ + u32 iHold; /* Replace cache line with the lowest iHold value */ }; - /* -** This object becomes the sqlite3_user_data() for the SQL functions -** that are created by sqlite3_rtree_geometry_callback() and -** sqlite3_rtree_query_callback() and which appear on the right of MATCH -** operators in order to constrain a search. +** Maximum nesting depth of JSON for this implementation. ** -** xGeom and xQueryFunc are the callback functions. Exactly one of -** xGeom and xQueryFunc fields is non-NULL, depending on whether the -** SQL function was created using sqlite3_rtree_geometry_callback() or -** sqlite3_rtree_query_callback(). -** -** This object is deleted automatically by the destructor mechanism in -** sqlite3_create_function_v2(). -*/ -struct RtreeGeomCallback { - int (*xGeom)(sqlite3_rtree_geometry*, int, RtreeDValue*, int*); - int (*xQueryFunc)(sqlite3_rtree_query_info*); - void (*xDestructor)(void*); - void *pContext; -}; - -/* -** An instance of this structure (in the form of a BLOB) is returned by -** the SQL functions that sqlite3_rtree_geometry_callback() and -** sqlite3_rtree_query_callback() create, and is read as the right-hand -** operand to the MATCH operator of an R-Tree. +** This limit is needed to avoid a stack overflow in the recursive +** descent parser. A depth of 2000 is far deeper than any sane JSON +** should go. */ -struct RtreeMatchArg { - u32 iSize; /* Size of this object */ - RtreeGeomCallback cb; /* Info about the callback functions */ - int nParam; /* Number of parameters to the SQL function */ - sqlite3_value **apSqlParam; /* Original SQL parameter values */ - RtreeDValue aParam[1]; /* Values for parameters to the SQL function */ -}; +#define JSON_MAX_DEPTH 2000 -#ifndef MAX -# define MAX(x,y) ((x) < (y) ? (y) : (x)) -#endif -#ifndef MIN -# define MIN(x,y) ((x) > (y) ? (y) : (x)) -#endif +/************************************************************************** +** Utility routines for dealing with JsonString objects +**************************************************************************/ -/* What version of GCC is being used. 0 means GCC is not being used . -** Note that the GCC_VERSION macro will also be set correctly when using -** clang, since clang works hard to be gcc compatible. So the gcc -** optimizations will also work when compiling with clang. +/* Set the JsonString object to an empty string */ -#ifndef GCC_VERSION -#if defined(__GNUC__) && !defined(SQLITE_DISABLE_INTRINSIC) -# define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__) -#else -# define GCC_VERSION 0 -#endif -#endif +static void jsonZero(JsonString *p){ + p->zBuf = p->zSpace; + p->nAlloc = sizeof(p->zSpace); + p->nUsed = 0; + p->bStatic = 1; +} -/* The testcase() macro should already be defined in the amalgamation. If -** it is not, make it a no-op. +/* Initialize the JsonString object */ -#ifndef SQLITE_AMALGAMATION -# define testcase(X) -#endif +static void jsonInit(JsonString *p, sqlite3_context *pCtx){ + p->pCtx = pCtx; + p->bErr = 0; + jsonZero(p); +} -/* -** Macros to determine whether the machine is big or little endian, -** and whether or not that determination is run-time or compile-time. -** -** For best performance, an attempt is made to guess at the byte-order -** using C-preprocessor macros. If that is unsuccessful, or if -** -DSQLITE_RUNTIME_BYTEORDER=1 is set, then byte-order is determined -** 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__) -# define SQLITE_BYTEORDER 1234 -#elif defined(sparc) || defined(__ppc__) -# define SQLITE_BYTEORDER 4321 -#else -# define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ -#endif -#endif +/* Free all allocated memory and reset the JsonString object back to its +** initial state. +*/ +static void jsonReset(JsonString *p){ + if( !p->bStatic ) sqlite3_free(p->zBuf); + jsonZero(p); +} -/* What version of MSVC is being used. 0 means MSVC is not being used */ -#ifndef MSVC_VERSION -#if defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC) -# define MSVC_VERSION _MSC_VER -#else -# define MSVC_VERSION 0 -#endif -#endif -/* -** Functions to deserialize a 16 bit integer, 32 bit real number and -** 64 bit integer. The deserialized value is returned. +/* Report an out-of-memory (OOM) condition */ -static int readInt16(u8 *p){ - return (p[0]<<8) + p[1]; -} -static void readCoord(u8 *p, RtreeCoord *pCoord){ - assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ -#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 - pCoord->u = _byteswap_ulong(*(u32*)p); -#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 - pCoord->u = __builtin_bswap32(*(u32*)p); -#elif SQLITE_BYTEORDER==4321 - pCoord->u = *(u32*)p; -#else - pCoord->u = ( - (((u32)p[0]) << 24) + - (((u32)p[1]) << 16) + - (((u32)p[2]) << 8) + - (((u32)p[3]) << 0) - ); -#endif -} -static i64 readInt64(u8 *p){ -#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 - u64 x; - memcpy(&x, p, 8); - return (i64)_byteswap_uint64(x); -#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 - u64 x; - memcpy(&x, p, 8); - return (i64)__builtin_bswap64(x); -#elif SQLITE_BYTEORDER==4321 - i64 x; - memcpy(&x, p, 8); - return x; -#else - return (i64)( - (((u64)p[0]) << 56) + - (((u64)p[1]) << 48) + - (((u64)p[2]) << 40) + - (((u64)p[3]) << 32) + - (((u64)p[4]) << 24) + - (((u64)p[5]) << 16) + - (((u64)p[6]) << 8) + - (((u64)p[7]) << 0) - ); -#endif +static void jsonOom(JsonString *p){ + p->bErr = 1; + sqlite3_result_error_nomem(p->pCtx); + jsonReset(p); } -/* -** Functions to serialize a 16 bit integer, 32 bit real number and -** 64 bit integer. The value returned is the number of bytes written -** to the argument buffer (always 2, 4 and 8 respectively). +/* Enlarge pJson->zBuf so that it can hold at least N more bytes. +** Return zero on success. Return non-zero on an OOM error */ -static void writeInt16(u8 *p, int i){ - p[0] = (i>> 8)&0xFF; - p[1] = (i>> 0)&0xFF; +static int jsonGrow(JsonString *p, u32 N){ + u64 nTotal = NnAlloc ? p->nAlloc*2 : p->nAlloc+N+10; + char *zNew; + if( p->bStatic ){ + if( p->bErr ) return 1; + zNew = sqlite3_malloc64(nTotal); + if( zNew==0 ){ + jsonOom(p); + return SQLITE_NOMEM; + } + memcpy(zNew, p->zBuf, (size_t)p->nUsed); + p->zBuf = zNew; + p->bStatic = 0; + }else{ + zNew = sqlite3_realloc64(p->zBuf, nTotal); + if( zNew==0 ){ + jsonOom(p); + return SQLITE_NOMEM; + } + p->zBuf = zNew; + } + p->nAlloc = nTotal; + return SQLITE_OK; } -static int writeCoord(u8 *p, RtreeCoord *pCoord){ - u32 i; - assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ - assert( sizeof(RtreeCoord)==4 ); - assert( sizeof(u32)==4 ); -#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 - i = __builtin_bswap32(pCoord->u); - memcpy(p, &i, 4); -#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 - i = _byteswap_ulong(pCoord->u); - memcpy(p, &i, 4); -#elif SQLITE_BYTEORDER==4321 - i = pCoord->u; - memcpy(p, &i, 4); -#else - i = pCoord->u; - p[0] = (i>>24)&0xFF; - p[1] = (i>>16)&0xFF; - p[2] = (i>> 8)&0xFF; - p[3] = (i>> 0)&0xFF; -#endif - return 4; + +/* Append N bytes from zIn onto the end of the JsonString string. +*/ +static void jsonAppendRaw(JsonString *p, const char *zIn, u32 N){ + if( (N+p->nUsed >= p->nAlloc) && jsonGrow(p,N)!=0 ) return; + memcpy(p->zBuf+p->nUsed, zIn, N); + p->nUsed += N; } -static int writeInt64(u8 *p, i64 i){ -#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 - i = (i64)__builtin_bswap64((u64)i); - memcpy(p, &i, 8); -#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 - i = (i64)_byteswap_uint64((u64)i); - memcpy(p, &i, 8); -#elif SQLITE_BYTEORDER==4321 - memcpy(p, &i, 8); -#else - p[0] = (i>>56)&0xFF; - p[1] = (i>>48)&0xFF; - p[2] = (i>>40)&0xFF; - p[3] = (i>>32)&0xFF; - p[4] = (i>>24)&0xFF; - p[5] = (i>>16)&0xFF; - p[6] = (i>> 8)&0xFF; - p[7] = (i>> 0)&0xFF; -#endif - return 8; + +/* Append formatted text (not to exceed N bytes) to the JsonString. +*/ +static void jsonPrintf(int N, JsonString *p, const char *zFormat, ...){ + va_list ap; + if( (p->nUsed + N >= p->nAlloc) && jsonGrow(p, N) ) return; + va_start(ap, zFormat); + sqlite3_vsnprintf(N, p->zBuf+p->nUsed, zFormat, ap); + va_end(ap); + p->nUsed += (int)strlen(p->zBuf+p->nUsed); } -/* -** Increment the reference count of node p. +/* Append a single character */ -static void nodeReference(RtreeNode *p){ - if( p ){ - p->nRef++; - } +static void jsonAppendChar(JsonString *p, char c){ + if( p->nUsed>=p->nAlloc && jsonGrow(p,1)!=0 ) return; + p->zBuf[p->nUsed++] = c; } -/* -** Clear the content of node p (set all bytes to 0x00). +/* Append a comma separator to the output buffer, if the previous +** character is not '[' or '{'. */ -static void nodeZero(Rtree *pRtree, RtreeNode *p){ - memset(&p->zData[2], 0, pRtree->iNodeSize-2); - p->isDirty = 1; +static void jsonAppendSeparator(JsonString *p){ + char c; + if( p->nUsed==0 ) return; + c = p->zBuf[p->nUsed-1]; + if( c!='[' && c!='{' ) jsonAppendChar(p, ','); } -/* -** Given a node number iNode, return the corresponding key to use -** in the Rtree.aHash table. +/* Append the N-byte string in zIn to the end of the JsonString string +** under construction. Enclose the string in "..." and escape +** any double-quotes or backslash characters contained within the +** string. */ -static int nodeHash(i64 iNode){ - return iNode % HASHSIZE; +static void jsonAppendString(JsonString *p, const char *zIn, u32 N){ + u32 i; + if( (N+p->nUsed+2 >= p->nAlloc) && jsonGrow(p,N+2)!=0 ) return; + p->zBuf[p->nUsed++] = '"'; + for(i=0; inUsed+N+3-i > p->nAlloc) && jsonGrow(p,N+3-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + }else if( c<=0x1f ){ + static const char aSpecial[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + assert( sizeof(aSpecial)==32 ); + assert( aSpecial['\b']=='b' ); + assert( aSpecial['\f']=='f' ); + assert( aSpecial['\n']=='n' ); + assert( aSpecial['\r']=='r' ); + assert( aSpecial['\t']=='t' ); + if( aSpecial[c] ){ + c = aSpecial[c]; + goto json_simple_escape; + } + if( (p->nUsed+N+7+i > p->nAlloc) && jsonGrow(p,N+7-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + p->zBuf[p->nUsed++] = 'u'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0' + (c>>4); + c = "0123456789abcdef"[c&0xf]; + } + p->zBuf[p->nUsed++] = c; + } + p->zBuf[p->nUsed++] = '"'; + assert( p->nUsednAlloc ); } /* -** Search the node hash table for node iNode. If found, return a pointer -** to it. Otherwise, return 0. +** Append a function parameter value to the JSON string under +** construction. */ -static RtreeNode *nodeHashLookup(Rtree *pRtree, i64 iNode){ - RtreeNode *p; - for(p=pRtree->aHash[nodeHash(iNode)]; p && p->iNode!=iNode; p=p->pNext); - return p; +static void jsonAppendValue( + JsonString *p, /* Append to this JSON string */ + sqlite3_value *pValue /* Value to append */ +){ + switch( sqlite3_value_type(pValue) ){ + case SQLITE_NULL: { + jsonAppendRaw(p, "null", 4); + break; + } + case SQLITE_INTEGER: + case SQLITE_FLOAT: { + const char *z = (const char*)sqlite3_value_text(pValue); + u32 n = (u32)sqlite3_value_bytes(pValue); + jsonAppendRaw(p, z, n); + break; + } + case SQLITE_TEXT: { + const char *z = (const char*)sqlite3_value_text(pValue); + u32 n = (u32)sqlite3_value_bytes(pValue); + if( sqlite3_value_subtype(pValue)==JSON_SUBTYPE ){ + jsonAppendRaw(p, z, n); + }else{ + jsonAppendString(p, z, n); + } + break; + } + default: { + if( p->bErr==0 ){ + sqlite3_result_error(p->pCtx, "JSON cannot hold BLOB values", -1); + p->bErr = 2; + jsonReset(p); + } + break; + } + } } -/* -** Add node pNode to the node hash table. + +/* Make the JSON in p the result of the SQL function. */ -static void nodeHashInsert(Rtree *pRtree, RtreeNode *pNode){ - int iHash; - assert( pNode->pNext==0 ); - iHash = nodeHash(pNode->iNode); - pNode->pNext = pRtree->aHash[iHash]; - pRtree->aHash[iHash] = pNode; +static void jsonResult(JsonString *p){ + if( p->bErr==0 ){ + sqlite3_result_text64(p->pCtx, p->zBuf, p->nUsed, + p->bStatic ? SQLITE_TRANSIENT : sqlite3_free, + SQLITE_UTF8); + jsonZero(p); + } + assert( p->bStatic ); } +/************************************************************************** +** Utility routines for dealing with JsonNode and JsonParse objects +**************************************************************************/ + /* -** Remove node pNode from the node hash table. +** Return the number of consecutive JsonNode slots need to represent +** the parsed JSON at pNode. The minimum answer is 1. For ARRAY and +** OBJECT types, the number might be larger. +** +** Appended elements are not counted. The value returned is the number +** by which the JsonNode counter should increment in order to go to the +** next peer value. */ -static void nodeHashDelete(Rtree *pRtree, RtreeNode *pNode){ - RtreeNode **pp; - if( pNode->iNode!=0 ){ - pp = &pRtree->aHash[nodeHash(pNode->iNode)]; - for( ; (*pp)!=pNode; pp = &(*pp)->pNext){ assert(*pp); } - *pp = pNode->pNext; - pNode->pNext = 0; - } +static u32 jsonNodeSize(JsonNode *pNode){ + return pNode->eType>=JSON_ARRAY ? pNode->n+1 : 1; } /* -** Allocate and return new r-tree node. Initially, (RtreeNode.iNode==0), -** indicating that node has not yet been assigned a node number. It is -** assigned a node number when nodeWrite() is called to write the -** node contents out to the database. +** Reclaim all memory allocated by a JsonParse object. But do not +** delete the JsonParse object itself. */ -static RtreeNode *nodeNew(Rtree *pRtree, RtreeNode *pParent){ - RtreeNode *pNode; - pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode) + pRtree->iNodeSize); - if( pNode ){ - memset(pNode, 0, sizeof(RtreeNode) + pRtree->iNodeSize); - pNode->zData = (u8 *)&pNode[1]; - pNode->nRef = 1; - pNode->pParent = pParent; - pNode->isDirty = 1; - nodeReference(pParent); - } - return pNode; +static void jsonParseReset(JsonParse *pParse){ + sqlite3_free(pParse->aNode); + pParse->aNode = 0; + pParse->nNode = 0; + pParse->nAlloc = 0; + sqlite3_free(pParse->aUp); + pParse->aUp = 0; } /* -** Clear the Rtree.pNodeBlob object +** Free a JsonParse object that was obtained from sqlite3_malloc(). */ -static void nodeBlobReset(Rtree *pRtree){ - if( pRtree->pNodeBlob && pRtree->inWrTrans==0 && pRtree->nCursor==0 ){ - sqlite3_blob *pBlob = pRtree->pNodeBlob; - pRtree->pNodeBlob = 0; - sqlite3_blob_close(pBlob); - } +static void jsonParseFree(JsonParse *pParse){ + jsonParseReset(pParse); + sqlite3_free(pParse); } /* -** Obtain a reference to an r-tree node. +** Convert the JsonNode pNode into a pure JSON string and +** append to pOut. Subsubstructure is also included. Return +** the number of JsonNode objects that are encoded. */ -static int nodeAcquire( - Rtree *pRtree, /* R-tree structure */ - i64 iNode, /* Node number to load */ - RtreeNode *pParent, /* Either the parent node or NULL */ - RtreeNode **ppNode /* OUT: Acquired node */ +static void jsonRenderNode( + JsonNode *pNode, /* The node to render */ + JsonString *pOut, /* Write JSON here */ + sqlite3_value **aReplace /* Replacement values */ ){ - int rc = SQLITE_OK; - RtreeNode *pNode = 0; - - /* Check if the requested node is already in the hash table. If so, - ** increase its reference count and return it. - */ - if( (pNode = nodeHashLookup(pRtree, iNode)) ){ - assert( !pParent || !pNode->pParent || pNode->pParent==pParent ); - if( pParent && !pNode->pParent ){ - nodeReference(pParent); - pNode->pParent = pParent; + if( pNode->jnFlags & (JNODE_REPLACE|JNODE_PATCH) ){ + if( pNode->jnFlags & JNODE_REPLACE ){ + jsonAppendValue(pOut, aReplace[pNode->u.iReplace]); + return; } - pNode->nRef++; - *ppNode = pNode; - return SQLITE_OK; + pNode = pNode->u.pPatch; } - - if( pRtree->pNodeBlob ){ - sqlite3_blob *pBlob = pRtree->pNodeBlob; - pRtree->pNodeBlob = 0; - rc = sqlite3_blob_reopen(pBlob, iNode); - pRtree->pNodeBlob = pBlob; - if( rc ){ - nodeBlobReset(pRtree); - if( rc==SQLITE_NOMEM ) return SQLITE_NOMEM; + switch( pNode->eType ){ + default: { + assert( pNode->eType==JSON_NULL ); + jsonAppendRaw(pOut, "null", 4); + break; } - } - if( pRtree->pNodeBlob==0 ){ - char *zTab = sqlite3_mprintf("%s_node", pRtree->zName); - if( zTab==0 ) return SQLITE_NOMEM; - rc = sqlite3_blob_open(pRtree->db, pRtree->zDb, zTab, "data", iNode, 0, - &pRtree->pNodeBlob); - sqlite3_free(zTab); - } - if( rc ){ - nodeBlobReset(pRtree); - *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; - }else if( pRtree->iNodeSize==sqlite3_blob_bytes(pRtree->pNodeBlob) ){ - pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode)+pRtree->iNodeSize); - if( !pNode ){ - rc = SQLITE_NOMEM; - }else{ - pNode->pParent = pParent; - pNode->zData = (u8 *)&pNode[1]; - pNode->nRef = 1; - pNode->iNode = iNode; - pNode->isDirty = 0; - pNode->pNext = 0; - rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData, - pRtree->iNodeSize, 0); - nodeReference(pParent); + case JSON_TRUE: { + jsonAppendRaw(pOut, "true", 4); + break; } - } - - /* If the root node was just loaded, set pRtree->iDepth to the height - ** of the r-tree structure. A height of zero means all data is stored on - ** the root node. A height of one means the children of the root node - ** are the leaves, and so on. If the depth as specified on the root node - ** is greater than RTREE_MAX_DEPTH, the r-tree structure must be corrupt. - */ - if( pNode && iNode==1 ){ - pRtree->iDepth = readInt16(pNode->zData); - if( pRtree->iDepth>RTREE_MAX_DEPTH ){ - rc = SQLITE_CORRUPT_VTAB; + case JSON_FALSE: { + jsonAppendRaw(pOut, "false", 5); + break; } - } - - /* If no error has occurred so far, check if the "number of entries" - ** field on the node is too large. If so, set the return code to - ** SQLITE_CORRUPT_VTAB. - */ - if( pNode && rc==SQLITE_OK ){ - if( NCELL(pNode)>((pRtree->iNodeSize-4)/pRtree->nBytesPerCell) ){ - rc = SQLITE_CORRUPT_VTAB; + case JSON_STRING: { + if( pNode->jnFlags & JNODE_RAW ){ + jsonAppendString(pOut, pNode->u.zJContent, pNode->n); + break; + } + /* Fall through into the next case */ } - } - - if( rc==SQLITE_OK ){ - if( pNode!=0 ){ - nodeHashInsert(pRtree, pNode); - }else{ - rc = SQLITE_CORRUPT_VTAB; + case JSON_REAL: + case JSON_INT: { + jsonAppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case JSON_ARRAY: { + u32 j = 1; + jsonAppendChar(pOut, '['); + for(;;){ + while( j<=pNode->n ){ + if( (pNode[j].jnFlags & JNODE_REMOVE)==0 ){ + jsonAppendSeparator(pOut); + jsonRenderNode(&pNode[j], pOut, aReplace); + } + j += jsonNodeSize(&pNode[j]); + } + if( (pNode->jnFlags & JNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + jsonAppendChar(pOut, ']'); + break; + } + case JSON_OBJECT: { + u32 j = 1; + jsonAppendChar(pOut, '{'); + for(;;){ + while( j<=pNode->n ){ + if( (pNode[j+1].jnFlags & JNODE_REMOVE)==0 ){ + jsonAppendSeparator(pOut); + jsonRenderNode(&pNode[j], pOut, aReplace); + jsonAppendChar(pOut, ':'); + jsonRenderNode(&pNode[j+1], pOut, aReplace); + } + j += 1 + jsonNodeSize(&pNode[j+1]); + } + if( (pNode->jnFlags & JNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + jsonAppendChar(pOut, '}'); + break; } - *ppNode = pNode; - }else{ - sqlite3_free(pNode); - *ppNode = 0; } - - return rc; } /* -** Overwrite cell iCell of node pNode with the contents of pCell. +** Return a JsonNode and all its descendents as a JSON string. */ -static void nodeOverwriteCell( - Rtree *pRtree, /* The overall R-Tree */ - RtreeNode *pNode, /* The node into which the cell is to be written */ - RtreeCell *pCell, /* The cell to write */ - int iCell /* Index into pNode into which pCell is written */ +static void jsonReturnJson( + JsonNode *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ ){ - int ii; - u8 *p = &pNode->zData[4 + pRtree->nBytesPerCell*iCell]; - p += writeInt64(p, pCell->iRowid); - for(ii=0; iinDim2; ii++){ - p += writeCoord(p, &pCell->aCoord[ii]); - } - pNode->isDirty = 1; + JsonString s; + jsonInit(&s, pCtx); + jsonRenderNode(pNode, &s, aReplace); + jsonResult(&s); + sqlite3_result_subtype(pCtx, JSON_SUBTYPE); } /* -** Remove the cell with index iCell from node pNode. +** Make the JsonNode the return value of the function. */ -static void nodeDeleteCell(Rtree *pRtree, RtreeNode *pNode, int iCell){ - u8 *pDst = &pNode->zData[4 + pRtree->nBytesPerCell*iCell]; - u8 *pSrc = &pDst[pRtree->nBytesPerCell]; - int nByte = (NCELL(pNode) - iCell - 1) * pRtree->nBytesPerCell; - memmove(pDst, pSrc, nByte); - writeInt16(&pNode->zData[2], NCELL(pNode)-1); - pNode->isDirty = 1; +static void jsonReturn( + JsonNode *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ +){ + switch( pNode->eType ){ + default: { + assert( pNode->eType==JSON_NULL ); + sqlite3_result_null(pCtx); + break; + } + case JSON_TRUE: { + sqlite3_result_int(pCtx, 1); + break; + } + case JSON_FALSE: { + sqlite3_result_int(pCtx, 0); + break; + } + case JSON_INT: { + sqlite3_int64 i = 0; + const char *z = pNode->u.zJContent; + if( z[0]=='-' ){ z++; } + while( z[0]>='0' && z[0]<='9' ){ + unsigned v = *(z++) - '0'; + if( i>=LARGEST_INT64/10 ){ + if( i>LARGEST_INT64/10 ) goto int_as_real; + if( z[0]>='0' && z[0]<='9' ) goto int_as_real; + if( v==9 ) goto int_as_real; + if( v==8 ){ + if( pNode->u.zJContent[0]=='-' ){ + sqlite3_result_int64(pCtx, SMALLEST_INT64); + goto int_done; + }else{ + goto int_as_real; + } + } + } + i = i*10 + v; + } + if( pNode->u.zJContent[0]=='-' ){ i = -i; } + sqlite3_result_int64(pCtx, i); + int_done: + break; + int_as_real: /* fall through to real */; + } + case JSON_REAL: { + double r; +#ifdef SQLITE_AMALGAMATION + const char *z = pNode->u.zJContent; + sqlite3AtoF(z, &r, sqlite3Strlen30(z), SQLITE_UTF8); +#else + r = strtod(pNode->u.zJContent, 0); +#endif + sqlite3_result_double(pCtx, r); + break; + } + case JSON_STRING: { +#if 0 /* Never happens because JNODE_RAW is only set by json_set(), + ** json_insert() and json_replace() and those routines do not + ** call jsonReturn() */ + if( pNode->jnFlags & JNODE_RAW ){ + sqlite3_result_text(pCtx, pNode->u.zJContent, pNode->n, + SQLITE_TRANSIENT); + }else +#endif + assert( (pNode->jnFlags & JNODE_RAW)==0 ); + if( (pNode->jnFlags & JNODE_ESCAPE)==0 ){ + /* JSON formatted without any backslash-escapes */ + sqlite3_result_text(pCtx, pNode->u.zJContent+1, pNode->n-2, + SQLITE_TRANSIENT); + }else{ + /* Translate JSON formatted string into raw text */ + u32 i; + u32 n = pNode->n; + const char *z = pNode->u.zJContent; + char *zOut; + u32 j; + zOut = sqlite3_malloc( n+1 ); + if( zOut==0 ){ + sqlite3_result_error_nomem(pCtx); + break; + } + for(i=1, j=0; i>6)); + zOut[j++] = 0x80 | (v&0x3f); + }else{ + zOut[j++] = (char)(0xe0 | (v>>12)); + zOut[j++] = 0x80 | ((v>>6)&0x3f); + zOut[j++] = 0x80 | (v&0x3f); + } + }else{ + if( c=='b' ){ + c = '\b'; + }else if( c=='f' ){ + c = '\f'; + }else if( c=='n' ){ + c = '\n'; + }else if( c=='r' ){ + c = '\r'; + }else if( c=='t' ){ + c = '\t'; + } + zOut[j++] = c; + } + } + } + zOut[j] = 0; + sqlite3_result_text(pCtx, zOut, j, sqlite3_free); + } + break; + } + case JSON_ARRAY: + case JSON_OBJECT: { + jsonReturnJson(pNode, pCtx, aReplace); + break; + } + } } +/* Forward reference */ +static int jsonParseAddNode(JsonParse*,u32,u32,const char*); + /* -** Insert the contents of cell pCell into node pNode. If the insert -** is successful, return SQLITE_OK. -** -** If there is not enough free space in pNode, return SQLITE_FULL. +** A macro to hint to the compiler that a function should not be +** inlined. */ -static int nodeInsertCell( - Rtree *pRtree, /* The overall R-Tree */ - RtreeNode *pNode, /* Write new cell into this node */ - RtreeCell *pCell /* The cell to be inserted */ -){ - int nCell; /* Current number of cells in pNode */ - int nMaxCell; /* Maximum number of cells for pNode */ +#if defined(__GNUC__) +# define JSON_NOINLINE __attribute__((noinline)) +#elif defined(_MSC_VER) && _MSC_VER>=1310 +# define JSON_NOINLINE __declspec(noinline) +#else +# define JSON_NOINLINE +#endif - nMaxCell = (pRtree->iNodeSize-4)/pRtree->nBytesPerCell; - nCell = NCELL(pNode); - assert( nCell<=nMaxCell ); - if( nCellzData[2], nCell+1); - pNode->isDirty = 1; +static JSON_NOINLINE int jsonParseAddNodeExpand( + JsonParse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + u32 nNew; + JsonNode *pNew; + assert( pParse->nNode>=pParse->nAlloc ); + if( pParse->oom ) return -1; + nNew = pParse->nAlloc*2 + 10; + pNew = sqlite3_realloc(pParse->aNode, sizeof(JsonNode)*nNew); + if( pNew==0 ){ + pParse->oom = 1; + return -1; } - - return (nCell==nMaxCell); + pParse->nAlloc = nNew; + pParse->aNode = pNew; + assert( pParse->nNodenAlloc ); + return jsonParseAddNode(pParse, eType, n, zContent); } /* -** If the node is dirty, write it out to the database. +** Create a new JsonNode instance based on the arguments and append that +** instance to the JsonParse. Return the index in pParse->aNode[] of the +** new node, or -1 if a memory allocation fails. */ -static int nodeWrite(Rtree *pRtree, RtreeNode *pNode){ - int rc = SQLITE_OK; - if( pNode->isDirty ){ - sqlite3_stmt *p = pRtree->pWriteNode; - if( pNode->iNode ){ - sqlite3_bind_int64(p, 1, pNode->iNode); - }else{ - sqlite3_bind_null(p, 1); - } - sqlite3_bind_blob(p, 2, pNode->zData, pRtree->iNodeSize, SQLITE_STATIC); - sqlite3_step(p); - pNode->isDirty = 0; - rc = sqlite3_reset(p); - if( pNode->iNode==0 && rc==SQLITE_OK ){ - pNode->iNode = sqlite3_last_insert_rowid(pRtree->db); - nodeHashInsert(pRtree, pNode); - } +static int jsonParseAddNode( + JsonParse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + JsonNode *p; + if( pParse->nNode>=pParse->nAlloc ){ + return jsonParseAddNodeExpand(pParse, eType, n, zContent); } - return rc; + p = &pParse->aNode[pParse->nNode]; + p->eType = (u8)eType; + p->jnFlags = 0; + p->n = n; + p->u.zJContent = zContent; + return pParse->nNode++; } /* -** Release a reference to a node. If the node is dirty and the reference -** count drops to zero, the node data is written to the database. +** Return true if z[] begins with 4 (or more) hexadecimal digits */ -static int nodeRelease(Rtree *pRtree, RtreeNode *pNode){ - int rc = SQLITE_OK; - if( pNode ){ - assert( pNode->nRef>0 ); - pNode->nRef--; - if( pNode->nRef==0 ){ - if( pNode->iNode==1 ){ - pRtree->iDepth = -1; +static int jsonIs4Hex(const char *z){ + int i; + for(i=0; i<4; i++) if( !safe_isxdigit(z[i]) ) return 0; + return 1; +} + +/* +** Parse a single JSON value which begins at pParse->zJson[i]. Return the +** index of the first character past the end of the value parsed. +** +** Return negative for a syntax error. Special cases: return -2 if the +** first non-whitespace character is '}' and return -3 if the first +** non-whitespace character is ']'. +*/ +static int jsonParseValue(JsonParse *pParse, u32 i){ + char c; + u32 j; + int iThis; + int x; + JsonNode *pNode; + const char *z = pParse->zJson; + while( safe_isspace(z[i]) ){ i++; } + if( (c = z[i])=='{' ){ + /* Parse object */ + iThis = jsonParseAddNode(pParse, JSON_OBJECT, 0, 0); + if( iThis<0 ) return -1; + for(j=i+1;;j++){ + while( safe_isspace(z[j]) ){ j++; } + if( ++pParse->iDepth > JSON_MAX_DEPTH ) return -1; + x = jsonParseValue(pParse, j); + if( x<0 ){ + pParse->iDepth--; + if( x==(-2) && pParse->nNode==(u32)iThis+1 ) return j+1; + return -1; } - if( pNode->pParent ){ - rc = nodeRelease(pRtree, pNode->pParent); + if( pParse->oom ) return -1; + pNode = &pParse->aNode[pParse->nNode-1]; + if( pNode->eType!=JSON_STRING ) return -1; + pNode->jnFlags |= JNODE_LABEL; + j = x; + while( safe_isspace(z[j]) ){ j++; } + if( z[j]!=':' ) return -1; + j++; + x = jsonParseValue(pParse, j); + pParse->iDepth--; + if( x<0 ) return -1; + j = x; + while( safe_isspace(z[j]) ){ j++; } + c = z[j]; + if( c==',' ) continue; + if( c!='}' ) return -1; + break; + } + pParse->aNode[iThis].n = pParse->nNode - (u32)iThis - 1; + return j+1; + }else if( c=='[' ){ + /* Parse array */ + iThis = jsonParseAddNode(pParse, JSON_ARRAY, 0, 0); + if( iThis<0 ) return -1; + for(j=i+1;;j++){ + while( safe_isspace(z[j]) ){ j++; } + if( ++pParse->iDepth > JSON_MAX_DEPTH ) return -1; + x = jsonParseValue(pParse, j); + pParse->iDepth--; + if( x<0 ){ + if( x==(-3) && pParse->nNode==(u32)iThis+1 ) return j+1; + return -1; } - if( rc==SQLITE_OK ){ - rc = nodeWrite(pRtree, pNode); + j = x; + while( safe_isspace(z[j]) ){ j++; } + c = z[j]; + if( c==',' ) continue; + if( c!=']' ) return -1; + break; + } + pParse->aNode[iThis].n = pParse->nNode - (u32)iThis - 1; + return j+1; + }else if( c=='"' ){ + /* Parse string */ + u8 jnFlags = 0; + j = i+1; + for(;;){ + c = z[j]; + if( (c & ~0x1f)==0 ){ + /* Control characters are not allowed in strings */ + return -1; } - nodeHashDelete(pRtree, pNode); - sqlite3_free(pNode); + if( c=='\\' ){ + c = z[++j]; + if( c=='"' || c=='\\' || c=='/' || c=='b' || c=='f' + || c=='n' || c=='r' || c=='t' + || (c=='u' && jsonIs4Hex(z+j+1)) ){ + jnFlags = JNODE_ESCAPE; + }else{ + return -1; + } + }else if( c=='"' ){ + break; + } + j++; + } + jsonParseAddNode(pParse, JSON_STRING, j+1-i, &z[i]); + if( !pParse->oom ) pParse->aNode[pParse->nNode-1].jnFlags = jnFlags; + return j+1; + }else if( c=='n' + && strncmp(z+i,"null",4)==0 + && !safe_isalnum(z[i+4]) ){ + jsonParseAddNode(pParse, JSON_NULL, 0, 0); + return i+4; + }else if( c=='t' + && strncmp(z+i,"true",4)==0 + && !safe_isalnum(z[i+4]) ){ + jsonParseAddNode(pParse, JSON_TRUE, 0, 0); + return i+4; + }else if( c=='f' + && strncmp(z+i,"false",5)==0 + && !safe_isalnum(z[i+5]) ){ + jsonParseAddNode(pParse, JSON_FALSE, 0, 0); + return i+5; + }else if( c=='-' || (c>='0' && c<='9') ){ + /* Parse number */ + u8 seenDP = 0; + u8 seenE = 0; + assert( '-' < '0' ); + if( c<='0' ){ + j = c=='-' ? i+1 : i; + if( z[j]=='0' && z[j+1]>='0' && z[j+1]<='9' ) return -1; + } + j = i+1; + for(;; j++){ + c = z[j]; + if( c>='0' && c<='9' ) continue; + if( c=='.' ){ + if( z[j-1]=='-' ) return -1; + if( seenDP ) return -1; + seenDP = 1; + continue; + } + if( c=='e' || c=='E' ){ + if( z[j-1]<'0' ) return -1; + if( seenE ) return -1; + seenDP = seenE = 1; + c = z[j+1]; + if( c=='+' || c=='-' ){ + j++; + c = z[j+1]; + } + if( c<'0' || c>'9' ) return -1; + continue; + } + break; } + if( z[j-1]<'0' ) return -1; + jsonParseAddNode(pParse, seenDP ? JSON_REAL : JSON_INT, + j - i, &z[i]); + return j; + }else if( c=='}' ){ + return -2; /* End of {...} */ + }else if( c==']' ){ + return -3; /* End of [...] */ + }else if( c==0 ){ + return 0; /* End of file */ + }else{ + return -1; /* Syntax error */ } - return rc; } /* -** Return the 64-bit integer value associated with cell iCell of -** node pNode. If pNode is a leaf node, this is a rowid. If it is -** an internal node, then the 64-bit integer is a child page number. +** Parse a complete JSON string. Return 0 on success or non-zero if there +** are any errors. If an error occurs, free all memory associated with +** pParse. +** +** pParse is uninitialized when this routine is called. */ -static i64 nodeGetRowid( - Rtree *pRtree, /* The overall R-Tree */ - RtreeNode *pNode, /* The node from which to extract the ID */ - int iCell /* The cell index from which to extract the ID */ +static int jsonParse( + JsonParse *pParse, /* Initialize and fill this JsonParse object */ + sqlite3_context *pCtx, /* Report errors here */ + const char *zJson /* Input JSON text to be parsed */ ){ - assert( iCellzData[4 + pRtree->nBytesPerCell*iCell]); + int i; + memset(pParse, 0, sizeof(*pParse)); + if( zJson==0 ) return 1; + pParse->zJson = zJson; + i = jsonParseValue(pParse, 0); + if( pParse->oom ) i = -1; + if( i>0 ){ + assert( pParse->iDepth==0 ); + while( safe_isspace(zJson[i]) ) i++; + if( zJson[i] ) i = -1; + } + if( i<=0 ){ + if( pCtx!=0 ){ + if( pParse->oom ){ + sqlite3_result_error_nomem(pCtx); + }else{ + sqlite3_result_error(pCtx, "malformed JSON", -1); + } + } + jsonParseReset(pParse); + return 1; + } + return 0; } -/* -** Return coordinate iCoord from cell iCell in node pNode. +/* Mark node i of pParse as being a child of iParent. Call recursively +** to fill in all the descendants of node i. */ -static void nodeGetCoord( - Rtree *pRtree, /* The overall R-Tree */ - RtreeNode *pNode, /* The node from which to extract a coordinate */ - int iCell, /* The index of the cell within the node */ - int iCoord, /* Which coordinate to extract */ - RtreeCoord *pCoord /* OUT: Space to write result to */ -){ - readCoord(&pNode->zData[12 + pRtree->nBytesPerCell*iCell + 4*iCoord], pCoord); +static void jsonParseFillInParentage(JsonParse *pParse, u32 i, u32 iParent){ + JsonNode *pNode = &pParse->aNode[i]; + u32 j; + pParse->aUp[i] = iParent; + switch( pNode->eType ){ + case JSON_ARRAY: { + for(j=1; j<=pNode->n; j += jsonNodeSize(pNode+j)){ + jsonParseFillInParentage(pParse, i+j, i); + } + break; + } + case JSON_OBJECT: { + for(j=1; j<=pNode->n; j += jsonNodeSize(pNode+j+1)+1){ + pParse->aUp[i+j] = i; + jsonParseFillInParentage(pParse, i+j+1, i); + } + break; + } + default: { + break; + } + } } /* -** Deserialize cell iCell of node pNode. Populate the structure pointed -** to by pCell with the results. +** Compute the parentage of all nodes in a completed parse. */ -static void nodeGetCell( - Rtree *pRtree, /* The overall R-Tree */ - RtreeNode *pNode, /* The node containing the cell to be read */ - int iCell, /* Index of the cell within the node */ - RtreeCell *pCell /* OUT: Write the cell contents here */ -){ - u8 *pData; - RtreeCoord *pCoord; - int ii = 0; - pCell->iRowid = nodeGetRowid(pRtree, pNode, iCell); - pData = pNode->zData + (12 + pRtree->nBytesPerCell*iCell); - pCoord = pCell->aCoord; - do{ - readCoord(pData, &pCoord[ii]); - readCoord(pData+4, &pCoord[ii+1]); - pData += 8; - ii += 2; - }while( iinDim2 ); +static int jsonParseFindParents(JsonParse *pParse){ + u32 *aUp; + assert( pParse->aUp==0 ); + aUp = pParse->aUp = sqlite3_malloc( sizeof(u32)*pParse->nNode ); + if( aUp==0 ){ + pParse->oom = 1; + return SQLITE_NOMEM; + } + jsonParseFillInParentage(pParse, 0, 0); + return SQLITE_OK; } - -/* Forward declaration for the function that does the work of -** the virtual table module xCreate() and xConnect() methods. +/* +** Magic number used for the JSON parse cache in sqlite3_get_auxdata() */ -static int rtreeInit( - sqlite3 *, void *, int, const char *const*, sqlite3_vtab **, char **, int -); +#define JSON_CACHE_ID (-429938) /* First cache entry */ +#define JSON_CACHE_SZ 4 /* Max number of cache entries */ -/* -** Rtree virtual table module xCreate method. +/* +** Obtain a complete parse of the JSON found in the first argument +** of the argv array. Use the sqlite3_get_auxdata() cache for this +** parse if it is available. If the cache is not available or if it +** is no longer valid, parse the JSON again and return the new parse, +** and also register the new parse so that it will be available for +** future sqlite3_get_auxdata() calls. */ -static int rtreeCreate( - sqlite3 *db, - void *pAux, - int argc, const char *const*argv, - sqlite3_vtab **ppVtab, - char **pzErr +static JsonParse *jsonParseCached( + sqlite3_context *pCtx, + sqlite3_value **argv, + sqlite3_context *pErrCtx ){ - return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 1); + const char *zJson = (const char*)sqlite3_value_text(argv[0]); + int nJson = sqlite3_value_bytes(argv[0]); + JsonParse *p; + JsonParse *pMatch = 0; + int iKey; + int iMinKey = 0; + u32 iMinHold = 0xffffffff; + u32 iMaxHold = 0; + if( zJson==0 ) return 0; + for(iKey=0; iKeynJson==nJson + && memcmp(p->zJson,zJson,nJson)==0 + ){ + p->nErr = 0; + pMatch = p; + }else if( p->iHoldiHold; + iMinKey = iKey; + } + if( p->iHold>iMaxHold ){ + iMaxHold = p->iHold; + } + } + if( pMatch ){ + pMatch->nErr = 0; + pMatch->iHold = iMaxHold+1; + return pMatch; + } + p = sqlite3_malloc( sizeof(*p) + nJson + 1 ); + if( p==0 ){ + sqlite3_result_error_nomem(pCtx); + return 0; + } + memset(p, 0, sizeof(*p)); + p->zJson = (char*)&p[1]; + memcpy((char*)p->zJson, zJson, nJson+1); + if( jsonParse(p, pErrCtx, p->zJson) ){ + sqlite3_free(p); + return 0; + } + p->nJson = nJson; + p->iHold = iMaxHold+1; + sqlite3_set_auxdata(pCtx, JSON_CACHE_ID+iMinKey, p, + (void(*)(void*))jsonParseFree); + return (JsonParse*)sqlite3_get_auxdata(pCtx, JSON_CACHE_ID+iMinKey); } -/* -** Rtree virtual table module xConnect method. +/* +** Compare the OBJECT label at pNode against zKey,nKey. Return true on +** a match. */ -static int rtreeConnect( - sqlite3 *db, - void *pAux, - int argc, const char *const*argv, - sqlite3_vtab **ppVtab, - char **pzErr -){ - return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 0); +static int jsonLabelCompare(JsonNode *pNode, const char *zKey, u32 nKey){ + if( pNode->jnFlags & JNODE_RAW ){ + if( pNode->n!=nKey ) return 0; + return strncmp(pNode->u.zJContent, zKey, nKey)==0; + }else{ + if( pNode->n!=nKey+2 ) return 0; + return strncmp(pNode->u.zJContent+1, zKey, nKey)==0; + } } +/* forward declaration */ +static JsonNode *jsonLookupAppend(JsonParse*,const char*,int*,const char**); + /* -** Increment the r-tree reference count. +** Search along zPath to find the node specified. Return a pointer +** to that node, or NULL if zPath is malformed or if there is no such +** node. +** +** If pApnd!=0, then try to append new nodes to complete zPath if it is +** possible to do so and if no existing node corresponds to zPath. If +** new nodes are appended *pApnd is set to 1. */ -static void rtreeReference(Rtree *pRtree){ - pRtree->nBusy++; +static JsonNode *jsonLookupStep( + JsonParse *pParse, /* The JSON to search */ + u32 iRoot, /* Begin the search at this node */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + const char **pzErr /* Make *pzErr point to any syntax error in zPath */ +){ + u32 i, j, nKey; + const char *zKey; + JsonNode *pRoot = &pParse->aNode[iRoot]; + if( zPath[0]==0 ) return pRoot; + if( zPath[0]=='.' ){ + if( pRoot->eType!=JSON_OBJECT ) return 0; + zPath++; + if( zPath[0]=='"' ){ + zKey = zPath + 1; + for(i=1; zPath[i] && zPath[i]!='"'; i++){} + nKey = i-1; + if( zPath[i] ){ + i++; + }else{ + *pzErr = zPath; + return 0; + } + }else{ + zKey = zPath; + for(i=0; zPath[i] && zPath[i]!='.' && zPath[i]!='['; i++){} + nKey = i; + } + if( nKey==0 ){ + *pzErr = zPath; + return 0; + } + j = 1; + for(;;){ + while( j<=pRoot->n ){ + if( jsonLabelCompare(pRoot+j, zKey, nKey) ){ + return jsonLookupStep(pParse, iRoot+j+1, &zPath[i], pApnd, pzErr); + } + j++; + j += jsonNodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & JNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( pApnd ){ + u32 iStart, iLabel; + JsonNode *pNode; + iStart = jsonParseAddNode(pParse, JSON_OBJECT, 2, 0); + iLabel = jsonParseAddNode(pParse, JSON_STRING, i, zPath); + zPath += i; + pNode = jsonLookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= JNODE_APPEND; + pParse->aNode[iLabel].jnFlags |= JNODE_RAW; + } + return pNode; + } + }else if( zPath[0]=='[' && safe_isdigit(zPath[1]) ){ + if( pRoot->eType!=JSON_ARRAY ) return 0; + i = 0; + j = 1; + while( safe_isdigit(zPath[j]) ){ + i = i*10 + zPath[j] - '0'; + j++; + } + if( zPath[j]!=']' ){ + *pzErr = zPath; + return 0; + } + zPath += j + 1; + j = 1; + for(;;){ + while( j<=pRoot->n && (i>0 || (pRoot[j].jnFlags & JNODE_REMOVE)!=0) ){ + if( (pRoot[j].jnFlags & JNODE_REMOVE)==0 ) i--; + j += jsonNodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & JNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( j<=pRoot->n ){ + return jsonLookupStep(pParse, iRoot+j, zPath, pApnd, pzErr); + } + if( i==0 && pApnd ){ + u32 iStart; + JsonNode *pNode; + iStart = jsonParseAddNode(pParse, JSON_ARRAY, 1, 0); + pNode = jsonLookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= JNODE_APPEND; + } + return pNode; + } + }else{ + *pzErr = zPath; + } + return 0; } /* -** Decrement the r-tree reference count. When the reference count reaches -** zero the structure is deleted. +** Append content to pParse that will complete zPath. Return a pointer +** to the inserted node, or return NULL if the append fails. */ -static void rtreeRelease(Rtree *pRtree){ - pRtree->nBusy--; - if( pRtree->nBusy==0 ){ - pRtree->inWrTrans = 0; - pRtree->nCursor = 0; - nodeBlobReset(pRtree); - sqlite3_finalize(pRtree->pWriteNode); - sqlite3_finalize(pRtree->pDeleteNode); - sqlite3_finalize(pRtree->pReadRowid); - sqlite3_finalize(pRtree->pWriteRowid); - sqlite3_finalize(pRtree->pDeleteRowid); - sqlite3_finalize(pRtree->pReadParent); - sqlite3_finalize(pRtree->pWriteParent); - sqlite3_finalize(pRtree->pDeleteParent); - sqlite3_free(pRtree); +static JsonNode *jsonLookupAppend( + JsonParse *pParse, /* Append content to the JSON parse */ + const char *zPath, /* Description of content to append */ + int *pApnd, /* Set this flag to 1 */ + const char **pzErr /* Make this point to any syntax error */ +){ + *pApnd = 1; + if( zPath[0]==0 ){ + jsonParseAddNode(pParse, JSON_NULL, 0, 0); + return pParse->oom ? 0 : &pParse->aNode[pParse->nNode-1]; } + if( zPath[0]=='.' ){ + jsonParseAddNode(pParse, JSON_OBJECT, 0, 0); + }else if( strncmp(zPath,"[0]",3)==0 ){ + jsonParseAddNode(pParse, JSON_ARRAY, 0, 0); + }else{ + return 0; + } + if( pParse->oom ) return 0; + return jsonLookupStep(pParse, pParse->nNode-1, zPath, pApnd, pzErr); } -/* -** Rtree virtual table module xDisconnect method. +/* +** Return the text of a syntax error message on a JSON path. Space is +** obtained from sqlite3_malloc(). */ -static int rtreeDisconnect(sqlite3_vtab *pVtab){ - rtreeRelease((Rtree *)pVtab); - return SQLITE_OK; +static char *jsonPathSyntaxError(const char *zErr){ + return sqlite3_mprintf("JSON path error near '%q'", zErr); } -/* -** Rtree virtual table module xDestroy method. +/* +** Do a node lookup using zPath. Return a pointer to the node on success. +** Return NULL if not found or if there is an error. +** +** On an error, write an error message into pCtx and increment the +** pParse->nErr counter. +** +** If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if +** nodes are appended. */ -static int rtreeDestroy(sqlite3_vtab *pVtab){ - Rtree *pRtree = (Rtree *)pVtab; - int rc; - char *zCreate = sqlite3_mprintf( - "DROP TABLE '%q'.'%q_node';" - "DROP TABLE '%q'.'%q_rowid';" - "DROP TABLE '%q'.'%q_parent';", - pRtree->zDb, pRtree->zName, - pRtree->zDb, pRtree->zName, - pRtree->zDb, pRtree->zName - ); - if( !zCreate ){ - rc = SQLITE_NOMEM; - }else{ - nodeBlobReset(pRtree); - rc = sqlite3_exec(pRtree->db, zCreate, 0, 0, 0); - sqlite3_free(zCreate); - } - if( rc==SQLITE_OK ){ - rtreeRelease(pRtree); +static JsonNode *jsonLookup( + JsonParse *pParse, /* The JSON to search */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + sqlite3_context *pCtx /* Report errors here, if not NULL */ +){ + const char *zErr = 0; + JsonNode *pNode = 0; + char *zMsg; + + if( zPath==0 ) return 0; + if( zPath[0]!='$' ){ + zErr = zPath; + goto lookup_err; } + zPath++; + pNode = jsonLookupStep(pParse, 0, zPath, pApnd, &zErr); + if( zErr==0 ) return pNode; - return rc; +lookup_err: + pParse->nErr++; + assert( zErr!=0 && pCtx!=0 ); + zMsg = jsonPathSyntaxError(zErr); + if( zMsg ){ + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); + }else{ + sqlite3_result_error_nomem(pCtx); + } + return 0; } -/* -** Rtree virtual table module xOpen method. -*/ -static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ - int rc = SQLITE_NOMEM; - Rtree *pRtree = (Rtree *)pVTab; - RtreeCursor *pCsr; - - pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor)); - if( pCsr ){ - memset(pCsr, 0, sizeof(RtreeCursor)); - pCsr->base.pVtab = pVTab; - rc = SQLITE_OK; - pRtree->nCursor++; - } - *ppCursor = (sqlite3_vtab_cursor *)pCsr; - return rc; +/* +** Report the wrong number of arguments for json_insert(), json_replace() +** or json_set(). +*/ +static void jsonWrongNumArgs( + sqlite3_context *pCtx, + const char *zFuncName +){ + char *zMsg = sqlite3_mprintf("json_%s() needs an odd number of arguments", + zFuncName); + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); } - /* -** Free the RtreeCursor.aConstraint[] array and its contents. +** Mark all NULL entries in the Object passed in as JNODE_REMOVE. */ -static void freeCursorConstraints(RtreeCursor *pCsr){ - if( pCsr->aConstraint ){ - int i; /* Used to iterate through constraint array */ - for(i=0; inConstraint; i++){ - sqlite3_rtree_query_info *pInfo = pCsr->aConstraint[i].pInfo; - if( pInfo ){ - if( pInfo->xDelUser ) pInfo->xDelUser(pInfo->pUser); - sqlite3_free(pInfo); - } +static void jsonRemoveAllNulls(JsonNode *pNode){ + int i, n; + assert( pNode->eType==JSON_OBJECT ); + n = pNode->n; + for(i=2; i<=n; i += jsonNodeSize(&pNode[i])+1){ + switch( pNode[i].eType ){ + case JSON_NULL: + pNode[i].jnFlags |= JNODE_REMOVE; + break; + case JSON_OBJECT: + jsonRemoveAllNulls(&pNode[i]); + break; } - sqlite3_free(pCsr->aConstraint); - pCsr->aConstraint = 0; } } -/* -** Rtree virtual table module xClose method. -*/ -static int rtreeClose(sqlite3_vtab_cursor *cur){ - Rtree *pRtree = (Rtree *)(cur->pVtab); - int ii; - RtreeCursor *pCsr = (RtreeCursor *)cur; - assert( pRtree->nCursor>0 ); - freeCursorConstraints(pCsr); - sqlite3_free(pCsr->aPoint); - for(ii=0; iiaNode[ii]); - sqlite3_free(pCsr); - pRtree->nCursor--; - nodeBlobReset(pRtree); - return SQLITE_OK; -} -/* -** Rtree virtual table module xEof method. -** -** Return non-zero if the cursor does not currently point to a valid -** record (i.e if the scan has finished), or zero otherwise. -*/ -static int rtreeEof(sqlite3_vtab_cursor *cur){ - RtreeCursor *pCsr = (RtreeCursor *)cur; - return pCsr->atEOF; -} +/**************************************************************************** +** SQL functions used for testing and debugging +****************************************************************************/ +#ifdef SQLITE_DEBUG /* -** Convert raw bits from the on-disk RTree record into a coordinate value. -** The on-disk format is big-endian and needs to be converted for little- -** endian platforms. The on-disk record stores integer coordinates if -** eInt is true and it stores 32-bit floating point records if eInt is -** false. a[] is the four bytes of the on-disk record to be decoded. -** Store the results in "r". -** -** There are five versions of this macro. The last one is generic. The -** other four are various architectures-specific optimizations. -*/ -#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 -#define RTREE_DECODE_COORD(eInt, a, r) { \ - RtreeCoord c; /* Coordinate decoded */ \ - c.u = _byteswap_ulong(*(u32*)a); \ - r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ -} -#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 -#define RTREE_DECODE_COORD(eInt, a, r) { \ - RtreeCoord c; /* Coordinate decoded */ \ - c.u = __builtin_bswap32(*(u32*)a); \ - r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ -} -#elif SQLITE_BYTEORDER==1234 -#define RTREE_DECODE_COORD(eInt, a, r) { \ - RtreeCoord c; /* Coordinate decoded */ \ - memcpy(&c.u,a,4); \ - c.u = ((c.u>>24)&0xff)|((c.u>>8)&0xff00)| \ - ((c.u&0xff)<<24)|((c.u&0xff00)<<8); \ - r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ -} -#elif SQLITE_BYTEORDER==4321 -#define RTREE_DECODE_COORD(eInt, a, r) { \ - RtreeCoord c; /* Coordinate decoded */ \ - memcpy(&c.u,a,4); \ - r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ -} -#else -#define RTREE_DECODE_COORD(eInt, a, r) { \ - RtreeCoord c; /* Coordinate decoded */ \ - c.u = ((u32)a[0]<<24) + ((u32)a[1]<<16) \ - +((u32)a[2]<<8) + a[3]; \ - r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ -} -#endif - -/* -** Check the RTree node or entry given by pCellData and p against the MATCH -** constraint pConstraint. +** The json_parse(JSON) function returns a string which describes +** a parse of the JSON provided. Or it returns NULL if JSON is not +** well-formed. */ -static int rtreeCallbackConstraint( - RtreeConstraint *pConstraint, /* The constraint to test */ - int eInt, /* True if RTree holding integer coordinates */ - u8 *pCellData, /* Raw cell content */ - RtreeSearchPoint *pSearch, /* Container of this cell */ - sqlite3_rtree_dbl *prScore, /* OUT: score for the cell */ - int *peWithin /* OUT: visibility of the cell */ +static void jsonParseFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - sqlite3_rtree_query_info *pInfo = pConstraint->pInfo; /* Callback info */ - int nCoord = pInfo->nCoord; /* No. of coordinates */ - int rc; /* Callback return code */ - RtreeCoord c; /* Translator union */ - sqlite3_rtree_dbl aCoord[RTREE_MAX_DIMENSIONS*2]; /* Decoded coordinates */ - - assert( pConstraint->op==RTREE_MATCH || pConstraint->op==RTREE_QUERY ); - assert( nCoord==2 || nCoord==4 || nCoord==6 || nCoord==8 || nCoord==10 ); + JsonString s; /* Output string - not real JSON */ + JsonParse x; /* The parse */ + u32 i; - if( pConstraint->op==RTREE_QUERY && pSearch->iLevel==1 ){ - pInfo->iRowid = readInt64(pCellData); - } - pCellData += 8; -#ifndef SQLITE_RTREE_INT_ONLY - if( eInt==0 ){ - switch( nCoord ){ - case 10: readCoord(pCellData+36, &c); aCoord[9] = c.f; - readCoord(pCellData+32, &c); aCoord[8] = c.f; - case 8: readCoord(pCellData+28, &c); aCoord[7] = c.f; - readCoord(pCellData+24, &c); aCoord[6] = c.f; - case 6: readCoord(pCellData+20, &c); aCoord[5] = c.f; - readCoord(pCellData+16, &c); aCoord[4] = c.f; - case 4: readCoord(pCellData+12, &c); aCoord[3] = c.f; - readCoord(pCellData+8, &c); aCoord[2] = c.f; - default: readCoord(pCellData+4, &c); aCoord[1] = c.f; - readCoord(pCellData, &c); aCoord[0] = c.f; - } - }else -#endif - { - switch( nCoord ){ - case 10: readCoord(pCellData+36, &c); aCoord[9] = c.i; - readCoord(pCellData+32, &c); aCoord[8] = c.i; - case 8: readCoord(pCellData+28, &c); aCoord[7] = c.i; - readCoord(pCellData+24, &c); aCoord[6] = c.i; - case 6: readCoord(pCellData+20, &c); aCoord[5] = c.i; - readCoord(pCellData+16, &c); aCoord[4] = c.i; - case 4: readCoord(pCellData+12, &c); aCoord[3] = c.i; - readCoord(pCellData+8, &c); aCoord[2] = c.i; - default: readCoord(pCellData+4, &c); aCoord[1] = c.i; - readCoord(pCellData, &c); aCoord[0] = c.i; + assert( argc==1 ); + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + jsonParseFindParents(&x); + jsonInit(&s, ctx); + for(i=0; iop==RTREE_MATCH ){ - int eWithin = 0; - rc = pConstraint->u.xGeom((sqlite3_rtree_geometry*)pInfo, - nCoord, aCoord, &eWithin); - if( eWithin==0 ) *peWithin = NOT_WITHIN; - *prScore = RTREE_ZERO; - }else{ - pInfo->aCoord = aCoord; - pInfo->iLevel = pSearch->iLevel - 1; - pInfo->rScore = pInfo->rParentScore = pSearch->rScore; - pInfo->eWithin = pInfo->eParentWithin = pSearch->eWithin; - rc = pConstraint->u.xQueryFunc(pInfo); - if( pInfo->eWithin<*peWithin ) *peWithin = pInfo->eWithin; - if( pInfo->rScore<*prScore || *prScorerScore; + jsonPrintf(100, &s,"node %3u: %7s n=%-4d up=%-4d", + i, zType, x.aNode[i].n, x.aUp[i]); + if( x.aNode[i].u.zJContent!=0 ){ + jsonAppendRaw(&s, " ", 1); + jsonAppendRaw(&s, x.aNode[i].u.zJContent, x.aNode[i].n); } + jsonAppendRaw(&s, "\n", 1); } - return rc; + jsonParseReset(&x); + jsonResult(&s); } -/* -** Check the internal RTree node given by pCellData against constraint p. -** If this constraint cannot be satisfied by any child within the node, -** set *peWithin to NOT_WITHIN. +/* +** The json_test1(JSON) function return true (1) if the input is JSON +** text generated by another json function. It returns (0) if the input +** is not known to be JSON. */ -static void rtreeNonleafConstraint( - RtreeConstraint *p, /* The constraint to test */ - int eInt, /* True if RTree holds integer coordinates */ - u8 *pCellData, /* Raw cell content as appears on disk */ - int *peWithin /* Adjust downward, as appropriate */ +static void jsonTest1Func( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - sqlite3_rtree_dbl val; /* Coordinate value convert to a double */ + UNUSED_PARAM(argc); + sqlite3_result_int(ctx, sqlite3_value_subtype(argv[0])==JSON_SUBTYPE); +} +#endif /* SQLITE_DEBUG */ - /* p->iCoord might point to either a lower or upper bound coordinate - ** in a coordinate pair. But make pCellData point to the lower bound. - */ - pCellData += 8 + 4*(p->iCoord&0xfe); +/**************************************************************************** +** Scalar SQL function implementations +****************************************************************************/ - assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE - || p->op==RTREE_GT || p->op==RTREE_EQ ); - assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ - switch( p->op ){ - case RTREE_LE: - case RTREE_LT: - case RTREE_EQ: - RTREE_DECODE_COORD(eInt, pCellData, val); - /* val now holds the lower bound of the coordinate pair */ - if( p->u.rValue>=val ) return; - if( p->op!=RTREE_EQ ) break; /* RTREE_LE and RTREE_LT end here */ - /* Fall through for the RTREE_EQ case */ +/* +** Implementation of the json_QUOTE(VALUE) function. Return a JSON value +** corresponding to the SQL value input. Mostly this means putting +** double-quotes around strings and returning the unquoted string "null" +** when given a NULL input. +*/ +static void jsonQuoteFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonString jx; + UNUSED_PARAM(argc); - default: /* RTREE_GT or RTREE_GE, or fallthrough of RTREE_EQ */ - pCellData += 4; - RTREE_DECODE_COORD(eInt, pCellData, val); - /* val now holds the upper bound of the coordinate pair */ - if( p->u.rValue<=val ) return; - } - *peWithin = NOT_WITHIN; + jsonInit(&jx, ctx); + jsonAppendValue(&jx, argv[0]); + jsonResult(&jx); + sqlite3_result_subtype(ctx, JSON_SUBTYPE); } /* -** Check the leaf RTree cell given by pCellData against constraint p. -** If this constraint is not satisfied, set *peWithin to NOT_WITHIN. -** If the constraint is satisfied, leave *peWithin unchanged. -** -** The constraint is of the form: xN op $val -** -** The op is given by p->op. The xN is p->iCoord-th coordinate in -** pCellData. $val is given by p->u.rValue. +** Implementation of the json_array(VALUE,...) function. Return a JSON +** array that contains all values given in arguments. Or if any argument +** is a BLOB, throw an error. */ -static void rtreeLeafConstraint( - RtreeConstraint *p, /* The constraint to test */ - int eInt, /* True if RTree holds integer coordinates */ - u8 *pCellData, /* Raw cell content as appears on disk */ - int *peWithin /* Adjust downward, as appropriate */ +static void jsonArrayFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - RtreeDValue xN; /* Coordinate value converted to a double */ + int i; + JsonString jx; - assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE - || p->op==RTREE_GT || p->op==RTREE_EQ ); - pCellData += 8 + p->iCoord*4; - assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ - RTREE_DECODE_COORD(eInt, pCellData, xN); - switch( p->op ){ - case RTREE_LE: if( xN <= p->u.rValue ) return; break; - case RTREE_LT: if( xN < p->u.rValue ) return; break; - case RTREE_GE: if( xN >= p->u.rValue ) return; break; - case RTREE_GT: if( xN > p->u.rValue ) return; break; - default: if( xN == p->u.rValue ) return; break; + jsonInit(&jx, ctx); + jsonAppendChar(&jx, '['); + for(i=0; inNode ); + if( argc==2 ){ + const char *zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = jsonLookup(p, zPath, 0, ctx); + }else{ + pNode = p->aNode; + } + if( pNode==0 ){ + return; + } + if( pNode->eType==JSON_ARRAY ){ + assert( (pNode->jnFlags & JNODE_APPEND)==0 ); + for(i=1; i<=pNode->n; n++){ + i += jsonNodeSize(&pNode[i]); } } - return SQLITE_CORRUPT_VTAB; + sqlite3_result_int64(ctx, n); } /* -** Return the index of the cell containing a pointer to node pNode -** in its parent. If pNode is the root node, return -1. +** json_extract(JSON, PATH, ...) +** +** Return the element described by PATH. Return NULL if there is no +** PATH element. If there are multiple PATHs, then return a JSON array +** with the result from each path. Throw an error if the JSON or any PATH +** is malformed. */ -static int nodeParentIndex(Rtree *pRtree, RtreeNode *pNode, int *piIndex){ - RtreeNode *pParent = pNode->pParent; - if( pParent ){ - return nodeRowidIndex(pRtree, pParent, pNode->iNode, piIndex); +static void jsonExtractFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse *p; /* The parse */ + JsonNode *pNode; + const char *zPath; + JsonString jx; + int i; + + if( argc<2 ) return; + p = jsonParseCached(ctx, argv, ctx); + if( p==0 ) return; + jsonInit(&jx, ctx); + jsonAppendChar(&jx, '['); + for(i=1; inErr ) break; + if( argc>2 ){ + jsonAppendSeparator(&jx); + if( pNode ){ + jsonRenderNode(pNode, &jx, 0); + }else{ + jsonAppendRaw(&jx, "null", 4); + } + }else if( pNode ){ + jsonReturn(pNode, ctx, 0); + } } - *piIndex = -1; - return SQLITE_OK; + if( argc>2 && i==argc ){ + jsonAppendChar(&jx, ']'); + jsonResult(&jx); + sqlite3_result_subtype(ctx, JSON_SUBTYPE); + } + jsonReset(&jx); } -/* -** Compare two search points. Return negative, zero, or positive if the first -** is less than, equal to, or greater than the second. -** -** The rScore is the primary key. Smaller rScore values come first. -** If the rScore is a tie, then use iLevel as the tie breaker with smaller -** iLevel values coming first. In this way, if rScore is the same for all -** SearchPoints, then iLevel becomes the deciding factor and the result -** is a depth-first search, which is the desired default behavior. +/* This is the RFC 7396 MergePatch algorithm. */ -static int rtreeSearchPointCompare( - const RtreeSearchPoint *pA, - const RtreeSearchPoint *pB +static JsonNode *jsonMergePatch( + JsonParse *pParse, /* The JSON parser that contains the TARGET */ + u32 iTarget, /* Node of the TARGET in pParse */ + JsonNode *pPatch /* The PATCH */ ){ - if( pA->rScorerScore ) return -1; - if( pA->rScore>pB->rScore ) return +1; - if( pA->iLeveliLevel ) return -1; - if( pA->iLevel>pB->iLevel ) return +1; - return 0; + u32 i, j; + u32 iRoot; + JsonNode *pTarget; + if( pPatch->eType!=JSON_OBJECT ){ + return pPatch; + } + assert( iTarget>=0 && iTargetnNode ); + pTarget = &pParse->aNode[iTarget]; + assert( (pPatch->jnFlags & JNODE_APPEND)==0 ); + if( pTarget->eType!=JSON_OBJECT ){ + jsonRemoveAllNulls(pPatch); + return pPatch; + } + iRoot = iTarget; + for(i=1; in; i += jsonNodeSize(&pPatch[i+1])+1){ + u32 nKey; + const char *zKey; + assert( pPatch[i].eType==JSON_STRING ); + assert( pPatch[i].jnFlags & JNODE_LABEL ); + nKey = pPatch[i].n; + zKey = pPatch[i].u.zJContent; + assert( (pPatch[i].jnFlags & JNODE_RAW)==0 ); + for(j=1; jn; j += jsonNodeSize(&pTarget[j+1])+1 ){ + assert( pTarget[j].eType==JSON_STRING ); + assert( pTarget[j].jnFlags & JNODE_LABEL ); + assert( (pPatch[i].jnFlags & JNODE_RAW)==0 ); + if( pTarget[j].n==nKey && strncmp(pTarget[j].u.zJContent,zKey,nKey)==0 ){ + if( pTarget[j+1].jnFlags & (JNODE_REMOVE|JNODE_PATCH) ) break; + if( pPatch[i+1].eType==JSON_NULL ){ + pTarget[j+1].jnFlags |= JNODE_REMOVE; + }else{ + JsonNode *pNew = jsonMergePatch(pParse, iTarget+j+1, &pPatch[i+1]); + if( pNew==0 ) return 0; + pTarget = &pParse->aNode[iTarget]; + if( pNew!=&pTarget[j+1] ){ + pTarget[j+1].u.pPatch = pNew; + pTarget[j+1].jnFlags |= JNODE_PATCH; + } + } + break; + } + } + if( j>=pTarget->n && pPatch[i+1].eType!=JSON_NULL ){ + int iStart, iPatch; + iStart = jsonParseAddNode(pParse, JSON_OBJECT, 2, 0); + jsonParseAddNode(pParse, JSON_STRING, nKey, zKey); + iPatch = jsonParseAddNode(pParse, JSON_TRUE, 0, 0); + if( pParse->oom ) return 0; + jsonRemoveAllNulls(pPatch); + pTarget = &pParse->aNode[iTarget]; + pParse->aNode[iRoot].jnFlags |= JNODE_APPEND; + pParse->aNode[iRoot].u.iAppend = iStart - iRoot; + iRoot = iStart; + pParse->aNode[iPatch].jnFlags |= JNODE_PATCH; + pParse->aNode[iPatch].u.pPatch = &pPatch[i+1]; + } + } + return pTarget; } /* -** Interchange two search points in a cursor. +** Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON +** object that is the result of running the RFC 7396 MergePatch() algorithm +** on the two arguments. */ -static void rtreeSearchPointSwap(RtreeCursor *p, int i, int j){ - RtreeSearchPoint t = p->aPoint[i]; - assert( iaPoint[i] = p->aPoint[j]; - p->aPoint[j] = t; - i++; j++; - if( i=RTREE_CACHE_SZ ){ - nodeRelease(RTREE_OF_CURSOR(p), p->aNode[i]); - p->aNode[i] = 0; - }else{ - RtreeNode *pTemp = p->aNode[i]; - p->aNode[i] = p->aNode[j]; - p->aNode[j] = pTemp; - } +static void jsonPatchFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse x; /* The JSON that is being patched */ + JsonParse y; /* The patch */ + JsonNode *pResult; /* The result of the merge */ + + UNUSED_PARAM(argc); + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + if( jsonParse(&y, ctx, (const char*)sqlite3_value_text(argv[1])) ){ + jsonParseReset(&x); + return; + } + pResult = jsonMergePatch(&x, 0, y.aNode); + assert( pResult!=0 || x.oom ); + if( pResult ){ + jsonReturnJson(pResult, ctx, 0); + }else{ + sqlite3_result_error_nomem(ctx); } + jsonParseReset(&x); + jsonParseReset(&y); } + /* -** Return the search point with the lowest current score. +** Implementation of the json_object(NAME,VALUE,...) function. Return a JSON +** object that contains all name/value given in arguments. Or if any name +** is not a string or if any value is a BLOB, throw an error. */ -static RtreeSearchPoint *rtreeSearchPointFirst(RtreeCursor *pCur){ - return pCur->bPoint ? &pCur->sPoint : pCur->nPoint ? pCur->aPoint : 0; +static void jsonObjectFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + int i; + JsonString jx; + const char *z; + u32 n; + + if( argc&1 ){ + sqlite3_result_error(ctx, "json_object() requires an even number " + "of arguments", -1); + return; + } + jsonInit(&jx, ctx); + jsonAppendChar(&jx, '{'); + for(i=0; ibPoint; - assert( ii==0 || ii==1 ); - assert( pCur->bPoint || pCur->nPoint ); - if( pCur->aNode[ii]==0 ){ - assert( pRC!=0 ); - id = ii ? pCur->aPoint[0].id : pCur->sPoint.id; - *pRC = nodeAcquire(RTREE_OF_CURSOR(pCur), id, 0, &pCur->aNode[ii]); +static void jsonRemoveFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse x; /* The parse */ + JsonNode *pNode; + const char *zPath; + u32 i; + + if( argc<1 ) return; + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i++){ + zPath = (const char*)sqlite3_value_text(argv[i]); + if( zPath==0 ) goto remove_done; + pNode = jsonLookup(&x, zPath, 0, ctx); + if( x.nErr ) goto remove_done; + if( pNode ) pNode->jnFlags |= JNODE_REMOVE; } - return pCur->aNode[ii]; + if( (x.aNode[0].jnFlags & JNODE_REMOVE)==0 ){ + jsonReturnJson(x.aNode, ctx, 0); + } +remove_done: + jsonParseReset(&x); } /* -** Push a new element onto the priority queue +** json_replace(JSON, PATH, VALUE, ...) +** +** Replace the value at PATH with VALUE. If PATH does not already exist, +** this routine is a no-op. If JSON or PATH is malformed, throw an error. */ -static RtreeSearchPoint *rtreeEnqueue( - RtreeCursor *pCur, /* The cursor */ - RtreeDValue rScore, /* Score for the new search point */ - u8 iLevel /* Level for the new search point */ +static void jsonReplaceFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - int i, j; - RtreeSearchPoint *pNew; - if( pCur->nPoint>=pCur->nPointAlloc ){ - int nNew = pCur->nPointAlloc*2 + 8; - pNew = sqlite3_realloc(pCur->aPoint, nNew*sizeof(pCur->aPoint[0])); - if( pNew==0 ) return 0; - pCur->aPoint = pNew; - pCur->nPointAlloc = nNew; + JsonParse x; /* The parse */ + JsonNode *pNode; + const char *zPath; + u32 i; + + if( argc<1 ) return; + if( (argc&1)==0 ) { + jsonWrongNumArgs(ctx, "replace"); + return; } - i = pCur->nPoint++; - pNew = pCur->aPoint + i; - pNew->rScore = rScore; - pNew->iLevel = iLevel; - assert( iLevel<=RTREE_MAX_DEPTH ); - while( i>0 ){ - RtreeSearchPoint *pParent; - j = (i-1)/2; - pParent = pCur->aPoint + j; - if( rtreeSearchPointCompare(pNew, pParent)>=0 ) break; - rtreeSearchPointSwap(pCur, j, i); - i = j; - pNew = pParent; + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + pNode = jsonLookup(&x, zPath, 0, ctx); + if( x.nErr ) goto replace_err; + if( pNode ){ + pNode->jnFlags |= (u8)JNODE_REPLACE; + pNode->u.iReplace = i + 1; + } } - return pNew; + if( x.aNode[0].jnFlags & JNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); + }else{ + jsonReturnJson(x.aNode, ctx, argv); + } +replace_err: + jsonParseReset(&x); } /* -** Allocate a new RtreeSearchPoint and return a pointer to it. Return -** NULL if malloc fails. +** json_set(JSON, PATH, VALUE, ...) +** +** Set the value at PATH to VALUE. Create the PATH if it does not already +** exist. Overwrite existing values that do exist. +** If JSON or PATH is malformed, throw an error. +** +** json_insert(JSON, PATH, VALUE, ...) +** +** Create PATH and initialize it to VALUE. If PATH already exists, this +** routine is a no-op. If JSON or PATH is malformed, throw an error. */ -static RtreeSearchPoint *rtreeSearchPointNew( - RtreeCursor *pCur, /* The cursor */ - RtreeDValue rScore, /* Score for the new search point */ - u8 iLevel /* Level for the new search point */ +static void jsonSetFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - RtreeSearchPoint *pNew, *pFirst; - pFirst = rtreeSearchPointFirst(pCur); - pCur->anQueue[iLevel]++; - if( pFirst==0 - || pFirst->rScore>rScore - || (pFirst->rScore==rScore && pFirst->iLevel>iLevel) - ){ - if( pCur->bPoint ){ - int ii; - pNew = rtreeEnqueue(pCur, rScore, iLevel); - if( pNew==0 ) return 0; - ii = (int)(pNew - pCur->aPoint) + 1; - if( iiaNode[ii]==0 ); - pCur->aNode[ii] = pCur->aNode[0]; - }else{ - nodeRelease(RTREE_OF_CURSOR(pCur), pCur->aNode[0]); - } - pCur->aNode[0] = 0; - *pNew = pCur->sPoint; + JsonParse x; /* The parse */ + JsonNode *pNode; + const char *zPath; + u32 i; + int bApnd; + int bIsSet = *(int*)sqlite3_user_data(ctx); + + if( argc<1 ) return; + if( (argc&1)==0 ) { + jsonWrongNumArgs(ctx, bIsSet ? "set" : "insert"); + return; + } + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + bApnd = 0; + pNode = jsonLookup(&x, zPath, &bApnd, ctx); + if( x.oom ){ + sqlite3_result_error_nomem(ctx); + goto jsonSetDone; + }else if( x.nErr ){ + goto jsonSetDone; + }else if( pNode && (bApnd || bIsSet) ){ + pNode->jnFlags |= (u8)JNODE_REPLACE; + pNode->u.iReplace = i + 1; } - pCur->sPoint.rScore = rScore; - pCur->sPoint.iLevel = iLevel; - pCur->bPoint = 1; - return &pCur->sPoint; + } + if( x.aNode[0].jnFlags & JNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); }else{ - return rtreeEnqueue(pCur, rScore, iLevel); + jsonReturnJson(x.aNode, ctx, argv); } +jsonSetDone: + jsonParseReset(&x); } -#if 0 -/* Tracing routines for the RtreeSearchPoint queue */ -static void tracePoint(RtreeSearchPoint *p, int idx, RtreeCursor *pCur){ - if( idx<0 ){ printf(" s"); }else{ printf("%2d", idx); } - printf(" %d.%05lld.%02d %g %d", - p->iLevel, p->id, p->iCell, p->rScore, p->eWithin - ); - idx++; - if( idxaNode[idx]); +/* +** json_type(JSON) +** json_type(JSON, PATH) +** +** Return the top-level "type" of a JSON string. Throw an error if +** either the JSON or PATH inputs are not well-formed. +*/ +static void jsonTypeFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse *p; /* The parse */ + const char *zPath; + JsonNode *pNode; + + p = jsonParseCached(ctx, argv, ctx); + if( p==0 ) return; + if( argc==2 ){ + zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = jsonLookup(p, zPath, 0, ctx); }else{ - printf("\n"); - } -} -static void traceQueue(RtreeCursor *pCur, const char *zPrefix){ - int ii; - printf("=== %9s ", zPrefix); - if( pCur->bPoint ){ - tracePoint(&pCur->sPoint, -1, pCur); + pNode = p->aNode; } - for(ii=0; iinPoint; ii++){ - if( ii>0 || pCur->bPoint ) printf(" "); - tracePoint(&pCur->aPoint[ii], ii, pCur); + if( pNode ){ + sqlite3_result_text(ctx, jsonType[pNode->eType], -1, SQLITE_STATIC); } } -# define RTREE_QUEUE_TRACE(A,B) traceQueue(A,B) -#else -# define RTREE_QUEUE_TRACE(A,B) /* no-op */ -#endif -/* Remove the search point with the lowest current score. +/* +** json_valid(JSON) +** +** Return 1 if JSON is a well-formed JSON string according to RFC-7159. +** Return 0 otherwise. */ -static void rtreeSearchPointPop(RtreeCursor *p){ - int i, j, k, n; - i = 1 - p->bPoint; - assert( i==0 || i==1 ); - if( p->aNode[i] ){ - nodeRelease(RTREE_OF_CURSOR(p), p->aNode[i]); - p->aNode[i] = 0; - } - if( p->bPoint ){ - p->anQueue[p->sPoint.iLevel]--; - p->bPoint = 0; - }else if( p->nPoint ){ - p->anQueue[p->aPoint[0].iLevel]--; - n = --p->nPoint; - p->aPoint[0] = p->aPoint[n]; - if( naNode[1] = p->aNode[n+1]; - p->aNode[n+1] = 0; - } - i = 0; - while( (j = i*2+1)aPoint[k], &p->aPoint[j])<0 ){ - if( rtreeSearchPointCompare(&p->aPoint[k], &p->aPoint[i])<0 ){ - rtreeSearchPointSwap(p, i, k); - i = k; - }else{ - break; - } - }else{ - if( rtreeSearchPointCompare(&p->aPoint[j], &p->aPoint[i])<0 ){ - rtreeSearchPointSwap(p, i, j); - i = j; - }else{ - break; - } - } - } - } +static void jsonValidFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse *p; /* The parse */ + UNUSED_PARAM(argc); + p = jsonParseCached(ctx, argv, 0); + sqlite3_result_int(ctx, p!=0); } +/**************************************************************************** +** Aggregate SQL function implementations +****************************************************************************/ /* -** Continue the search on cursor pCur until the front of the queue -** contains an entry suitable for returning as a result-set row, -** or until the RtreeSearchPoint queue is empty, indicating that the -** query has completed. +** json_group_array(VALUE) +** +** Return a JSON array composed of all values in the aggregate. */ -static int rtreeStepToLeaf(RtreeCursor *pCur){ - RtreeSearchPoint *p; - Rtree *pRtree = RTREE_OF_CURSOR(pCur); - RtreeNode *pNode; - int eWithin; - int rc = SQLITE_OK; - int nCell; - int nConstraint = pCur->nConstraint; - int ii; - int eInt; - RtreeSearchPoint x; - - eInt = pRtree->eCoordType==RTREE_COORD_INT32; - while( (p = rtreeSearchPointFirst(pCur))!=0 && p->iLevel>0 ){ - pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc); - if( rc ) return rc; - nCell = NCELL(pNode); - assert( nCell<200 ); - while( p->iCellzData + (4+pRtree->nBytesPerCell*p->iCell); - eWithin = FULLY_WITHIN; - for(ii=0; iiaConstraint + ii; - if( pConstraint->op>=RTREE_MATCH ){ - rc = rtreeCallbackConstraint(pConstraint, eInt, pCellData, p, - &rScore, &eWithin); - if( rc ) return rc; - }else if( p->iLevel==1 ){ - rtreeLeafConstraint(pConstraint, eInt, pCellData, &eWithin); - }else{ - rtreeNonleafConstraint(pConstraint, eInt, pCellData, &eWithin); - } - if( eWithin==NOT_WITHIN ) break; - } - p->iCell++; - if( eWithin==NOT_WITHIN ) continue; - x.iLevel = p->iLevel - 1; - if( x.iLevel ){ - x.id = readInt64(pCellData); - x.iCell = 0; - }else{ - x.id = p->id; - x.iCell = p->iCell - 1; - } - if( p->iCell>=nCell ){ - RTREE_QUEUE_TRACE(pCur, "POP-S:"); - rtreeSearchPointPop(pCur); - } - if( rScoreeWithin = (u8)eWithin; - p->id = x.id; - p->iCell = x.iCell; - RTREE_QUEUE_TRACE(pCur, "PUSH-S:"); - break; +static void jsonArrayStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonString *pStr; + UNUSED_PARAM(argc); + pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + jsonInit(pStr, ctx); + jsonAppendChar(pStr, '['); + }else{ + jsonAppendChar(pStr, ','); + pStr->pCtx = ctx; } - if( p->iCell>=nCell ){ - RTREE_QUEUE_TRACE(pCur, "POP-Se:"); - rtreeSearchPointPop(pCur); + jsonAppendValue(pStr, argv[0]); + } +} +static void jsonArrayCompute(sqlite3_context *ctx, int isFinal){ + JsonString *pStr; + pStr = (JsonString*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + pStr->pCtx = ctx; + jsonAppendChar(pStr, ']'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; } + }else{ + sqlite3_result_text(ctx, "[]", 2, SQLITE_STATIC); } - pCur->atEOF = p==0; - return SQLITE_OK; + sqlite3_result_subtype(ctx, JSON_SUBTYPE); } - -/* -** Rtree virtual table module xNext method. -*/ -static int rtreeNext(sqlite3_vtab_cursor *pVtabCursor){ - RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor; - int rc = SQLITE_OK; - - /* Move to the next entry that matches the configured constraints. */ - RTREE_QUEUE_TRACE(pCsr, "POP-Nx:"); - rtreeSearchPointPop(pCsr); - rc = rtreeStepToLeaf(pCsr); - return rc; +static void jsonArrayValue(sqlite3_context *ctx){ + jsonArrayCompute(ctx, 0); } - -/* -** Rtree virtual table module xRowid method. -*/ -static int rtreeRowid(sqlite3_vtab_cursor *pVtabCursor, sqlite_int64 *pRowid){ - RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor; - RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr); - int rc = SQLITE_OK; - RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc); - if( rc==SQLITE_OK && p ){ - *pRowid = nodeGetRowid(RTREE_OF_CURSOR(pCsr), pNode, p->iCell); - } - return rc; +static void jsonArrayFinal(sqlite3_context *ctx){ + jsonArrayCompute(ctx, 1); } -/* -** Rtree virtual table module xColumn method. +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** This method works for both json_group_array() and json_group_object(). +** It works by removing the first element of the group by searching forward +** to the first comma (",") that is not within a string and deleting all +** text through that comma. */ -static int rtreeColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){ - Rtree *pRtree = (Rtree *)cur->pVtab; - RtreeCursor *pCsr = (RtreeCursor *)cur; - RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr); - RtreeCoord c; - int rc = SQLITE_OK; - RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc); - - if( rc ) return rc; - if( p==0 ) return SQLITE_OK; - if( i==0 ){ - sqlite3_result_int64(ctx, nodeGetRowid(pRtree, pNode, p->iCell)); - }else{ - nodeGetCoord(pRtree, pNode, p->iCell, i-1, &c); -#ifndef SQLITE_RTREE_INT_ONLY - if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ - sqlite3_result_double(ctx, c.f); - }else -#endif - { - assert( pRtree->eCoordType==RTREE_COORD_INT32 ); - sqlite3_result_int(ctx, c.i); +static void jsonGroupInverse( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + int i; + int inStr = 0; + char *z; + JsonString *pStr; + UNUSED_PARAM(argc); + UNUSED_PARAM(argv); + pStr = (JsonString*)sqlite3_aggregate_context(ctx, 0); +#ifdef NEVER + /* pStr is always non-NULL since jsonArrayStep() or jsonObjectStep() will + ** always have been called to initalize it */ + if( NEVER(!pStr) ) return; +#endif + z = pStr->zBuf; + for(i=1; z[i]!=',' || inStr; i++){ + assert( inUsed ); + if( z[i]=='"' ){ + inStr = !inStr; + }else if( z[i]=='\\' ){ + i++; } } - return SQLITE_OK; + pStr->nUsed -= i; + memmove(&z[1], &z[i+1], (size_t)pStr->nUsed-1); } +#else +# define jsonGroupInverse 0 +#endif -/* -** Use nodeAcquire() to obtain the leaf node containing the record with -** rowid iRowid. If successful, set *ppLeaf to point to the node and -** return SQLITE_OK. If there is no such record in the table, set -** *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf -** to zero and return an SQLite error code. + +/* +** json_group_obj(NAME,VALUE) +** +** Return a JSON object composed of all names and values in the aggregate. */ -static int findLeafNode( - Rtree *pRtree, /* RTree to search */ - i64 iRowid, /* The rowid searching for */ - RtreeNode **ppLeaf, /* Write the node here */ - sqlite3_int64 *piNode /* Write the node-id here */ +static void jsonObjectStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv ){ - int rc; - *ppLeaf = 0; - sqlite3_bind_int64(pRtree->pReadRowid, 1, iRowid); - if( sqlite3_step(pRtree->pReadRowid)==SQLITE_ROW ){ - i64 iNode = sqlite3_column_int64(pRtree->pReadRowid, 0); - if( piNode ) *piNode = iNode; - rc = nodeAcquire(pRtree, iNode, 0, ppLeaf); - sqlite3_reset(pRtree->pReadRowid); + JsonString *pStr; + const char *z; + u32 n; + UNUSED_PARAM(argc); + pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + jsonInit(pStr, ctx); + jsonAppendChar(pStr, '{'); + }else{ + jsonAppendChar(pStr, ','); + pStr->pCtx = ctx; + } + z = (const char*)sqlite3_value_text(argv[0]); + n = (u32)sqlite3_value_bytes(argv[0]); + jsonAppendString(pStr, z, n); + jsonAppendChar(pStr, ':'); + jsonAppendValue(pStr, argv[1]); + } +} +static void jsonObjectCompute(sqlite3_context *ctx, int isFinal){ + JsonString *pStr; + pStr = (JsonString*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + jsonAppendChar(pStr, '}'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; + } }else{ - rc = sqlite3_reset(pRtree->pReadRowid); + sqlite3_result_text(ctx, "{}", 2, SQLITE_STATIC); } - return rc; + sqlite3_result_subtype(ctx, JSON_SUBTYPE); +} +static void jsonObjectValue(sqlite3_context *ctx){ + jsonObjectCompute(ctx, 0); +} +static void jsonObjectFinal(sqlite3_context *ctx){ + jsonObjectCompute(ctx, 1); } -/* -** This function is called to configure the RtreeConstraint object passed -** as the second argument for a MATCH constraint. The value passed as the -** first argument to this function is the right-hand operand to the MATCH -** operator. -*/ -static int deserializeGeometry(sqlite3_value *pValue, RtreeConstraint *pCons){ - RtreeMatchArg *pBlob, *pSrc; /* BLOB returned by geometry function */ - sqlite3_rtree_query_info *pInfo; /* Callback information */ + + +#ifndef SQLITE_OMIT_VIRTUALTABLE +/**************************************************************************** +** The json_each virtual table +****************************************************************************/ +typedef struct JsonEachCursor JsonEachCursor; +struct JsonEachCursor { + sqlite3_vtab_cursor base; /* Base class - must be first */ + u32 iRowid; /* The rowid */ + u32 iBegin; /* The first node of the scan */ + u32 i; /* Index in sParse.aNode[] of current row */ + u32 iEnd; /* EOF when i equals or exceeds this value */ + u8 eType; /* Type of top-level element */ + u8 bRecursive; /* True for json_tree(). False for json_each() */ + char *zJson; /* Input JSON */ + char *zRoot; /* Path by which to filter zJson */ + JsonParse sParse; /* Parse of the input JSON */ +}; + +/* Constructor for the json_each virtual table */ +static int jsonEachConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + sqlite3_vtab *pNew; + int rc; + +/* Column numbers */ +#define JEACH_KEY 0 +#define JEACH_VALUE 1 +#define JEACH_TYPE 2 +#define JEACH_ATOM 3 +#define JEACH_ID 4 +#define JEACH_PARENT 5 +#define JEACH_FULLKEY 6 +#define JEACH_PATH 7 +/* The xBestIndex method assumes that the JSON and ROOT columns are +** the last two columns in the table. Should this ever changes, be +** sure to update the xBestIndex method. */ +#define JEACH_JSON 8 +#define JEACH_ROOT 9 + + UNUSED_PARAM(pzErr); + UNUSED_PARAM(argv); + UNUSED_PARAM(argc); + UNUSED_PARAM(pAux); + rc = sqlite3_declare_vtab(db, + "CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path," + "json HIDDEN,root HIDDEN)"); + if( rc==SQLITE_OK ){ + pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) ); + if( pNew==0 ) return SQLITE_NOMEM; + memset(pNew, 0, sizeof(*pNew)); + } + return rc; +} + +/* destructor for json_each virtual table */ +static int jsonEachDisconnect(sqlite3_vtab *pVtab){ + sqlite3_free(pVtab); + return SQLITE_OK; +} + +/* constructor for a JsonEachCursor object for json_each(). */ +static int jsonEachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){ + JsonEachCursor *pCur; + + UNUSED_PARAM(p); + pCur = sqlite3_malloc( sizeof(*pCur) ); + if( pCur==0 ) return SQLITE_NOMEM; + memset(pCur, 0, sizeof(*pCur)); + *ppCursor = &pCur->base; + return SQLITE_OK; +} + +/* constructor for a JsonEachCursor object for json_tree(). */ +static int jsonEachOpenTree(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){ + int rc = jsonEachOpenEach(p, ppCursor); + if( rc==SQLITE_OK ){ + JsonEachCursor *pCur = (JsonEachCursor*)*ppCursor; + pCur->bRecursive = 1; + } + return rc; +} + +/* Reset a JsonEachCursor back to its original state. Free any memory +** held. */ +static void jsonEachCursorReset(JsonEachCursor *p){ + sqlite3_free(p->zJson); + sqlite3_free(p->zRoot); + jsonParseReset(&p->sParse); + p->iRowid = 0; + p->i = 0; + p->iEnd = 0; + p->eType = 0; + p->zJson = 0; + p->zRoot = 0; +} + +/* Destructor for a jsonEachCursor object */ +static int jsonEachClose(sqlite3_vtab_cursor *cur){ + JsonEachCursor *p = (JsonEachCursor*)cur; + jsonEachCursorReset(p); + sqlite3_free(cur); + return SQLITE_OK; +} + +/* Return TRUE if the jsonEachCursor object has been advanced off the end +** of the JSON object */ +static int jsonEachEof(sqlite3_vtab_cursor *cur){ + JsonEachCursor *p = (JsonEachCursor*)cur; + return p->i >= p->iEnd; +} + +/* Advance the cursor to the next element for json_tree() */ +static int jsonEachNext(sqlite3_vtab_cursor *cur){ + JsonEachCursor *p = (JsonEachCursor*)cur; + if( p->bRecursive ){ + if( p->sParse.aNode[p->i].jnFlags & JNODE_LABEL ) p->i++; + p->i++; + p->iRowid++; + if( p->iiEnd ){ + u32 iUp = p->sParse.aUp[p->i]; + JsonNode *pUp = &p->sParse.aNode[iUp]; + p->eType = pUp->eType; + if( pUp->eType==JSON_ARRAY ){ + if( iUp==p->i-1 ){ + pUp->u.iKey = 0; + }else{ + pUp->u.iKey++; + } + } + } + }else{ + switch( p->eType ){ + case JSON_ARRAY: { + p->i += jsonNodeSize(&p->sParse.aNode[p->i]); + p->iRowid++; + break; + } + case JSON_OBJECT: { + p->i += 1 + jsonNodeSize(&p->sParse.aNode[p->i+1]); + p->iRowid++; + break; + } + default: { + p->i = p->iEnd; + break; + } + } + } + return SQLITE_OK; +} + +/* Append the name of the path for element i to pStr +*/ +static void jsonEachComputePath( + JsonEachCursor *p, /* The cursor */ + JsonString *pStr, /* Write the path here */ + u32 i /* Path to this element */ +){ + JsonNode *pNode, *pUp; + u32 iUp; + if( i==0 ){ + jsonAppendChar(pStr, '$'); + return; + } + iUp = p->sParse.aUp[i]; + jsonEachComputePath(p, pStr, iUp); + pNode = &p->sParse.aNode[i]; + pUp = &p->sParse.aNode[iUp]; + if( pUp->eType==JSON_ARRAY ){ + jsonPrintf(30, pStr, "[%d]", pUp->u.iKey); + }else{ + assert( pUp->eType==JSON_OBJECT ); + if( (pNode->jnFlags & JNODE_LABEL)==0 ) pNode--; + assert( pNode->eType==JSON_STRING ); + assert( pNode->jnFlags & JNODE_LABEL ); + jsonPrintf(pNode->n+1, pStr, ".%.*s", pNode->n-2, pNode->u.zJContent+1); + } +} + +/* Return the value of a column */ +static int jsonEachColumn( + sqlite3_vtab_cursor *cur, /* The cursor */ + sqlite3_context *ctx, /* First argument to sqlite3_result_...() */ + int i /* Which column to return */ +){ + JsonEachCursor *p = (JsonEachCursor*)cur; + JsonNode *pThis = &p->sParse.aNode[p->i]; + switch( i ){ + case JEACH_KEY: { + if( p->i==0 ) break; + if( p->eType==JSON_OBJECT ){ + jsonReturn(pThis, ctx, 0); + }else if( p->eType==JSON_ARRAY ){ + u32 iKey; + if( p->bRecursive ){ + if( p->iRowid==0 ) break; + iKey = p->sParse.aNode[p->sParse.aUp[p->i]].u.iKey; + }else{ + iKey = p->iRowid; + } + sqlite3_result_int64(ctx, (sqlite3_int64)iKey); + } + break; + } + case JEACH_VALUE: { + if( pThis->jnFlags & JNODE_LABEL ) pThis++; + jsonReturn(pThis, ctx, 0); + break; + } + case JEACH_TYPE: { + if( pThis->jnFlags & JNODE_LABEL ) pThis++; + sqlite3_result_text(ctx, jsonType[pThis->eType], -1, SQLITE_STATIC); + break; + } + case JEACH_ATOM: { + if( pThis->jnFlags & JNODE_LABEL ) pThis++; + if( pThis->eType>=JSON_ARRAY ) break; + jsonReturn(pThis, ctx, 0); + break; + } + case JEACH_ID: { + sqlite3_result_int64(ctx, + (sqlite3_int64)p->i + ((pThis->jnFlags & JNODE_LABEL)!=0)); + break; + } + case JEACH_PARENT: { + if( p->i>p->iBegin && p->bRecursive ){ + sqlite3_result_int64(ctx, (sqlite3_int64)p->sParse.aUp[p->i]); + } + break; + } + case JEACH_FULLKEY: { + JsonString x; + jsonInit(&x, ctx); + if( p->bRecursive ){ + jsonEachComputePath(p, &x, p->i); + }else{ + if( p->zRoot ){ + jsonAppendRaw(&x, p->zRoot, (int)strlen(p->zRoot)); + }else{ + jsonAppendChar(&x, '$'); + } + if( p->eType==JSON_ARRAY ){ + jsonPrintf(30, &x, "[%d]", p->iRowid); + }else if( p->eType==JSON_OBJECT ){ + jsonPrintf(pThis->n, &x, ".%.*s", pThis->n-2, pThis->u.zJContent+1); + } + } + jsonResult(&x); + break; + } + case JEACH_PATH: { + if( p->bRecursive ){ + JsonString x; + jsonInit(&x, ctx); + jsonEachComputePath(p, &x, p->sParse.aUp[p->i]); + jsonResult(&x); + break; + } + /* For json_each() path and root are the same so fall through + ** into the root case */ + } + default: { + const char *zRoot = p->zRoot; + if( zRoot==0 ) zRoot = "$"; + sqlite3_result_text(ctx, zRoot, -1, SQLITE_STATIC); + break; + } + case JEACH_JSON: { + assert( i==JEACH_JSON ); + sqlite3_result_text(ctx, p->sParse.zJson, -1, SQLITE_STATIC); + break; + } + } + return SQLITE_OK; +} + +/* Return the current rowid value */ +static int jsonEachRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){ + JsonEachCursor *p = (JsonEachCursor*)cur; + *pRowid = p->iRowid; + return SQLITE_OK; +} + +/* The query strategy is to look for an equality constraint on the json +** column. Without such a constraint, the table cannot operate. idxNum is +** 1 if the constraint is found, 3 if the constraint and zRoot are found, +** and 0 otherwise. +*/ +static int jsonEachBestIndex( + sqlite3_vtab *tab, + sqlite3_index_info *pIdxInfo +){ + int i; /* Loop counter or computed array index */ + int aIdx[2]; /* Index of constraints for JSON and ROOT */ + int unusableMask = 0; /* Mask of unusable JSON and ROOT constraints */ + int idxMask = 0; /* Mask of usable == constraints JSON and ROOT */ + const struct sqlite3_index_constraint *pConstraint; + + /* This implementation assumes that JSON and ROOT are the last two + ** columns in the table */ + assert( JEACH_ROOT == JEACH_JSON+1 ); + UNUSED_PARAM(tab); + aIdx[0] = aIdx[1] = -1; + pConstraint = pIdxInfo->aConstraint; + for(i=0; inConstraint; i++, pConstraint++){ + int iCol; + int iMask; + if( pConstraint->iColumn < JEACH_JSON ) continue; + iCol = pConstraint->iColumn - JEACH_JSON; + assert( iCol==0 || iCol==1 ); + iMask = 1 << iCol; + if( pConstraint->usable==0 ){ + unusableMask |= iMask; + }else if( pConstraint->op==SQLITE_INDEX_CONSTRAINT_EQ ){ + aIdx[iCol] = i; + idxMask |= iMask; + } + } + if( (unusableMask & ~idxMask)!=0 ){ + /* If there are any unusable constraints on JSON or ROOT, then reject + ** this entire plan */ + return SQLITE_CONSTRAINT; + } + if( aIdx[0]<0 ){ + /* No JSON input. Leave estimatedCost at the huge value that it was + ** initialized to to discourage the query planner from selecting this + ** plan. */ + pIdxInfo->idxNum = 0; + }else{ + pIdxInfo->estimatedCost = 1.0; + i = aIdx[0]; + pIdxInfo->aConstraintUsage[i].argvIndex = 1; + pIdxInfo->aConstraintUsage[i].omit = 1; + if( aIdx[1]<0 ){ + pIdxInfo->idxNum = 1; /* Only JSON supplied. Plan 1 */ + }else{ + i = aIdx[1]; + pIdxInfo->aConstraintUsage[i].argvIndex = 2; + pIdxInfo->aConstraintUsage[i].omit = 1; + pIdxInfo->idxNum = 3; /* Both JSON and ROOT are supplied. Plan 3 */ + } + } + return SQLITE_OK; +} + +/* Start a search on a new JSON string */ +static int jsonEachFilter( + sqlite3_vtab_cursor *cur, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + JsonEachCursor *p = (JsonEachCursor*)cur; + const char *z; + const char *zRoot = 0; + sqlite3_int64 n; + + UNUSED_PARAM(idxStr); + UNUSED_PARAM(argc); + jsonEachCursorReset(p); + if( idxNum==0 ) return SQLITE_OK; + z = (const char*)sqlite3_value_text(argv[0]); + if( z==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[0]); + p->zJson = sqlite3_malloc64( n+1 ); + if( p->zJson==0 ) return SQLITE_NOMEM; + memcpy(p->zJson, z, (size_t)n+1); + if( jsonParse(&p->sParse, 0, p->zJson) ){ + int rc = SQLITE_NOMEM; + if( p->sParse.oom==0 ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = sqlite3_mprintf("malformed JSON"); + if( cur->pVtab->zErrMsg ) rc = SQLITE_ERROR; + } + jsonEachCursorReset(p); + return rc; + }else if( p->bRecursive && jsonParseFindParents(&p->sParse) ){ + jsonEachCursorReset(p); + return SQLITE_NOMEM; + }else{ + JsonNode *pNode = 0; + if( idxNum==3 ){ + const char *zErr = 0; + zRoot = (const char*)sqlite3_value_text(argv[1]); + if( zRoot==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[1]); + p->zRoot = sqlite3_malloc64( n+1 ); + if( p->zRoot==0 ) return SQLITE_NOMEM; + memcpy(p->zRoot, zRoot, (size_t)n+1); + if( zRoot[0]!='$' ){ + zErr = zRoot; + }else{ + pNode = jsonLookupStep(&p->sParse, 0, p->zRoot+1, 0, &zErr); + } + if( zErr ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = jsonPathSyntaxError(zErr); + jsonEachCursorReset(p); + return cur->pVtab->zErrMsg ? SQLITE_ERROR : SQLITE_NOMEM; + }else if( pNode==0 ){ + return SQLITE_OK; + } + }else{ + pNode = p->sParse.aNode; + } + p->iBegin = p->i = (int)(pNode - p->sParse.aNode); + p->eType = pNode->eType; + if( p->eType>=JSON_ARRAY ){ + pNode->u.iKey = 0; + p->iEnd = p->i + pNode->n + 1; + if( p->bRecursive ){ + p->eType = p->sParse.aNode[p->sParse.aUp[p->i]].eType; + if( p->i>0 && (p->sParse.aNode[p->i-1].jnFlags & JNODE_LABEL)!=0 ){ + p->i--; + } + }else{ + p->i++; + } + }else{ + p->iEnd = p->i+1; + } + } + return SQLITE_OK; +} + +/* The methods of the json_each virtual table */ +static sqlite3_module jsonEachModule = { + 0, /* iVersion */ + 0, /* xCreate */ + jsonEachConnect, /* xConnect */ + jsonEachBestIndex, /* xBestIndex */ + jsonEachDisconnect, /* xDisconnect */ + 0, /* xDestroy */ + jsonEachOpenEach, /* xOpen - open a cursor */ + jsonEachClose, /* xClose - close a cursor */ + jsonEachFilter, /* xFilter - configure scan constraints */ + jsonEachNext, /* xNext - advance a cursor */ + jsonEachEof, /* xEof - check for end of scan */ + jsonEachColumn, /* xColumn - read data */ + jsonEachRowid, /* xRowid - read data */ + 0, /* xUpdate */ + 0, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ +}; + +/* The methods of the json_tree virtual table. */ +static sqlite3_module jsonTreeModule = { + 0, /* iVersion */ + 0, /* xCreate */ + jsonEachConnect, /* xConnect */ + jsonEachBestIndex, /* xBestIndex */ + jsonEachDisconnect, /* xDisconnect */ + 0, /* xDestroy */ + jsonEachOpenTree, /* xOpen - open a cursor */ + jsonEachClose, /* xClose - close a cursor */ + jsonEachFilter, /* xFilter - configure scan constraints */ + jsonEachNext, /* xNext - advance a cursor */ + jsonEachEof, /* xEof - check for end of scan */ + jsonEachColumn, /* xColumn - read data */ + jsonEachRowid, /* xRowid - read data */ + 0, /* xUpdate */ + 0, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ +}; +#endif /* SQLITE_OMIT_VIRTUALTABLE */ + +/**************************************************************************** +** The following routines are the only publically visible identifiers in this +** file. Call the following routines in order to register the various SQL +** functions and the virtual table implemented by this file. +****************************************************************************/ + +SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ + int rc = SQLITE_OK; + unsigned int i; + static const struct { + const char *zName; + int nArg; + int flag; + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + } aFunc[] = { + { "json", 1, 0, jsonRemoveFunc }, + { "json_array", -1, 0, jsonArrayFunc }, + { "json_array_length", 1, 0, jsonArrayLengthFunc }, + { "json_array_length", 2, 0, jsonArrayLengthFunc }, + { "json_extract", -1, 0, jsonExtractFunc }, + { "json_insert", -1, 0, jsonSetFunc }, + { "json_object", -1, 0, jsonObjectFunc }, + { "json_patch", 2, 0, jsonPatchFunc }, + { "json_quote", 1, 0, jsonQuoteFunc }, + { "json_remove", -1, 0, jsonRemoveFunc }, + { "json_replace", -1, 0, jsonReplaceFunc }, + { "json_set", -1, 1, jsonSetFunc }, + { "json_type", 1, 0, jsonTypeFunc }, + { "json_type", 2, 0, jsonTypeFunc }, + { "json_valid", 1, 0, jsonValidFunc }, + +#if SQLITE_DEBUG + /* DEBUG and TESTING functions */ + { "json_parse", 1, 0, jsonParseFunc }, + { "json_test1", 1, 0, jsonTest1Func }, +#endif + }; + static const struct { + const char *zName; + int nArg; + void (*xStep)(sqlite3_context*,int,sqlite3_value**); + void (*xFinal)(sqlite3_context*); + void (*xValue)(sqlite3_context*); + } aAgg[] = { + { "json_group_array", 1, + jsonArrayStep, jsonArrayFinal, jsonArrayValue }, + { "json_group_object", 2, + jsonObjectStep, jsonObjectFinal, jsonObjectValue }, + }; +#ifndef SQLITE_OMIT_VIRTUALTABLE + static const struct { + const char *zName; + sqlite3_module *pModule; + } aMod[] = { + { "json_each", &jsonEachModule }, + { "json_tree", &jsonTreeModule }, + }; +#endif + for(i=0; i */ +/* #include */ +/* #include */ + +#ifndef SQLITE_AMALGAMATION +#include "sqlite3rtree.h" +typedef sqlite3_int64 i64; +typedef sqlite3_uint64 u64; +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +#endif + +/* The following macro is used to suppress compiler warnings. +*/ +#ifndef UNUSED_PARAMETER +# define UNUSED_PARAMETER(x) (void)(x) +#endif + +typedef struct Rtree Rtree; +typedef struct RtreeCursor RtreeCursor; +typedef struct RtreeNode RtreeNode; +typedef struct RtreeCell RtreeCell; +typedef struct RtreeConstraint RtreeConstraint; +typedef struct RtreeMatchArg RtreeMatchArg; +typedef struct RtreeGeomCallback RtreeGeomCallback; +typedef union RtreeCoord RtreeCoord; +typedef struct RtreeSearchPoint RtreeSearchPoint; + +/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */ +#define RTREE_MAX_DIMENSIONS 5 + +/* Maximum number of auxiliary columns */ +#define RTREE_MAX_AUX_COLUMN 100 + +/* Size of hash table Rtree.aHash. This hash table is not expected to +** ever contain very many entries, so a fixed number of buckets is +** used. +*/ +#define HASHSIZE 97 + +/* The xBestIndex method of this virtual table requires an estimate of +** the number of rows in the virtual table to calculate the costs of +** various strategies. If possible, this estimate is loaded from the +** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum). +** Otherwise, if no sqlite_stat1 entry is available, use +** RTREE_DEFAULT_ROWEST. +*/ +#define RTREE_DEFAULT_ROWEST 1048576 +#define RTREE_MIN_ROWEST 100 + +/* +** An rtree virtual-table object. +*/ +struct Rtree { + sqlite3_vtab base; /* Base class. Must be first */ + sqlite3 *db; /* Host database connection */ + int iNodeSize; /* Size in bytes of each node in the node table */ + u8 nDim; /* Number of dimensions */ + u8 nDim2; /* Twice the number of dimensions */ + u8 eCoordType; /* RTREE_COORD_REAL32 or RTREE_COORD_INT32 */ + u8 nBytesPerCell; /* Bytes consumed per cell */ + u8 inWrTrans; /* True if inside write transaction */ + u8 nAux; /* # of auxiliary columns in %_rowid */ + u8 nAuxNotNull; /* Number of initial not-null aux columns */ + 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 */ + u32 nBusy; /* Current number of users of this structure */ + i64 nRowEst; /* Estimated number of rows in this table */ + u32 nCursor; /* Number of open cursors */ + u32 nNodeRef; /* Number RtreeNodes with positive nRef */ + char *zReadAuxSql; /* SQL for statement to read aux data */ + + /* List of nodes removed during a CondenseTree operation. List is + ** linked together via the pointer normally used for hash chains - + ** RtreeNode.pNext. RtreeNode.iNode stores the depth of the sub-tree + ** headed by the node (leaf nodes have RtreeNode.iNode==0). + */ + RtreeNode *pDeleted; + int iReinsertHeight; /* Height of sub-trees Reinsert() has run on */ + + /* Blob I/O on xxx_node */ + sqlite3_blob *pNodeBlob; + + /* Statements to read/write/delete a record from xxx_node */ + sqlite3_stmt *pWriteNode; + sqlite3_stmt *pDeleteNode; + + /* Statements to read/write/delete a record from xxx_rowid */ + sqlite3_stmt *pReadRowid; + sqlite3_stmt *pWriteRowid; + sqlite3_stmt *pDeleteRowid; + + /* Statements to read/write/delete a record from xxx_parent */ + sqlite3_stmt *pReadParent; + sqlite3_stmt *pWriteParent; + sqlite3_stmt *pDeleteParent; + + /* Statement for writing to the "aux:" fields, if there are any */ + sqlite3_stmt *pWriteAux; + + RtreeNode *aHash[HASHSIZE]; /* Hash table of in-memory nodes. */ +}; + +/* Possible values for Rtree.eCoordType: */ +#define RTREE_COORD_REAL32 0 +#define RTREE_COORD_INT32 1 + +/* +** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will +** only deal with integer coordinates. No floating point operations +** will be done. +*/ +#ifdef SQLITE_RTREE_INT_ONLY + typedef sqlite3_int64 RtreeDValue; /* High accuracy coordinate */ + typedef int RtreeValue; /* Low accuracy coordinate */ +# define RTREE_ZERO 0 +#else + typedef double RtreeDValue; /* High accuracy coordinate */ + typedef float RtreeValue; /* Low accuracy coordinate */ +# define RTREE_ZERO 0.0 +#endif + +/* +** When doing a search of an r-tree, instances of the following structure +** record intermediate results from the tree walk. +** +** The id is always a node-id. For iLevel>=1 the id is the node-id of +** the node that the RtreeSearchPoint represents. When iLevel==0, however, +** the id is of the parent node and the cell that RtreeSearchPoint +** represents is the iCell-th entry in the parent node. +*/ +struct RtreeSearchPoint { + RtreeDValue rScore; /* The score for this node. Smallest goes first. */ + sqlite3_int64 id; /* Node ID */ + u8 iLevel; /* 0=entries. 1=leaf node. 2+ for higher */ + u8 eWithin; /* PARTLY_WITHIN or FULLY_WITHIN */ + u8 iCell; /* Cell index within the node */ +}; + +/* +** The minimum number of cells allowed for a node is a third of the +** maximum. In Gutman's notation: +** +** m = M/3 +** +** If an R*-tree "Reinsert" operation is required, the same number of +** cells are removed from the overfull node and reinserted into the tree. +*/ +#define RTREE_MINCELLS(p) ((((p)->iNodeSize-4)/(p)->nBytesPerCell)/3) +#define RTREE_REINSERT(p) RTREE_MINCELLS(p) +#define RTREE_MAXCELLS 51 + +/* +** The smallest possible node-size is (512-64)==448 bytes. And the largest +** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates). +** Therefore all non-root nodes must contain at least 3 entries. Since +** 3^40 is greater than 2^64, an r-tree structure always has a depth of +** 40 or less. +*/ +#define RTREE_MAX_DEPTH 40 + + +/* +** Number of entries in the cursor RtreeNode cache. The first entry is +** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining +** entries cache the RtreeNode for the first elements of the priority queue. +*/ +#define RTREE_CACHE_SZ 5 + +/* +** An rtree cursor object. +*/ +struct RtreeCursor { + sqlite3_vtab_cursor base; /* Base class. Must be first */ + u8 atEOF; /* True if at end of search */ + u8 bPoint; /* True if sPoint is valid */ + u8 bAuxValid; /* True if pReadAux is valid */ + int iStrategy; /* Copy of idxNum search parameter */ + int nConstraint; /* Number of entries in aConstraint */ + RtreeConstraint *aConstraint; /* Search constraints. */ + int nPointAlloc; /* Number of slots allocated for aPoint[] */ + int nPoint; /* Number of slots used in aPoint[] */ + int mxLevel; /* iLevel value for root of the tree */ + RtreeSearchPoint *aPoint; /* Priority queue for search points */ + sqlite3_stmt *pReadAux; /* Statement to read aux-data */ + RtreeSearchPoint sPoint; /* Cached next search point */ + RtreeNode *aNode[RTREE_CACHE_SZ]; /* Rtree node cache */ + u32 anQueue[RTREE_MAX_DEPTH+1]; /* Number of queued entries by iLevel */ +}; + +/* Return the Rtree of a RtreeCursor */ +#define RTREE_OF_CURSOR(X) ((Rtree*)((X)->base.pVtab)) + +/* +** A coordinate can be either a floating point number or a integer. All +** coordinates within a single R-Tree are always of the same time. +*/ +union RtreeCoord { + RtreeValue f; /* Floating point value */ + int i; /* Integer value */ + u32 u; /* Unsigned for byte-order conversions */ +}; + +/* +** The argument is an RtreeCoord. Return the value stored within the RtreeCoord +** formatted as a RtreeDValue (double or int64). This macro assumes that local +** variable pRtree points to the Rtree structure associated with the +** RtreeCoord. +*/ +#ifdef SQLITE_RTREE_INT_ONLY +# define DCOORD(coord) ((RtreeDValue)coord.i) +#else +# define DCOORD(coord) ( \ + (pRtree->eCoordType==RTREE_COORD_REAL32) ? \ + ((double)coord.f) : \ + ((double)coord.i) \ + ) +#endif + +/* +** A search constraint. +*/ +struct RtreeConstraint { + int iCoord; /* Index of constrained coordinate */ + int op; /* Constraining operation */ + union { + RtreeDValue rValue; /* Constraint value. */ + int (*xGeom)(sqlite3_rtree_geometry*,int,RtreeDValue*,int*); + int (*xQueryFunc)(sqlite3_rtree_query_info*); + } u; + sqlite3_rtree_query_info *pInfo; /* xGeom and xQueryFunc argument */ +}; + +/* Possible values for RtreeConstraint.op */ +#define RTREE_EQ 0x41 /* A */ +#define RTREE_LE 0x42 /* B */ +#define RTREE_LT 0x43 /* C */ +#define RTREE_GE 0x44 /* D */ +#define RTREE_GT 0x45 /* E */ +#define RTREE_MATCH 0x46 /* F: Old-style sqlite3_rtree_geometry_callback() */ +#define RTREE_QUERY 0x47 /* G: New-style sqlite3_rtree_query_callback() */ + + +/* +** An rtree structure node. +*/ +struct RtreeNode { + RtreeNode *pParent; /* Parent node */ + i64 iNode; /* The node number */ + int nRef; /* Number of references to this node */ + int isDirty; /* True if the node needs to be written to disk */ + u8 *zData; /* Content of the node, as should be on disk */ + RtreeNode *pNext; /* Next node in this hash collision chain */ +}; + +/* Return the number of cells in a node */ +#define NCELL(pNode) readInt16(&(pNode)->zData[2]) + +/* +** A single cell from a node, deserialized +*/ +struct RtreeCell { + i64 iRowid; /* Node or entry ID */ + RtreeCoord aCoord[RTREE_MAX_DIMENSIONS*2]; /* Bounding box coordinates */ +}; + + +/* +** This object becomes the sqlite3_user_data() for the SQL functions +** that are created by sqlite3_rtree_geometry_callback() and +** sqlite3_rtree_query_callback() and which appear on the right of MATCH +** operators in order to constrain a search. +** +** xGeom and xQueryFunc are the callback functions. Exactly one of +** xGeom and xQueryFunc fields is non-NULL, depending on whether the +** SQL function was created using sqlite3_rtree_geometry_callback() or +** sqlite3_rtree_query_callback(). +** +** This object is deleted automatically by the destructor mechanism in +** sqlite3_create_function_v2(). +*/ +struct RtreeGeomCallback { + int (*xGeom)(sqlite3_rtree_geometry*, int, RtreeDValue*, int*); + int (*xQueryFunc)(sqlite3_rtree_query_info*); + void (*xDestructor)(void*); + void *pContext; +}; + +/* +** An instance of this structure (in the form of a BLOB) is returned by +** the SQL functions that sqlite3_rtree_geometry_callback() and +** sqlite3_rtree_query_callback() create, and is read as the right-hand +** operand to the MATCH operator of an R-Tree. +*/ +struct RtreeMatchArg { + u32 iSize; /* Size of this object */ + RtreeGeomCallback cb; /* Info about the callback functions */ + int nParam; /* Number of parameters to the SQL function */ + sqlite3_value **apSqlParam; /* Original SQL parameter values */ + RtreeDValue aParam[1]; /* Values for parameters to the SQL function */ +}; + +#ifndef MAX +# define MAX(x,y) ((x) < (y) ? (y) : (x)) +#endif +#ifndef MIN +# define MIN(x,y) ((x) > (y) ? (y) : (x)) +#endif + +/* What version of GCC is being used. 0 means GCC is not being used . +** Note that the GCC_VERSION macro will also be set correctly when using +** clang, since clang works hard to be gcc compatible. So the gcc +** optimizations will also work when compiling with clang. +*/ +#ifndef GCC_VERSION +#if defined(__GNUC__) && !defined(SQLITE_DISABLE_INTRINSIC) +# define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__) +#else +# define GCC_VERSION 0 +#endif +#endif + +/* The testcase() macro should already be defined in the amalgamation. If +** it is not, make it a no-op. +*/ +#ifndef SQLITE_AMALGAMATION +# define testcase(X) +#endif + +/* +** Macros to determine whether the machine is big or little endian, +** and whether or not that determination is run-time or compile-time. +** +** For best performance, an attempt is made to guess at the byte-order +** using C-preprocessor macros. If that is unsuccessful, or if +** -DSQLITE_RUNTIME_BYTEORDER=1 is set, then byte-order is determined +** 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__) +# define SQLITE_BYTEORDER 1234 +#elif defined(sparc) || defined(__ppc__) +# define SQLITE_BYTEORDER 4321 +#else +# define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ +#endif +#endif + + +/* What version of MSVC is being used. 0 means MSVC is not being used */ +#ifndef MSVC_VERSION +#if defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC) +# define MSVC_VERSION _MSC_VER +#else +# define MSVC_VERSION 0 +#endif +#endif + +/* +** Functions to deserialize a 16 bit integer, 32 bit real number and +** 64 bit integer. The deserialized value is returned. +*/ +static int readInt16(u8 *p){ + return (p[0]<<8) + p[1]; +} +static void readCoord(u8 *p, RtreeCoord *pCoord){ + assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + pCoord->u = _byteswap_ulong(*(u32*)p); +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + pCoord->u = __builtin_bswap32(*(u32*)p); +#elif SQLITE_BYTEORDER==4321 + pCoord->u = *(u32*)p; +#else + pCoord->u = ( + (((u32)p[0]) << 24) + + (((u32)p[1]) << 16) + + (((u32)p[2]) << 8) + + (((u32)p[3]) << 0) + ); +#endif +} +static i64 readInt64(u8 *p){ +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + u64 x; + memcpy(&x, p, 8); + return (i64)_byteswap_uint64(x); +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + u64 x; + memcpy(&x, p, 8); + return (i64)__builtin_bswap64(x); +#elif SQLITE_BYTEORDER==4321 + i64 x; + memcpy(&x, p, 8); + return x; +#else + return (i64)( + (((u64)p[0]) << 56) + + (((u64)p[1]) << 48) + + (((u64)p[2]) << 40) + + (((u64)p[3]) << 32) + + (((u64)p[4]) << 24) + + (((u64)p[5]) << 16) + + (((u64)p[6]) << 8) + + (((u64)p[7]) << 0) + ); +#endif +} + +/* +** Functions to serialize a 16 bit integer, 32 bit real number and +** 64 bit integer. The value returned is the number of bytes written +** to the argument buffer (always 2, 4 and 8 respectively). +*/ +static void writeInt16(u8 *p, int i){ + p[0] = (i>> 8)&0xFF; + p[1] = (i>> 0)&0xFF; +} +static int writeCoord(u8 *p, RtreeCoord *pCoord){ + u32 i; + assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ + assert( sizeof(RtreeCoord)==4 ); + assert( sizeof(u32)==4 ); +#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + i = __builtin_bswap32(pCoord->u); + memcpy(p, &i, 4); +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + i = _byteswap_ulong(pCoord->u); + memcpy(p, &i, 4); +#elif SQLITE_BYTEORDER==4321 + i = pCoord->u; + memcpy(p, &i, 4); +#else + i = pCoord->u; + p[0] = (i>>24)&0xFF; + p[1] = (i>>16)&0xFF; + p[2] = (i>> 8)&0xFF; + p[3] = (i>> 0)&0xFF; +#endif + return 4; +} +static int writeInt64(u8 *p, i64 i){ +#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + i = (i64)__builtin_bswap64((u64)i); + memcpy(p, &i, 8); +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + i = (i64)_byteswap_uint64((u64)i); + memcpy(p, &i, 8); +#elif SQLITE_BYTEORDER==4321 + memcpy(p, &i, 8); +#else + p[0] = (i>>56)&0xFF; + p[1] = (i>>48)&0xFF; + p[2] = (i>>40)&0xFF; + p[3] = (i>>32)&0xFF; + p[4] = (i>>24)&0xFF; + p[5] = (i>>16)&0xFF; + p[6] = (i>> 8)&0xFF; + p[7] = (i>> 0)&0xFF; +#endif + return 8; +} + +/* +** Increment the reference count of node p. +*/ +static void nodeReference(RtreeNode *p){ + if( p ){ + assert( p->nRef>0 ); + p->nRef++; + } +} + +/* +** Clear the content of node p (set all bytes to 0x00). +*/ +static void nodeZero(Rtree *pRtree, RtreeNode *p){ + memset(&p->zData[2], 0, pRtree->iNodeSize-2); + p->isDirty = 1; +} + +/* +** Given a node number iNode, return the corresponding key to use +** in the Rtree.aHash table. +*/ +static int nodeHash(i64 iNode){ + return iNode % HASHSIZE; +} + +/* +** Search the node hash table for node iNode. If found, return a pointer +** to it. Otherwise, return 0. +*/ +static RtreeNode *nodeHashLookup(Rtree *pRtree, i64 iNode){ + RtreeNode *p; + for(p=pRtree->aHash[nodeHash(iNode)]; p && p->iNode!=iNode; p=p->pNext); + return p; +} + +/* +** Add node pNode to the node hash table. +*/ +static void nodeHashInsert(Rtree *pRtree, RtreeNode *pNode){ + int iHash; + assert( pNode->pNext==0 ); + iHash = nodeHash(pNode->iNode); + pNode->pNext = pRtree->aHash[iHash]; + pRtree->aHash[iHash] = pNode; +} + +/* +** Remove node pNode from the node hash table. +*/ +static void nodeHashDelete(Rtree *pRtree, RtreeNode *pNode){ + RtreeNode **pp; + if( pNode->iNode!=0 ){ + pp = &pRtree->aHash[nodeHash(pNode->iNode)]; + for( ; (*pp)!=pNode; pp = &(*pp)->pNext){ assert(*pp); } + *pp = pNode->pNext; + pNode->pNext = 0; + } +} + +/* +** Allocate and return new r-tree node. Initially, (RtreeNode.iNode==0), +** indicating that node has not yet been assigned a node number. It is +** assigned a node number when nodeWrite() is called to write the +** node contents out to the database. +*/ +static RtreeNode *nodeNew(Rtree *pRtree, RtreeNode *pParent){ + RtreeNode *pNode; + pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode) + pRtree->iNodeSize); + if( pNode ){ + memset(pNode, 0, sizeof(RtreeNode) + pRtree->iNodeSize); + pNode->zData = (u8 *)&pNode[1]; + pNode->nRef = 1; + pRtree->nNodeRef++; + pNode->pParent = pParent; + pNode->isDirty = 1; + nodeReference(pParent); + } + return pNode; +} + +/* +** Clear the Rtree.pNodeBlob object +*/ +static void nodeBlobReset(Rtree *pRtree){ + if( pRtree->pNodeBlob && pRtree->inWrTrans==0 && pRtree->nCursor==0 ){ + sqlite3_blob *pBlob = pRtree->pNodeBlob; + pRtree->pNodeBlob = 0; + sqlite3_blob_close(pBlob); + } +} + +/* +** Obtain a reference to an r-tree node. +*/ +static int nodeAcquire( + Rtree *pRtree, /* R-tree structure */ + i64 iNode, /* Node number to load */ + RtreeNode *pParent, /* Either the parent node or NULL */ + RtreeNode **ppNode /* OUT: Acquired node */ +){ + int rc = SQLITE_OK; + RtreeNode *pNode = 0; + + /* Check if the requested node is already in the hash table. If so, + ** increase its reference count and return it. + */ + if( (pNode = nodeHashLookup(pRtree, iNode))!=0 ){ + assert( !pParent || !pNode->pParent || pNode->pParent==pParent ); + if( pParent && !pNode->pParent ){ + pParent->nRef++; + pNode->pParent = pParent; + } + pNode->nRef++; + *ppNode = pNode; + return SQLITE_OK; + } + + if( pRtree->pNodeBlob ){ + sqlite3_blob *pBlob = pRtree->pNodeBlob; + pRtree->pNodeBlob = 0; + rc = sqlite3_blob_reopen(pBlob, iNode); + pRtree->pNodeBlob = pBlob; + if( rc ){ + nodeBlobReset(pRtree); + if( rc==SQLITE_NOMEM ) return SQLITE_NOMEM; + } + } + if( pRtree->pNodeBlob==0 ){ + char *zTab = sqlite3_mprintf("%s_node", pRtree->zName); + if( zTab==0 ) return SQLITE_NOMEM; + rc = sqlite3_blob_open(pRtree->db, pRtree->zDb, zTab, "data", iNode, 0, + &pRtree->pNodeBlob); + sqlite3_free(zTab); + } + if( rc ){ + nodeBlobReset(pRtree); + *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; + }else if( pRtree->iNodeSize==sqlite3_blob_bytes(pRtree->pNodeBlob) ){ + pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode)+pRtree->iNodeSize); + if( !pNode ){ + rc = SQLITE_NOMEM; + }else{ + pNode->pParent = pParent; + pNode->zData = (u8 *)&pNode[1]; + pNode->nRef = 1; + pRtree->nNodeRef++; + pNode->iNode = iNode; + pNode->isDirty = 0; + pNode->pNext = 0; + rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData, + pRtree->iNodeSize, 0); + nodeReference(pParent); + } + } + + /* If the root node was just loaded, set pRtree->iDepth to the height + ** of the r-tree structure. A height of zero means all data is stored on + ** the root node. A height of one means the children of the root node + ** are the leaves, and so on. If the depth as specified on the root node + ** is greater than RTREE_MAX_DEPTH, the r-tree structure must be corrupt. + */ + if( pNode && iNode==1 ){ + pRtree->iDepth = readInt16(pNode->zData); + if( pRtree->iDepth>RTREE_MAX_DEPTH ){ + rc = SQLITE_CORRUPT_VTAB; + } + } + + /* If no error has occurred so far, check if the "number of entries" + ** field on the node is too large. If so, set the return code to + ** SQLITE_CORRUPT_VTAB. + */ + if( pNode && rc==SQLITE_OK ){ + if( NCELL(pNode)>((pRtree->iNodeSize-4)/pRtree->nBytesPerCell) ){ + rc = SQLITE_CORRUPT_VTAB; + } + } + + if( rc==SQLITE_OK ){ + if( pNode!=0 ){ + nodeHashInsert(pRtree, pNode); + }else{ + rc = SQLITE_CORRUPT_VTAB; + } + *ppNode = pNode; + }else{ + if( pNode ){ + pRtree->nNodeRef--; + sqlite3_free(pNode); + } + *ppNode = 0; + } + + return rc; +} + +/* +** Overwrite cell iCell of node pNode with the contents of pCell. +*/ +static void nodeOverwriteCell( + Rtree *pRtree, /* The overall R-Tree */ + RtreeNode *pNode, /* The node into which the cell is to be written */ + RtreeCell *pCell, /* The cell to write */ + int iCell /* Index into pNode into which pCell is written */ +){ + int ii; + u8 *p = &pNode->zData[4 + pRtree->nBytesPerCell*iCell]; + p += writeInt64(p, pCell->iRowid); + for(ii=0; iinDim2; ii++){ + p += writeCoord(p, &pCell->aCoord[ii]); + } + pNode->isDirty = 1; +} + +/* +** Remove the cell with index iCell from node pNode. +*/ +static void nodeDeleteCell(Rtree *pRtree, RtreeNode *pNode, int iCell){ + u8 *pDst = &pNode->zData[4 + pRtree->nBytesPerCell*iCell]; + u8 *pSrc = &pDst[pRtree->nBytesPerCell]; + int nByte = (NCELL(pNode) - iCell - 1) * pRtree->nBytesPerCell; + memmove(pDst, pSrc, nByte); + writeInt16(&pNode->zData[2], NCELL(pNode)-1); + pNode->isDirty = 1; +} + +/* +** Insert the contents of cell pCell into node pNode. If the insert +** is successful, return SQLITE_OK. +** +** If there is not enough free space in pNode, return SQLITE_FULL. +*/ +static int nodeInsertCell( + Rtree *pRtree, /* The overall R-Tree */ + RtreeNode *pNode, /* Write new cell into this node */ + RtreeCell *pCell /* The cell to be inserted */ +){ + int nCell; /* Current number of cells in pNode */ + int nMaxCell; /* Maximum number of cells for pNode */ + + nMaxCell = (pRtree->iNodeSize-4)/pRtree->nBytesPerCell; + nCell = NCELL(pNode); + + assert( nCell<=nMaxCell ); + if( nCellzData[2], nCell+1); + pNode->isDirty = 1; + } + + return (nCell==nMaxCell); +} + +/* +** If the node is dirty, write it out to the database. +*/ +static int nodeWrite(Rtree *pRtree, RtreeNode *pNode){ + int rc = SQLITE_OK; + if( pNode->isDirty ){ + sqlite3_stmt *p = pRtree->pWriteNode; + if( pNode->iNode ){ + sqlite3_bind_int64(p, 1, pNode->iNode); + }else{ + sqlite3_bind_null(p, 1); + } + sqlite3_bind_blob(p, 2, pNode->zData, pRtree->iNodeSize, SQLITE_STATIC); + sqlite3_step(p); + pNode->isDirty = 0; + rc = sqlite3_reset(p); + sqlite3_bind_null(p, 2); + if( pNode->iNode==0 && rc==SQLITE_OK ){ + pNode->iNode = sqlite3_last_insert_rowid(pRtree->db); + nodeHashInsert(pRtree, pNode); + } + } + return rc; +} + +/* +** Release a reference to a node. If the node is dirty and the reference +** count drops to zero, the node data is written to the database. +*/ +static int nodeRelease(Rtree *pRtree, RtreeNode *pNode){ + int rc = SQLITE_OK; + if( pNode ){ + assert( pNode->nRef>0 ); + assert( pRtree->nNodeRef>0 ); + pNode->nRef--; + if( pNode->nRef==0 ){ + pRtree->nNodeRef--; + if( pNode->iNode==1 ){ + pRtree->iDepth = -1; + } + if( pNode->pParent ){ + rc = nodeRelease(pRtree, pNode->pParent); + } + if( rc==SQLITE_OK ){ + rc = nodeWrite(pRtree, pNode); + } + nodeHashDelete(pRtree, pNode); + sqlite3_free(pNode); + } + } + return rc; +} + +/* +** Return the 64-bit integer value associated with cell iCell of +** node pNode. If pNode is a leaf node, this is a rowid. If it is +** an internal node, then the 64-bit integer is a child page number. +*/ +static i64 nodeGetRowid( + Rtree *pRtree, /* The overall R-Tree */ + RtreeNode *pNode, /* The node from which to extract the ID */ + int iCell /* The cell index from which to extract the ID */ +){ + assert( iCellzData[4 + pRtree->nBytesPerCell*iCell]); +} + +/* +** Return coordinate iCoord from cell iCell in node pNode. +*/ +static void nodeGetCoord( + Rtree *pRtree, /* The overall R-Tree */ + RtreeNode *pNode, /* The node from which to extract a coordinate */ + int iCell, /* The index of the cell within the node */ + int iCoord, /* Which coordinate to extract */ + RtreeCoord *pCoord /* OUT: Space to write result to */ +){ + readCoord(&pNode->zData[12 + pRtree->nBytesPerCell*iCell + 4*iCoord], pCoord); +} + +/* +** Deserialize cell iCell of node pNode. Populate the structure pointed +** to by pCell with the results. +*/ +static void nodeGetCell( + Rtree *pRtree, /* The overall R-Tree */ + RtreeNode *pNode, /* The node containing the cell to be read */ + int iCell, /* Index of the cell within the node */ + RtreeCell *pCell /* OUT: Write the cell contents here */ +){ + u8 *pData; + RtreeCoord *pCoord; + int ii = 0; + pCell->iRowid = nodeGetRowid(pRtree, pNode, iCell); + pData = pNode->zData + (12 + pRtree->nBytesPerCell*iCell); + pCoord = pCell->aCoord; + do{ + readCoord(pData, &pCoord[ii]); + readCoord(pData+4, &pCoord[ii+1]); + pData += 8; + ii += 2; + }while( iinDim2 ); +} + + +/* Forward declaration for the function that does the work of +** the virtual table module xCreate() and xConnect() methods. +*/ +static int rtreeInit( + sqlite3 *, void *, int, const char *const*, sqlite3_vtab **, char **, int +); + +/* +** Rtree virtual table module xCreate method. +*/ +static int rtreeCreate( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 1); +} + +/* +** Rtree virtual table module xConnect method. +*/ +static int rtreeConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 0); +} + +/* +** Increment the r-tree reference count. +*/ +static void rtreeReference(Rtree *pRtree){ + pRtree->nBusy++; +} + +/* +** Decrement the r-tree reference count. When the reference count reaches +** zero the structure is deleted. +*/ +static void rtreeRelease(Rtree *pRtree){ + pRtree->nBusy--; + if( pRtree->nBusy==0 ){ + pRtree->inWrTrans = 0; + assert( pRtree->nCursor==0 ); + nodeBlobReset(pRtree); + assert( pRtree->nNodeRef==0 ); + sqlite3_finalize(pRtree->pWriteNode); + sqlite3_finalize(pRtree->pDeleteNode); + sqlite3_finalize(pRtree->pReadRowid); + sqlite3_finalize(pRtree->pWriteRowid); + sqlite3_finalize(pRtree->pDeleteRowid); + sqlite3_finalize(pRtree->pReadParent); + sqlite3_finalize(pRtree->pWriteParent); + sqlite3_finalize(pRtree->pDeleteParent); + sqlite3_finalize(pRtree->pWriteAux); + sqlite3_free(pRtree->zReadAuxSql); + sqlite3_free(pRtree); + } +} + +/* +** Rtree virtual table module xDisconnect method. +*/ +static int rtreeDisconnect(sqlite3_vtab *pVtab){ + rtreeRelease((Rtree *)pVtab); + return SQLITE_OK; +} + +/* +** Rtree virtual table module xDestroy method. +*/ +static int rtreeDestroy(sqlite3_vtab *pVtab){ + Rtree *pRtree = (Rtree *)pVtab; + int rc; + char *zCreate = sqlite3_mprintf( + "DROP TABLE '%q'.'%q_node';" + "DROP TABLE '%q'.'%q_rowid';" + "DROP TABLE '%q'.'%q_parent';", + pRtree->zDb, pRtree->zName, + pRtree->zDb, pRtree->zName, + pRtree->zDb, pRtree->zName + ); + if( !zCreate ){ + rc = SQLITE_NOMEM; + }else{ + nodeBlobReset(pRtree); + rc = sqlite3_exec(pRtree->db, zCreate, 0, 0, 0); + sqlite3_free(zCreate); + } + if( rc==SQLITE_OK ){ + rtreeRelease(pRtree); + } + + return rc; +} + +/* +** Rtree virtual table module xOpen method. +*/ +static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ + int rc = SQLITE_NOMEM; + Rtree *pRtree = (Rtree *)pVTab; + RtreeCursor *pCsr; + + pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor)); + if( pCsr ){ + memset(pCsr, 0, sizeof(RtreeCursor)); + pCsr->base.pVtab = pVTab; + rc = SQLITE_OK; + pRtree->nCursor++; + } + *ppCursor = (sqlite3_vtab_cursor *)pCsr; + + return rc; +} + + +/* +** Free the RtreeCursor.aConstraint[] array and its contents. +*/ +static void freeCursorConstraints(RtreeCursor *pCsr){ + if( pCsr->aConstraint ){ + int i; /* Used to iterate through constraint array */ + for(i=0; inConstraint; i++){ + sqlite3_rtree_query_info *pInfo = pCsr->aConstraint[i].pInfo; + if( pInfo ){ + if( pInfo->xDelUser ) pInfo->xDelUser(pInfo->pUser); + sqlite3_free(pInfo); + } + } + sqlite3_free(pCsr->aConstraint); + pCsr->aConstraint = 0; + } +} + +/* +** Rtree virtual table module xClose method. +*/ +static int rtreeClose(sqlite3_vtab_cursor *cur){ + Rtree *pRtree = (Rtree *)(cur->pVtab); + int ii; + RtreeCursor *pCsr = (RtreeCursor *)cur; + assert( pRtree->nCursor>0 ); + freeCursorConstraints(pCsr); + sqlite3_finalize(pCsr->pReadAux); + sqlite3_free(pCsr->aPoint); + for(ii=0; iiaNode[ii]); + sqlite3_free(pCsr); + pRtree->nCursor--; + nodeBlobReset(pRtree); + return SQLITE_OK; +} + +/* +** Rtree virtual table module xEof method. +** +** Return non-zero if the cursor does not currently point to a valid +** record (i.e if the scan has finished), or zero otherwise. +*/ +static int rtreeEof(sqlite3_vtab_cursor *cur){ + RtreeCursor *pCsr = (RtreeCursor *)cur; + return pCsr->atEOF; +} + +/* +** Convert raw bits from the on-disk RTree record into a coordinate value. +** The on-disk format is big-endian and needs to be converted for little- +** endian platforms. The on-disk record stores integer coordinates if +** eInt is true and it stores 32-bit floating point records if eInt is +** false. a[] is the four bytes of the on-disk record to be decoded. +** Store the results in "r". +** +** There are five versions of this macro. The last one is generic. The +** other four are various architectures-specific optimizations. +*/ +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + c.u = _byteswap_ulong(*(u32*)a); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + c.u = __builtin_bswap32(*(u32*)a); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#elif SQLITE_BYTEORDER==1234 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + memcpy(&c.u,a,4); \ + c.u = ((c.u>>24)&0xff)|((c.u>>8)&0xff00)| \ + ((c.u&0xff)<<24)|((c.u&0xff00)<<8); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#elif SQLITE_BYTEORDER==4321 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + memcpy(&c.u,a,4); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#else +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + c.u = ((u32)a[0]<<24) + ((u32)a[1]<<16) \ + +((u32)a[2]<<8) + a[3]; \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#endif + +/* +** Check the RTree node or entry given by pCellData and p against the MATCH +** constraint pConstraint. +*/ +static int rtreeCallbackConstraint( + RtreeConstraint *pConstraint, /* The constraint to test */ + int eInt, /* True if RTree holding integer coordinates */ + u8 *pCellData, /* Raw cell content */ + RtreeSearchPoint *pSearch, /* Container of this cell */ + sqlite3_rtree_dbl *prScore, /* OUT: score for the cell */ + int *peWithin /* OUT: visibility of the cell */ +){ + sqlite3_rtree_query_info *pInfo = pConstraint->pInfo; /* Callback info */ + int nCoord = pInfo->nCoord; /* No. of coordinates */ + int rc; /* Callback return code */ + RtreeCoord c; /* Translator union */ + sqlite3_rtree_dbl aCoord[RTREE_MAX_DIMENSIONS*2]; /* Decoded coordinates */ + + assert( pConstraint->op==RTREE_MATCH || pConstraint->op==RTREE_QUERY ); + assert( nCoord==2 || nCoord==4 || nCoord==6 || nCoord==8 || nCoord==10 ); + + if( pConstraint->op==RTREE_QUERY && pSearch->iLevel==1 ){ + pInfo->iRowid = readInt64(pCellData); + } + pCellData += 8; +#ifndef SQLITE_RTREE_INT_ONLY + if( eInt==0 ){ + switch( nCoord ){ + case 10: readCoord(pCellData+36, &c); aCoord[9] = c.f; + readCoord(pCellData+32, &c); aCoord[8] = c.f; + case 8: readCoord(pCellData+28, &c); aCoord[7] = c.f; + readCoord(pCellData+24, &c); aCoord[6] = c.f; + case 6: readCoord(pCellData+20, &c); aCoord[5] = c.f; + readCoord(pCellData+16, &c); aCoord[4] = c.f; + case 4: readCoord(pCellData+12, &c); aCoord[3] = c.f; + readCoord(pCellData+8, &c); aCoord[2] = c.f; + default: readCoord(pCellData+4, &c); aCoord[1] = c.f; + readCoord(pCellData, &c); aCoord[0] = c.f; + } + }else +#endif + { + switch( nCoord ){ + case 10: readCoord(pCellData+36, &c); aCoord[9] = c.i; + readCoord(pCellData+32, &c); aCoord[8] = c.i; + case 8: readCoord(pCellData+28, &c); aCoord[7] = c.i; + readCoord(pCellData+24, &c); aCoord[6] = c.i; + case 6: readCoord(pCellData+20, &c); aCoord[5] = c.i; + readCoord(pCellData+16, &c); aCoord[4] = c.i; + case 4: readCoord(pCellData+12, &c); aCoord[3] = c.i; + readCoord(pCellData+8, &c); aCoord[2] = c.i; + default: readCoord(pCellData+4, &c); aCoord[1] = c.i; + readCoord(pCellData, &c); aCoord[0] = c.i; + } + } + if( pConstraint->op==RTREE_MATCH ){ + int eWithin = 0; + rc = pConstraint->u.xGeom((sqlite3_rtree_geometry*)pInfo, + nCoord, aCoord, &eWithin); + if( eWithin==0 ) *peWithin = NOT_WITHIN; + *prScore = RTREE_ZERO; + }else{ + pInfo->aCoord = aCoord; + pInfo->iLevel = pSearch->iLevel - 1; + pInfo->rScore = pInfo->rParentScore = pSearch->rScore; + pInfo->eWithin = pInfo->eParentWithin = pSearch->eWithin; + rc = pConstraint->u.xQueryFunc(pInfo); + if( pInfo->eWithin<*peWithin ) *peWithin = pInfo->eWithin; + if( pInfo->rScore<*prScore || *prScorerScore; + } + } + return rc; +} + +/* +** Check the internal RTree node given by pCellData against constraint p. +** If this constraint cannot be satisfied by any child within the node, +** set *peWithin to NOT_WITHIN. +*/ +static void rtreeNonleafConstraint( + RtreeConstraint *p, /* The constraint to test */ + int eInt, /* True if RTree holds integer coordinates */ + u8 *pCellData, /* Raw cell content as appears on disk */ + int *peWithin /* Adjust downward, as appropriate */ +){ + sqlite3_rtree_dbl val; /* Coordinate value convert to a double */ + + /* p->iCoord might point to either a lower or upper bound coordinate + ** in a coordinate pair. But make pCellData point to the lower bound. + */ + pCellData += 8 + 4*(p->iCoord&0xfe); + + assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE + || p->op==RTREE_GT || p->op==RTREE_EQ ); + assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ + switch( p->op ){ + case RTREE_LE: + case RTREE_LT: + case RTREE_EQ: + RTREE_DECODE_COORD(eInt, pCellData, val); + /* val now holds the lower bound of the coordinate pair */ + if( p->u.rValue>=val ) return; + if( p->op!=RTREE_EQ ) break; /* RTREE_LE and RTREE_LT end here */ + /* Fall through for the RTREE_EQ case */ + + default: /* RTREE_GT or RTREE_GE, or fallthrough of RTREE_EQ */ + pCellData += 4; + RTREE_DECODE_COORD(eInt, pCellData, val); + /* val now holds the upper bound of the coordinate pair */ + if( p->u.rValue<=val ) return; + } + *peWithin = NOT_WITHIN; +} + +/* +** Check the leaf RTree cell given by pCellData against constraint p. +** If this constraint is not satisfied, set *peWithin to NOT_WITHIN. +** If the constraint is satisfied, leave *peWithin unchanged. +** +** The constraint is of the form: xN op $val +** +** The op is given by p->op. The xN is p->iCoord-th coordinate in +** pCellData. $val is given by p->u.rValue. +*/ +static void rtreeLeafConstraint( + RtreeConstraint *p, /* The constraint to test */ + int eInt, /* True if RTree holds integer coordinates */ + u8 *pCellData, /* Raw cell content as appears on disk */ + int *peWithin /* Adjust downward, as appropriate */ +){ + RtreeDValue xN; /* Coordinate value converted to a double */ + + assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE + || p->op==RTREE_GT || p->op==RTREE_EQ ); + pCellData += 8 + p->iCoord*4; + assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ + RTREE_DECODE_COORD(eInt, pCellData, xN); + switch( p->op ){ + case RTREE_LE: if( xN <= p->u.rValue ) return; break; + case RTREE_LT: if( xN < p->u.rValue ) return; break; + case RTREE_GE: if( xN >= p->u.rValue ) return; break; + case RTREE_GT: if( xN > p->u.rValue ) return; break; + default: if( xN == p->u.rValue ) return; break; + } + *peWithin = NOT_WITHIN; +} + +/* +** One of the cells in node pNode is guaranteed to have a 64-bit +** integer value equal to iRowid. Return the index of this cell. +*/ +static int nodeRowidIndex( + Rtree *pRtree, + RtreeNode *pNode, + i64 iRowid, + int *piIndex +){ + int ii; + int nCell = NCELL(pNode); + assert( nCell<200 ); + for(ii=0; iipParent; + if( pParent ){ + return nodeRowidIndex(pRtree, pParent, pNode->iNode, piIndex); + } + *piIndex = -1; + return SQLITE_OK; +} + +/* +** Compare two search points. Return negative, zero, or positive if the first +** is less than, equal to, or greater than the second. +** +** The rScore is the primary key. Smaller rScore values come first. +** If the rScore is a tie, then use iLevel as the tie breaker with smaller +** iLevel values coming first. In this way, if rScore is the same for all +** SearchPoints, then iLevel becomes the deciding factor and the result +** is a depth-first search, which is the desired default behavior. +*/ +static int rtreeSearchPointCompare( + const RtreeSearchPoint *pA, + const RtreeSearchPoint *pB +){ + if( pA->rScorerScore ) return -1; + if( pA->rScore>pB->rScore ) return +1; + if( pA->iLeveliLevel ) return -1; + if( pA->iLevel>pB->iLevel ) return +1; + return 0; +} + +/* +** Interchange two search points in a cursor. +*/ +static void rtreeSearchPointSwap(RtreeCursor *p, int i, int j){ + RtreeSearchPoint t = p->aPoint[i]; + assert( iaPoint[i] = p->aPoint[j]; + p->aPoint[j] = t; + i++; j++; + if( i=RTREE_CACHE_SZ ){ + nodeRelease(RTREE_OF_CURSOR(p), p->aNode[i]); + p->aNode[i] = 0; + }else{ + RtreeNode *pTemp = p->aNode[i]; + p->aNode[i] = p->aNode[j]; + p->aNode[j] = pTemp; + } + } +} + +/* +** Return the search point with the lowest current score. +*/ +static RtreeSearchPoint *rtreeSearchPointFirst(RtreeCursor *pCur){ + return pCur->bPoint ? &pCur->sPoint : pCur->nPoint ? pCur->aPoint : 0; +} + +/* +** Get the RtreeNode for the search point with the lowest score. +*/ +static RtreeNode *rtreeNodeOfFirstSearchPoint(RtreeCursor *pCur, int *pRC){ + sqlite3_int64 id; + int ii = 1 - pCur->bPoint; + assert( ii==0 || ii==1 ); + assert( pCur->bPoint || pCur->nPoint ); + if( pCur->aNode[ii]==0 ){ + assert( pRC!=0 ); + id = ii ? pCur->aPoint[0].id : pCur->sPoint.id; + *pRC = nodeAcquire(RTREE_OF_CURSOR(pCur), id, 0, &pCur->aNode[ii]); + } + return pCur->aNode[ii]; +} + +/* +** Push a new element onto the priority queue +*/ +static RtreeSearchPoint *rtreeEnqueue( + RtreeCursor *pCur, /* The cursor */ + RtreeDValue rScore, /* Score for the new search point */ + u8 iLevel /* Level for the new search point */ +){ + int i, j; + RtreeSearchPoint *pNew; + if( pCur->nPoint>=pCur->nPointAlloc ){ + int nNew = pCur->nPointAlloc*2 + 8; + pNew = sqlite3_realloc(pCur->aPoint, nNew*sizeof(pCur->aPoint[0])); + if( pNew==0 ) return 0; + pCur->aPoint = pNew; + pCur->nPointAlloc = nNew; + } + i = pCur->nPoint++; + pNew = pCur->aPoint + i; + pNew->rScore = rScore; + pNew->iLevel = iLevel; + assert( iLevel<=RTREE_MAX_DEPTH ); + while( i>0 ){ + RtreeSearchPoint *pParent; + j = (i-1)/2; + pParent = pCur->aPoint + j; + if( rtreeSearchPointCompare(pNew, pParent)>=0 ) break; + rtreeSearchPointSwap(pCur, j, i); + i = j; + pNew = pParent; + } + return pNew; +} + +/* +** Allocate a new RtreeSearchPoint and return a pointer to it. Return +** NULL if malloc fails. +*/ +static RtreeSearchPoint *rtreeSearchPointNew( + RtreeCursor *pCur, /* The cursor */ + RtreeDValue rScore, /* Score for the new search point */ + u8 iLevel /* Level for the new search point */ +){ + RtreeSearchPoint *pNew, *pFirst; + pFirst = rtreeSearchPointFirst(pCur); + pCur->anQueue[iLevel]++; + if( pFirst==0 + || pFirst->rScore>rScore + || (pFirst->rScore==rScore && pFirst->iLevel>iLevel) + ){ + if( pCur->bPoint ){ + int ii; + pNew = rtreeEnqueue(pCur, rScore, iLevel); + if( pNew==0 ) return 0; + ii = (int)(pNew - pCur->aPoint) + 1; + if( iiaNode[ii]==0 ); + pCur->aNode[ii] = pCur->aNode[0]; + }else{ + nodeRelease(RTREE_OF_CURSOR(pCur), pCur->aNode[0]); + } + pCur->aNode[0] = 0; + *pNew = pCur->sPoint; + } + pCur->sPoint.rScore = rScore; + pCur->sPoint.iLevel = iLevel; + pCur->bPoint = 1; + return &pCur->sPoint; + }else{ + return rtreeEnqueue(pCur, rScore, iLevel); + } +} + +#if 0 +/* Tracing routines for the RtreeSearchPoint queue */ +static void tracePoint(RtreeSearchPoint *p, int idx, RtreeCursor *pCur){ + if( idx<0 ){ printf(" s"); }else{ printf("%2d", idx); } + printf(" %d.%05lld.%02d %g %d", + p->iLevel, p->id, p->iCell, p->rScore, p->eWithin + ); + idx++; + if( idxaNode[idx]); + }else{ + printf("\n"); + } +} +static void traceQueue(RtreeCursor *pCur, const char *zPrefix){ + int ii; + printf("=== %9s ", zPrefix); + if( pCur->bPoint ){ + tracePoint(&pCur->sPoint, -1, pCur); + } + for(ii=0; iinPoint; ii++){ + if( ii>0 || pCur->bPoint ) printf(" "); + tracePoint(&pCur->aPoint[ii], ii, pCur); + } +} +# define RTREE_QUEUE_TRACE(A,B) traceQueue(A,B) +#else +# define RTREE_QUEUE_TRACE(A,B) /* no-op */ +#endif + +/* Remove the search point with the lowest current score. +*/ +static void rtreeSearchPointPop(RtreeCursor *p){ + int i, j, k, n; + i = 1 - p->bPoint; + assert( i==0 || i==1 ); + if( p->aNode[i] ){ + nodeRelease(RTREE_OF_CURSOR(p), p->aNode[i]); + p->aNode[i] = 0; + } + if( p->bPoint ){ + p->anQueue[p->sPoint.iLevel]--; + p->bPoint = 0; + }else if( p->nPoint ){ + p->anQueue[p->aPoint[0].iLevel]--; + n = --p->nPoint; + p->aPoint[0] = p->aPoint[n]; + if( naNode[1] = p->aNode[n+1]; + p->aNode[n+1] = 0; + } + i = 0; + while( (j = i*2+1)aPoint[k], &p->aPoint[j])<0 ){ + if( rtreeSearchPointCompare(&p->aPoint[k], &p->aPoint[i])<0 ){ + rtreeSearchPointSwap(p, i, k); + i = k; + }else{ + break; + } + }else{ + if( rtreeSearchPointCompare(&p->aPoint[j], &p->aPoint[i])<0 ){ + rtreeSearchPointSwap(p, i, j); + i = j; + }else{ + break; + } + } + } + } +} + + +/* +** Continue the search on cursor pCur until the front of the queue +** contains an entry suitable for returning as a result-set row, +** or until the RtreeSearchPoint queue is empty, indicating that the +** query has completed. +*/ +static int rtreeStepToLeaf(RtreeCursor *pCur){ + RtreeSearchPoint *p; + Rtree *pRtree = RTREE_OF_CURSOR(pCur); + RtreeNode *pNode; + int eWithin; + int rc = SQLITE_OK; + int nCell; + int nConstraint = pCur->nConstraint; + int ii; + int eInt; + RtreeSearchPoint x; + + eInt = pRtree->eCoordType==RTREE_COORD_INT32; + while( (p = rtreeSearchPointFirst(pCur))!=0 && p->iLevel>0 ){ + pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc); + if( rc ) return rc; + nCell = NCELL(pNode); + assert( nCell<200 ); + while( p->iCellzData + (4+pRtree->nBytesPerCell*p->iCell); + eWithin = FULLY_WITHIN; + for(ii=0; iiaConstraint + ii; + if( pConstraint->op>=RTREE_MATCH ){ + rc = rtreeCallbackConstraint(pConstraint, eInt, pCellData, p, + &rScore, &eWithin); + if( rc ) return rc; + }else if( p->iLevel==1 ){ + rtreeLeafConstraint(pConstraint, eInt, pCellData, &eWithin); + }else{ + rtreeNonleafConstraint(pConstraint, eInt, pCellData, &eWithin); + } + if( eWithin==NOT_WITHIN ) break; + } + p->iCell++; + if( eWithin==NOT_WITHIN ) continue; + x.iLevel = p->iLevel - 1; + if( x.iLevel ){ + x.id = readInt64(pCellData); + x.iCell = 0; + }else{ + x.id = p->id; + x.iCell = p->iCell - 1; + } + if( p->iCell>=nCell ){ + RTREE_QUEUE_TRACE(pCur, "POP-S:"); + rtreeSearchPointPop(pCur); + } + if( rScoreeWithin = (u8)eWithin; + p->id = x.id; + p->iCell = x.iCell; + RTREE_QUEUE_TRACE(pCur, "PUSH-S:"); + break; + } + if( p->iCell>=nCell ){ + RTREE_QUEUE_TRACE(pCur, "POP-Se:"); + rtreeSearchPointPop(pCur); + } + } + pCur->atEOF = p==0; + return SQLITE_OK; +} + +/* +** Rtree virtual table module xNext method. +*/ +static int rtreeNext(sqlite3_vtab_cursor *pVtabCursor){ + RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor; + int rc = SQLITE_OK; + + /* Move to the next entry that matches the configured constraints. */ + RTREE_QUEUE_TRACE(pCsr, "POP-Nx:"); + if( pCsr->bAuxValid ){ + pCsr->bAuxValid = 0; + sqlite3_reset(pCsr->pReadAux); + } + rtreeSearchPointPop(pCsr); + rc = rtreeStepToLeaf(pCsr); + return rc; +} + +/* +** Rtree virtual table module xRowid method. +*/ +static int rtreeRowid(sqlite3_vtab_cursor *pVtabCursor, sqlite_int64 *pRowid){ + RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor; + RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr); + int rc = SQLITE_OK; + RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc); + if( rc==SQLITE_OK && p ){ + *pRowid = nodeGetRowid(RTREE_OF_CURSOR(pCsr), pNode, p->iCell); + } + return rc; +} + +/* +** Rtree virtual table module xColumn method. +*/ +static int rtreeColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){ + Rtree *pRtree = (Rtree *)cur->pVtab; + RtreeCursor *pCsr = (RtreeCursor *)cur; + RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr); + RtreeCoord c; + int rc = SQLITE_OK; + RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc); + + if( rc ) return rc; + if( p==0 ) return SQLITE_OK; + if( i==0 ){ + sqlite3_result_int64(ctx, nodeGetRowid(pRtree, pNode, p->iCell)); + }else if( i<=pRtree->nDim2 ){ + nodeGetCoord(pRtree, pNode, p->iCell, i-1, &c); +#ifndef SQLITE_RTREE_INT_ONLY + if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ + sqlite3_result_double(ctx, c.f); + }else +#endif + { + assert( pRtree->eCoordType==RTREE_COORD_INT32 ); + sqlite3_result_int(ctx, c.i); + } + }else{ + if( !pCsr->bAuxValid ){ + if( pCsr->pReadAux==0 ){ + rc = sqlite3_prepare_v3(pRtree->db, pRtree->zReadAuxSql, -1, 0, + &pCsr->pReadAux, 0); + if( rc ) return rc; + } + sqlite3_bind_int64(pCsr->pReadAux, 1, + nodeGetRowid(pRtree, pNode, p->iCell)); + rc = sqlite3_step(pCsr->pReadAux); + if( rc==SQLITE_ROW ){ + pCsr->bAuxValid = 1; + }else{ + sqlite3_reset(pCsr->pReadAux); + if( rc==SQLITE_DONE ) rc = SQLITE_OK; + return rc; + } + } + sqlite3_result_value(ctx, + sqlite3_column_value(pCsr->pReadAux, i - pRtree->nDim2 + 1)); + } + return SQLITE_OK; +} + +/* +** Use nodeAcquire() to obtain the leaf node containing the record with +** rowid iRowid. If successful, set *ppLeaf to point to the node and +** return SQLITE_OK. If there is no such record in the table, set +** *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf +** to zero and return an SQLite error code. +*/ +static int findLeafNode( + Rtree *pRtree, /* RTree to search */ + i64 iRowid, /* The rowid searching for */ + RtreeNode **ppLeaf, /* Write the node here */ + sqlite3_int64 *piNode /* Write the node-id here */ +){ + int rc; + *ppLeaf = 0; + sqlite3_bind_int64(pRtree->pReadRowid, 1, iRowid); + if( sqlite3_step(pRtree->pReadRowid)==SQLITE_ROW ){ + i64 iNode = sqlite3_column_int64(pRtree->pReadRowid, 0); + if( piNode ) *piNode = iNode; + rc = nodeAcquire(pRtree, iNode, 0, ppLeaf); + sqlite3_reset(pRtree->pReadRowid); + }else{ + rc = sqlite3_reset(pRtree->pReadRowid); + } + return rc; +} + +/* +** This function is called to configure the RtreeConstraint object passed +** as the second argument for a MATCH constraint. The value passed as the +** first argument to this function is the right-hand operand to the MATCH +** operator. +*/ +static int deserializeGeometry(sqlite3_value *pValue, RtreeConstraint *pCons){ + RtreeMatchArg *pBlob, *pSrc; /* BLOB returned by geometry function */ + sqlite3_rtree_query_info *pInfo; /* Callback information */ pSrc = sqlite3_value_pointer(pValue, "RtreeMatchArg"); if( pSrc==0 ) return SQLITE_ERROR; @@ -168727,14 +180857,17 @@ static int rtreeFilter( int ii; int rc = SQLITE_OK; int iCell = 0; + sqlite3_stmt *pStmt; rtreeReference(pRtree); /* Reset the cursor to the same state as rtreeOpen() leaves it in. */ freeCursorConstraints(pCsr); sqlite3_free(pCsr->aPoint); + pStmt = pCsr->pReadAux; memset(pCsr, 0, sizeof(RtreeCursor)); pCsr->base.pVtab = (sqlite3_vtab*)pRtree; + pCsr->pReadAux = pStmt; pCsr->iStrategy = idxNum; if( idxNum==1 ){ @@ -168897,10 +181030,14 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ */ pIdxInfo->estimatedCost = 30.0; pIdxInfo->estimatedRows = 1; + pIdxInfo->idxFlags = SQLITE_INDEX_SCAN_UNIQUE; return SQLITE_OK; } - if( p->usable && (p->iColumn>0 || p->op==SQLITE_INDEX_CONSTRAINT_MATCH) ){ + if( p->usable + && ((p->iColumn>0 && p->iColumn<=pRtree->nDim2) + || p->op==SQLITE_INDEX_CONSTRAINT_MATCH) + ){ u8 op; switch( p->op ){ case SQLITE_INDEX_CONSTRAINT_EQ: op = RTREE_EQ; break; @@ -169473,7 +181610,7 @@ static int SplitNode( }else{ pLeft = pNode; pRight = nodeNew(pRtree, pLeft->pParent); - nodeReference(pLeft); + pLeft->nRef++; } if( !pLeft || !pRight ){ @@ -169882,7 +182019,7 @@ static int reinsertNodeContent(Rtree *pRtree, RtreeNode *pNode){ /* ** Select a currently unused rowid for a new r-tree record. */ -static int newRowid(Rtree *pRtree, i64 *piRowid){ +static int rtreeNewRowid(Rtree *pRtree, i64 *piRowid){ int rc; sqlite3_bind_null(pRtree->pWriteRowid, 1); sqlite3_bind_null(pRtree->pWriteRowid, 2); @@ -169963,6 +182100,7 @@ static int rtreeDeleteRowid(Rtree *pRtree, sqlite3_int64 iDelete){ rc = reinsertNodeContent(pRtree, pLeaf); } pRtree->pDeleted = pLeaf->pNext; + pRtree->nNodeRef--; sqlite3_free(pLeaf); } @@ -170059,7 +182197,7 @@ static int rtreeConstraintError(Rtree *pRtree, int iCol){ static int rtreeUpdate( sqlite3_vtab *pVtab, int nData, - sqlite3_value **azData, + sqlite3_value **aData, sqlite_int64 *pRowid ){ Rtree *pRtree = (Rtree *)pVtab; @@ -170067,6 +182205,12 @@ static int rtreeUpdate( RtreeCell cell; /* New cell to insert if nData>1 */ int bHaveRowid = 0; /* Set to 1 after new rowid is determined */ + if( pRtree->nNodeRef ){ + /* Unable to write to the btree while another cursor is reading from it, + ** since the write might do a rebalance which would disrupt the read + ** cursor. */ + return SQLITE_LOCKED_VTAB; + } rtreeReference(pRtree); assert(nData>=1); @@ -170085,8 +182229,10 @@ static int rtreeUpdate( */ if( nData>1 ){ int ii; + int nn = nData - 4; - /* Populate the cell.aCoord[] array. The first coordinate is azData[3]. + if( nn > pRtree->nDim2 ) nn = pRtree->nDim2; + /* Populate the cell.aCoord[] array. The first coordinate is aData[3]. ** ** NB: nData can only be less than nDim*2+3 if the rtree is mis-declared ** with "column" that are interpreted as table constraints. @@ -170094,13 +182240,12 @@ static int rtreeUpdate( ** This problem was discovered after years of use, so we silently ignore ** these kinds of misdeclared tables to avoid breaking any legacy. */ - assert( nData<=(pRtree->nDim2 + 3) ); #ifndef SQLITE_RTREE_INT_ONLY if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ - for(ii=0; iicell.aCoord[ii+1].f ){ rc = rtreeConstraintError(pRtree, ii+1); goto constraint; @@ -170109,9 +182254,9 @@ static int rtreeUpdate( }else #endif { - for(ii=0; iicell.aCoord[ii+1].i ){ rc = rtreeConstraintError(pRtree, ii+1); goto constraint; @@ -170121,10 +182266,10 @@ static int rtreeUpdate( /* If a rowid value was supplied, check if it is already present in ** the table. If so, the constraint has failed. */ - if( sqlite3_value_type(azData[2])!=SQLITE_NULL ){ - cell.iRowid = sqlite3_value_int64(azData[2]); - if( sqlite3_value_type(azData[0])==SQLITE_NULL - || sqlite3_value_int64(azData[0])!=cell.iRowid + if( sqlite3_value_type(aData[2])!=SQLITE_NULL ){ + cell.iRowid = sqlite3_value_int64(aData[2]); + if( sqlite3_value_type(aData[0])==SQLITE_NULL + || sqlite3_value_int64(aData[0])!=cell.iRowid ){ int steprc; sqlite3_bind_int64(pRtree->pReadRowid, 1, cell.iRowid); @@ -170143,16 +182288,16 @@ static int rtreeUpdate( } } - /* If azData[0] is not an SQL NULL value, it is the rowid of a + /* If aData[0] is not an SQL NULL value, it is the rowid of a ** record to delete from the r-tree table. The following block does ** just that. */ - if( sqlite3_value_type(azData[0])!=SQLITE_NULL ){ - rc = rtreeDeleteRowid(pRtree, sqlite3_value_int64(azData[0])); + if( sqlite3_value_type(aData[0])!=SQLITE_NULL ){ + rc = rtreeDeleteRowid(pRtree, sqlite3_value_int64(aData[0])); } - /* If the azData[] array contains more than one element, elements - ** (azData[2]..azData[argc-1]) contain a new record to insert into + /* If the aData[] array contains more than one element, elements + ** (aData[2]..aData[argc-1]) contain a new record to insert into ** the r-tree structure. */ if( rc==SQLITE_OK && nData>1 ){ @@ -170161,7 +182306,7 @@ static int rtreeUpdate( /* Figure out the rowid of the new row. */ if( bHaveRowid==0 ){ - rc = newRowid(pRtree, &cell.iRowid); + rc = rtreeNewRowid(pRtree, &cell.iRowid); } *pRowid = cell.iRowid; @@ -170177,6 +182322,16 @@ static int rtreeUpdate( rc = rc2; } } + if( pRtree->nAux ){ + sqlite3_stmt *pUp = pRtree->pWriteAux; + int jj; + sqlite3_bind_int64(pUp, 1, *pRowid); + for(jj=0; jjnAux; jj++){ + sqlite3_bind_value(pUp, jj+2, aData[pRtree->nDim2+3+jj]); + } + sqlite3_step(pUp); + rc = sqlite3_reset(pUp); + } } constraint: @@ -170243,7 +182398,7 @@ static int rtreeRename(sqlite3_vtab *pVtab, const char *zNewName){ */ static int rtreeSavepoint(sqlite3_vtab *pVtab, int iSavepoint){ Rtree *pRtree = (Rtree *)pVtab; - int iwt = pRtree->inWrTrans; + u8 iwt = pRtree->inWrTrans; UNUSED_PARAMETER(iSavepoint); pRtree->inWrTrans = 0; nodeBlobReset(pRtree); @@ -170295,8 +182450,24 @@ static int rtreeQueryStat1(sqlite3 *db, Rtree *pRtree){ return rc; } + +/* +** Return true if zName is the extension on one of the shadow tables used +** by this module. +*/ +static int rtreeShadowName(const char *zName){ + static const char *azName[] = { + "node", "parent", "rowid" + }; + unsigned int i; + for(i=0; idb = db; if( isCreate ){ - char *zCreate = sqlite3_mprintf( -"CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY, data BLOB);" -"CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY, nodeno INTEGER);" -"CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY," - " parentnode INTEGER);" -"INSERT INTO '%q'.'%q_node' VALUES(1, zeroblob(%d))", - zDb, zPrefix, zDb, zPrefix, zDb, zPrefix, zDb, zPrefix, pRtree->iNodeSize - ); + char *zCreate; + sqlite3_str *p = sqlite3_str_new(db); + int ii; + sqlite3_str_appendf(p, + "CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno", + zDb, zPrefix); + for(ii=0; iinAux; ii++){ + sqlite3_str_appendf(p,",a%d",ii); + } + sqlite3_str_appendf(p, + ");CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);", + zDb, zPrefix); + sqlite3_str_appendf(p, + "CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);", + zDb, zPrefix); + sqlite3_str_appendf(p, + "INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))", + zDb, zPrefix, pRtree->iNodeSize); + zCreate = sqlite3_str_finish(p); if( !zCreate ){ return SQLITE_NOMEM; } @@ -170381,7 +182564,17 @@ static int rtreeSqlInit( rc = rtreeQueryStat1(db, pRtree); for(i=0; inAux==0 ){ + zFormat = azSql[i]; + }else { + /* An UPSERT is very slightly slower than REPLACE, but it is needed + ** if there are auxiliary columns */ + zFormat = "INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)" + "ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno"; + } + zSql = sqlite3_mprintf(zFormat, zDb, zPrefix); if( zSql ){ rc = sqlite3_prepare_v3(db, zSql, -1, SQLITE_PREPARE_PERSISTENT, appStmt[i], 0); @@ -170390,6 +182583,36 @@ static int rtreeSqlInit( } sqlite3_free(zSql); } + if( pRtree->nAux ){ + pRtree->zReadAuxSql = sqlite3_mprintf( + "SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1", + zDb, zPrefix); + if( pRtree->zReadAuxSql==0 ){ + rc = SQLITE_NOMEM; + }else{ + sqlite3_str *p = sqlite3_str_new(db); + int ii; + char *zSql; + sqlite3_str_appendf(p, "UPDATE \"%w\".\"%w_rowid\"SET ", zDb, zPrefix); + for(ii=0; iinAux; ii++){ + if( ii ) sqlite3_str_append(p, ",", 1); + if( iinAuxNotNull ){ + sqlite3_str_appendf(p,"a%d=coalesce(?%d,a%d)",ii,ii+2,ii); + }else{ + sqlite3_str_appendf(p,"a%d=?%d",ii,ii+2); + } + } + sqlite3_str_appendf(p, " WHERE rowid=?1"); + zSql = sqlite3_str_finish(p); + if( zSql==0 ){ + rc = SQLITE_NOMEM; + }else{ + rc = sqlite3_prepare_v3(db, zSql, -1, SQLITE_PREPARE_PERSISTENT, + &pRtree->pWriteAux, 0); + sqlite3_free(zSql); + } + } + } return rc; } @@ -170492,17 +182715,22 @@ static int rtreeInit( int nDb; /* Length of string argv[1] */ int nName; /* Length of string argv[2] */ int eCoordType = (pAux ? RTREE_COORD_INT32 : RTREE_COORD_REAL32); + sqlite3_str *pSql; + char *zSql; + int ii = 4; + int iErr; const char *aErrMsg[] = { 0, /* 0 */ "Wrong number of columns for an rtree table", /* 1 */ "Too few columns for an rtree table", /* 2 */ - "Too many columns for an rtree table" /* 3 */ + "Too many columns for an rtree table", /* 3 */ + "Auxiliary rtree columns must be last" /* 4 */ }; - int iErr = (argc<6) ? 2 : argc>(RTREE_MAX_DIMENSIONS*2+4) ? 3 : argc%2; - if( aErrMsg[iErr] ){ - *pzErr = sqlite3_mprintf("%s", aErrMsg[iErr]); + assert( RTREE_MAX_AUX_COLUMN<256 ); /* Aux columns counted by a u8 */ + if( argc>RTREE_MAX_AUX_COLUMN+3 ){ + *pzErr = sqlite3_mprintf("%s", aErrMsg[3]); return SQLITE_ERROR; } @@ -170520,53 +182748,73 @@ static int rtreeInit( pRtree->base.pModule = &rtreeModule; pRtree->zDb = (char *)&pRtree[1]; pRtree->zName = &pRtree->zDb[nDb+1]; - pRtree->nDim = (u8)((argc-4)/2); - pRtree->nDim2 = pRtree->nDim*2; - pRtree->nBytesPerCell = 8 + pRtree->nDim2*4; pRtree->eCoordType = (u8)eCoordType; memcpy(pRtree->zDb, argv[1], nDb); memcpy(pRtree->zName, argv[2], nName); - /* Figure out the node size to use. */ - rc = getNodeSize(db, pRtree, isCreate, pzErr); /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ - if( rc==SQLITE_OK ){ - if( (rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate)) ){ - *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + pSql = sqlite3_str_new(db); + sqlite3_str_appendf(pSql, "CREATE TABLE x(%s", argv[3]); + for(ii=4; iinAux++; + sqlite3_str_appendf(pSql, ",%s", argv[ii]+1); + }else if( pRtree->nAux>0 ){ + break; }else{ - char *zSql = sqlite3_mprintf("CREATE TABLE x(%s", argv[3]); - char *zTmp; - int ii; - for(ii=4; zSql && iinDim2++; + sqlite3_str_appendf(pSql, ",%s", argv[ii]); } } + sqlite3_str_appendf(pSql, ");"); + zSql = sqlite3_str_finish(pSql); + if( !zSql ){ + rc = SQLITE_NOMEM; + }else if( iinDim = pRtree->nDim2/2; + if( pRtree->nDim<1 ){ + iErr = 2; + }else if( pRtree->nDim2>RTREE_MAX_DIMENSIONS*2 ){ + iErr = 3; + }else if( pRtree->nDim2 % 2 ){ + iErr = 1; + }else{ + iErr = 0; + } + if( iErr ){ + *pzErr = sqlite3_mprintf("%s", aErrMsg[iErr]); + goto rtreeInit_fail; + } + pRtree->nBytesPerCell = 8 + pRtree->nDim2*4; - if( rc==SQLITE_OK ){ - *ppVtab = (sqlite3_vtab *)pRtree; - }else{ - assert( *ppVtab==0 ); - assert( pRtree->nBusy==1 ); - rtreeRelease(pRtree); + /* Figure out the node size to use. */ + rc = getNodeSize(db, pRtree, isCreate, pzErr); + if( rc ) goto rtreeInit_fail; + rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate); + if( rc ){ + *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + goto rtreeInit_fail; } + + *ppVtab = (sqlite3_vtab *)pRtree; + return SQLITE_OK; + +rtreeInit_fail: + if( rc==SQLITE_OK ) rc = SQLITE_ERROR; + assert( *ppVtab==0 ); + assert( pRtree->nBusy==1 ); + rtreeRelease(pRtree); return rc; } @@ -170795,7 +183043,7 @@ static u8 *rtreeCheckGetNode(RtreeCheck *pCheck, i64 iNode, int *pnNode){ ** two tables are: ** ** CREATE TABLE %_parent(nodeno INTEGER PRIMARY KEY, parentnode INTEGER) -** CREATE TABLE %_rowid(rowid INTEGER PRIMARY KEY, nodeno INTEGER) +** CREATE TABLE %_rowid(rowid INTEGER PRIMARY KEY, nodeno INTEGER, ...) ** ** In both cases, this function checks that there exists an entry with ** IPK value iKey and the second column set to iVal. @@ -170810,8 +183058,8 @@ static void rtreeCheckMapping( int rc; sqlite3_stmt *pStmt; const char *azSql[2] = { - "SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?", - "SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?" + "SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1", + "SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1" }; assert( bLeaf==0 || bLeaf==1 ); @@ -170984,14975 +183232,15110 @@ static void rtreeCheckCount(RtreeCheck *pCheck, const char *zTbl, i64 nExpect){ /* ** This function does the bulk of the work for the rtree integrity-check. -** It is called by rtreecheck(), which is the SQL function implementation. -*/ -static int rtreeCheckTable( - sqlite3 *db, /* Database handle to access db through */ - const char *zDb, /* Name of db ("main", "temp" etc.) */ - const char *zTab, /* Name of rtree table to check */ - char **pzReport /* OUT: sqlite3_malloc'd report text */ -){ - RtreeCheck check; /* Common context for various routines */ - sqlite3_stmt *pStmt = 0; /* Used to find column count of rtree table */ - int bEnd = 0; /* True if transaction should be closed */ - - /* Initialize the context object */ - memset(&check, 0, sizeof(check)); - check.db = db; - check.zDb = zDb; - check.zTab = zTab; - - /* If there is not already an open transaction, open one now. This is - ** to ensure that the queries run as part of this integrity-check operate - ** on a consistent snapshot. */ - if( sqlite3_get_autocommit(db) ){ - check.rc = sqlite3_exec(db, "BEGIN", 0, 0, 0); - bEnd = 1; - } - - /* Find number of dimensions in the rtree table. */ - pStmt = rtreeCheckPrepare(&check, "SELECT * FROM %Q.%Q", zDb, zTab); - if( pStmt ){ - int rc; - check.nDim = (sqlite3_column_count(pStmt) - 1) / 2; - if( check.nDim<1 ){ - rtreeCheckAppendMsg(&check, "Schema corrupt or not an rtree"); - }else if( SQLITE_ROW==sqlite3_step(pStmt) ){ - check.bInt = (sqlite3_column_type(pStmt, 1)==SQLITE_INTEGER); - } - rc = sqlite3_finalize(pStmt); - if( rc!=SQLITE_CORRUPT ) check.rc = rc; - } - - /* Do the actual integrity-check */ - if( check.nDim>=1 ){ - if( check.rc==SQLITE_OK ){ - rtreeCheckNode(&check, 0, 0, 1); - } - rtreeCheckCount(&check, "_rowid", check.nLeaf); - rtreeCheckCount(&check, "_parent", check.nNonLeaf); - } - - /* Finalize SQL statements used by the integrity-check */ - sqlite3_finalize(check.pGetNode); - sqlite3_finalize(check.aCheckMapping[0]); - sqlite3_finalize(check.aCheckMapping[1]); - - /* If one was opened, close the transaction */ - if( bEnd ){ - int rc = sqlite3_exec(db, "END", 0, 0, 0); - if( check.rc==SQLITE_OK ) check.rc = rc; - } - *pzReport = check.zReport; - return check.rc; -} - -/* -** Usage: -** -** rtreecheck(); -** rtreecheck(, ); -** -** Invoking this SQL function runs an integrity-check on the named rtree -** table. The integrity-check verifies the following: -** -** 1. For each cell in the r-tree structure (%_node table), that: -** -** a) for each dimension, (coord1 <= coord2). -** -** b) unless the cell is on the root node, that the cell is bounded -** by the parent cell on the parent node. -** -** c) for leaf nodes, that there is an entry in the %_rowid -** table corresponding to the cell's rowid value that -** points to the correct node. -** -** d) for cells on non-leaf nodes, that there is an entry in the -** %_parent table mapping from the cell's child node to the -** node that it resides on. -** -** 2. That there are the same number of entries in the %_rowid table -** as there are leaf cells in the r-tree structure, and that there -** is a leaf cell that corresponds to each entry in the %_rowid table. -** -** 3. That there are the same number of entries in the %_parent table -** as there are non-leaf cells in the r-tree structure, and that -** there is a non-leaf cell that corresponds to each entry in the -** %_parent table. -*/ -static void rtreecheck( - sqlite3_context *ctx, - int nArg, - sqlite3_value **apArg -){ - if( nArg!=1 && nArg!=2 ){ - sqlite3_result_error(ctx, - "wrong number of arguments to function rtreecheck()", -1 - ); - }else{ - int rc; - char *zReport = 0; - const char *zDb = (const char*)sqlite3_value_text(apArg[0]); - const char *zTab; - if( nArg==1 ){ - zTab = zDb; - zDb = "main"; - }else{ - zTab = (const char*)sqlite3_value_text(apArg[1]); - } - rc = rtreeCheckTable(sqlite3_context_db_handle(ctx), zDb, zTab, &zReport); - if( rc==SQLITE_OK ){ - sqlite3_result_text(ctx, zReport ? zReport : "ok", -1, SQLITE_TRANSIENT); - }else{ - sqlite3_result_error_code(ctx, rc); - } - sqlite3_free(zReport); - } -} - - -/* -** Register the r-tree module with database handle db. This creates the -** virtual table module "rtree" and the debugging/analysis scalar -** function "rtreenode". -*/ -SQLITE_PRIVATE int sqlite3RtreeInit(sqlite3 *db){ - const int utf8 = SQLITE_UTF8; - int rc; - - rc = sqlite3_create_function(db, "rtreenode", 2, utf8, 0, rtreenode, 0, 0); - if( rc==SQLITE_OK ){ - rc = sqlite3_create_function(db, "rtreedepth", 1, utf8, 0,rtreedepth, 0, 0); - } - if( rc==SQLITE_OK ){ - rc = sqlite3_create_function(db, "rtreecheck", -1, utf8, 0,rtreecheck, 0,0); - } - if( rc==SQLITE_OK ){ -#ifdef SQLITE_RTREE_INT_ONLY - void *c = (void *)RTREE_COORD_INT32; -#else - void *c = (void *)RTREE_COORD_REAL32; -#endif - rc = sqlite3_create_module_v2(db, "rtree", &rtreeModule, c, 0); - } - if( rc==SQLITE_OK ){ - void *c = (void *)RTREE_COORD_INT32; - rc = sqlite3_create_module_v2(db, "rtree_i32", &rtreeModule, c, 0); - } - - return rc; -} - -/* -** This routine deletes the RtreeGeomCallback object that was attached -** one of the SQL functions create by sqlite3_rtree_geometry_callback() -** or sqlite3_rtree_query_callback(). In other words, this routine is the -** destructor for an RtreeGeomCallback objecct. This routine is called when -** the corresponding SQL function is deleted. -*/ -static void rtreeFreeCallback(void *p){ - RtreeGeomCallback *pInfo = (RtreeGeomCallback*)p; - if( pInfo->xDestructor ) pInfo->xDestructor(pInfo->pContext); - sqlite3_free(p); -} - -/* -** This routine frees the BLOB that is returned by geomCallback(). -*/ -static void rtreeMatchArgFree(void *pArg){ - int i; - RtreeMatchArg *p = (RtreeMatchArg*)pArg; - for(i=0; inParam; i++){ - sqlite3_value_free(p->apSqlParam[i]); - } - sqlite3_free(p); -} - -/* -** Each call to sqlite3_rtree_geometry_callback() or -** sqlite3_rtree_query_callback() creates an ordinary SQLite -** scalar function that is implemented by this routine. -** -** All this function does is construct an RtreeMatchArg object that -** contains the geometry-checking callback routines and a list of -** parameters to this function, then return that RtreeMatchArg object -** as a BLOB. -** -** The R-Tree MATCH operator will read the returned BLOB, deserialize -** the RtreeMatchArg object, and use the RtreeMatchArg object to figure -** out which elements of the R-Tree should be returned by the query. -*/ -static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ - RtreeGeomCallback *pGeomCtx = (RtreeGeomCallback *)sqlite3_user_data(ctx); - RtreeMatchArg *pBlob; - int nBlob; - int memErr = 0; - - nBlob = sizeof(RtreeMatchArg) + (nArg-1)*sizeof(RtreeDValue) - + nArg*sizeof(sqlite3_value*); - pBlob = (RtreeMatchArg *)sqlite3_malloc(nBlob); - if( !pBlob ){ - sqlite3_result_error_nomem(ctx); - }else{ - int i; - pBlob->iSize = nBlob; - pBlob->cb = pGeomCtx[0]; - pBlob->apSqlParam = (sqlite3_value**)&pBlob->aParam[nArg]; - pBlob->nParam = nArg; - for(i=0; iapSqlParam[i] = sqlite3_value_dup(aArg[i]); - if( pBlob->apSqlParam[i]==0 ) memErr = 1; -#ifdef SQLITE_RTREE_INT_ONLY - pBlob->aParam[i] = sqlite3_value_int64(aArg[i]); -#else - pBlob->aParam[i] = sqlite3_value_double(aArg[i]); -#endif - } - if( memErr ){ - sqlite3_result_error_nomem(ctx); - rtreeMatchArgFree(pBlob); - }else{ - sqlite3_result_pointer(ctx, pBlob, "RtreeMatchArg", rtreeMatchArgFree); - } - } -} - -/* -** Register a new geometry function for use with the r-tree MATCH operator. -*/ -SQLITE_API int sqlite3_rtree_geometry_callback( - sqlite3 *db, /* Register SQL function on this connection */ - const char *zGeom, /* Name of the new SQL function */ - int (*xGeom)(sqlite3_rtree_geometry*,int,RtreeDValue*,int*), /* Callback */ - void *pContext /* Extra data associated with the callback */ -){ - RtreeGeomCallback *pGeomCtx; /* Context object for new user-function */ - - /* Allocate and populate the context object. */ - pGeomCtx = (RtreeGeomCallback *)sqlite3_malloc(sizeof(RtreeGeomCallback)); - if( !pGeomCtx ) return SQLITE_NOMEM; - pGeomCtx->xGeom = xGeom; - pGeomCtx->xQueryFunc = 0; - pGeomCtx->xDestructor = 0; - pGeomCtx->pContext = pContext; - return sqlite3_create_function_v2(db, zGeom, -1, SQLITE_ANY, - (void *)pGeomCtx, geomCallback, 0, 0, rtreeFreeCallback - ); -} - -/* -** Register a new 2nd-generation geometry function for use with the -** r-tree MATCH operator. -*/ -SQLITE_API int sqlite3_rtree_query_callback( - sqlite3 *db, /* Register SQL function on this connection */ - const char *zQueryFunc, /* Name of new SQL function */ - int (*xQueryFunc)(sqlite3_rtree_query_info*), /* Callback */ - void *pContext, /* Extra data passed into the callback */ - void (*xDestructor)(void*) /* Destructor for the extra data */ -){ - RtreeGeomCallback *pGeomCtx; /* Context object for new user-function */ - - /* Allocate and populate the context object. */ - pGeomCtx = (RtreeGeomCallback *)sqlite3_malloc(sizeof(RtreeGeomCallback)); - if( !pGeomCtx ) return SQLITE_NOMEM; - pGeomCtx->xGeom = 0; - pGeomCtx->xQueryFunc = xQueryFunc; - pGeomCtx->xDestructor = xDestructor; - pGeomCtx->pContext = pContext; - return sqlite3_create_function_v2(db, zQueryFunc, -1, SQLITE_ANY, - (void *)pGeomCtx, geomCallback, 0, 0, rtreeFreeCallback - ); -} - -#if !SQLITE_CORE -#ifdef _WIN32 -__declspec(dllexport) -#endif -SQLITE_API int sqlite3_rtree_init( - sqlite3 *db, - char **pzErrMsg, - const sqlite3_api_routines *pApi -){ - SQLITE_EXTENSION_INIT2(pApi) - return sqlite3RtreeInit(db); -} -#endif - -#endif - -/************** End of rtree.c ***********************************************/ -/************** Begin file icu.c *********************************************/ -/* -** 2007 May 6 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** $Id: icu.c,v 1.7 2007/12/13 21:54:11 drh Exp $ -** -** This file implements an integration between the ICU library -** ("International Components for Unicode", an open-source library -** for handling unicode data) and SQLite. The integration uses -** ICU to provide the following to SQLite: -** -** * An implementation of the SQL regexp() function (and hence REGEXP -** operator) using the ICU uregex_XX() APIs. -** -** * Implementations of the SQL scalar upper() and lower() functions -** for case mapping. -** -** * Integration of ICU and SQLite collation sequences. -** -** * An implementation of the LIKE operator that uses ICU to -** provide case-independent matching. -*/ - -#if !defined(SQLITE_CORE) \ - || defined(SQLITE_ENABLE_ICU) \ - || defined(SQLITE_ENABLE_ICU_COLLATIONS) - -/* Include ICU headers */ -#include -#include -#include -#include - -/* #include */ - -#ifndef SQLITE_CORE -/* #include "sqlite3ext.h" */ - SQLITE_EXTENSION_INIT1 -#else -/* #include "sqlite3.h" */ -#endif - -/* -** This function is called when an ICU function called from within -** the implementation of an SQL scalar function returns an error. -** -** The scalar function context passed as the first argument is -** loaded with an error message based on the following two args. -*/ -static void icuFunctionError( - sqlite3_context *pCtx, /* SQLite scalar function context */ - const char *zName, /* Name of ICU function that failed */ - UErrorCode e /* Error code returned by ICU function */ -){ - char zBuf[128]; - sqlite3_snprintf(128, zBuf, "ICU error: %s(): %s", zName, u_errorName(e)); - zBuf[127] = '\0'; - sqlite3_result_error(pCtx, zBuf, -1); -} - -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) - -/* -** Maximum length (in bytes) of the pattern in a LIKE or GLOB -** operator. -*/ -#ifndef SQLITE_MAX_LIKE_PATTERN_LENGTH -# define SQLITE_MAX_LIKE_PATTERN_LENGTH 50000 -#endif - -/* -** Version of sqlite3_free() that is always a function, never a macro. -*/ -static void xFree(void *p){ - sqlite3_free(p); -} - -/* -** This lookup table is used to help decode the first byte of -** a multi-byte UTF8 character. It is copied here from SQLite source -** code file utf8.c. -*/ -static const unsigned char icuUtf8Trans1[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, -}; - -#define SQLITE_ICU_READ_UTF8(zIn, c) \ - c = *(zIn++); \ - if( c>=0xc0 ){ \ - c = icuUtf8Trans1[c-0xc0]; \ - while( (*zIn & 0xc0)==0x80 ){ \ - c = (c<<6) + (0x3f & *(zIn++)); \ - } \ - } - -#define SQLITE_ICU_SKIP_UTF8(zIn) \ - assert( *zIn ); \ - if( *(zIn++)>=0xc0 ){ \ - while( (*zIn & 0xc0)==0x80 ){zIn++;} \ - } - - -/* -** Compare two UTF-8 strings for equality where the first string is -** a "LIKE" expression. Return true (1) if they are the same and -** false (0) if they are different. -*/ -static int icuLikeCompare( - const uint8_t *zPattern, /* LIKE pattern */ - const uint8_t *zString, /* The UTF-8 string to compare against */ - const UChar32 uEsc /* The escape character */ -){ - static const uint32_t MATCH_ONE = (uint32_t)'_'; - static const uint32_t MATCH_ALL = (uint32_t)'%'; - - int prevEscape = 0; /* True if the previous character was uEsc */ - - while( 1 ){ - - /* Read (and consume) the next character from the input pattern. */ - uint32_t uPattern; - SQLITE_ICU_READ_UTF8(zPattern, uPattern); - if( uPattern==0 ) break; - - /* There are now 4 possibilities: - ** - ** 1. uPattern is an unescaped match-all character "%", - ** 2. uPattern is an unescaped match-one character "_", - ** 3. uPattern is an unescaped escape character, or - ** 4. uPattern is to be handled as an ordinary character - */ - if( !prevEscape && uPattern==MATCH_ALL ){ - /* Case 1. */ - uint8_t c; - - /* Skip any MATCH_ALL or MATCH_ONE characters that follow a - ** MATCH_ALL. For each MATCH_ONE, skip one character in the - ** test string. - */ - while( (c=*zPattern) == MATCH_ALL || c == MATCH_ONE ){ - if( c==MATCH_ONE ){ - if( *zString==0 ) return 0; - SQLITE_ICU_SKIP_UTF8(zString); - } - zPattern++; - } - - if( *zPattern==0 ) return 1; - - while( *zString ){ - if( icuLikeCompare(zPattern, zString, uEsc) ){ - return 1; - } - SQLITE_ICU_SKIP_UTF8(zString); - } - return 0; - - }else if( !prevEscape && uPattern==MATCH_ONE ){ - /* Case 2. */ - if( *zString==0 ) return 0; - SQLITE_ICU_SKIP_UTF8(zString); - - }else if( !prevEscape && uPattern==(uint32_t)uEsc){ - /* Case 3. */ - prevEscape = 1; - - }else{ - /* Case 4. */ - uint32_t uString; - SQLITE_ICU_READ_UTF8(zString, uString); - uString = (uint32_t)u_foldCase((UChar32)uString, U_FOLD_CASE_DEFAULT); - uPattern = (uint32_t)u_foldCase((UChar32)uPattern, U_FOLD_CASE_DEFAULT); - if( uString!=uPattern ){ - return 0; - } - prevEscape = 0; - } - } - - return *zString==0; -} - -/* -** Implementation of the like() SQL function. This function implements -** the build-in LIKE operator. The first argument to the function is the -** pattern and the second argument is the string. So, the SQL statements: -** -** A LIKE B -** -** is implemented as like(B, A). If there is an escape character E, -** -** A LIKE B ESCAPE E -** -** is mapped to like(B, A, E). -*/ -static void icuLikeFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - const unsigned char *zA = sqlite3_value_text(argv[0]); - const unsigned char *zB = sqlite3_value_text(argv[1]); - UChar32 uEsc = 0; - - /* Limit the length of the LIKE or GLOB pattern to avoid problems - ** of deep recursion and N*N behavior in patternCompare(). - */ - if( sqlite3_value_bytes(argv[0])>SQLITE_MAX_LIKE_PATTERN_LENGTH ){ - sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1); - return; - } - - - if( argc==3 ){ - /* The escape character string must consist of a single UTF-8 character. - ** Otherwise, return an error. - */ - int nE= sqlite3_value_bytes(argv[2]); - const unsigned char *zE = sqlite3_value_text(argv[2]); - int i = 0; - if( zE==0 ) return; - U8_NEXT(zE, i, nE, uEsc); - if( i!=nE){ - sqlite3_result_error(context, - "ESCAPE expression must be a single character", -1); - return; - } - } - - if( zA && zB ){ - sqlite3_result_int(context, icuLikeCompare(zA, zB, uEsc)); - } -} - -/* -** Function to delete compiled regexp objects. Registered as -** a destructor function with sqlite3_set_auxdata(). -*/ -static void icuRegexpDelete(void *p){ - URegularExpression *pExpr = (URegularExpression *)p; - uregex_close(pExpr); -} - -/* -** Implementation of SQLite REGEXP operator. This scalar function takes -** two arguments. The first is a regular expression pattern to compile -** the second is a string to match against that pattern. If either -** argument is an SQL NULL, then NULL Is returned. Otherwise, the result -** is 1 if the string matches the pattern, or 0 otherwise. -** -** SQLite maps the regexp() function to the regexp() operator such -** that the following two are equivalent: -** -** zString REGEXP zPattern -** regexp(zPattern, zString) -** -** Uses the following ICU regexp APIs: -** -** uregex_open() -** uregex_matches() -** uregex_close() +** It is called by rtreecheck(), which is the SQL function implementation. */ -static void icuRegexpFunc(sqlite3_context *p, int nArg, sqlite3_value **apArg){ - UErrorCode status = U_ZERO_ERROR; - URegularExpression *pExpr; - UBool res; - const UChar *zString = sqlite3_value_text16(apArg[1]); +static int rtreeCheckTable( + sqlite3 *db, /* Database handle to access db through */ + const char *zDb, /* Name of db ("main", "temp" etc.) */ + const char *zTab, /* Name of rtree table to check */ + char **pzReport /* OUT: sqlite3_malloc'd report text */ +){ + RtreeCheck check; /* Common context for various routines */ + sqlite3_stmt *pStmt = 0; /* Used to find column count of rtree table */ + int bEnd = 0; /* True if transaction should be closed */ + int nAux = 0; /* Number of extra columns. */ - (void)nArg; /* Unused parameter */ + /* Initialize the context object */ + memset(&check, 0, sizeof(check)); + check.db = db; + check.zDb = zDb; + check.zTab = zTab; - /* If the left hand side of the regexp operator is NULL, - ** then the result is also NULL. - */ - if( !zString ){ - return; + /* If there is not already an open transaction, open one now. This is + ** to ensure that the queries run as part of this integrity-check operate + ** on a consistent snapshot. */ + if( sqlite3_get_autocommit(db) ){ + check.rc = sqlite3_exec(db, "BEGIN", 0, 0, 0); + bEnd = 1; } - pExpr = sqlite3_get_auxdata(p, 0); - if( !pExpr ){ - const UChar *zPattern = sqlite3_value_text16(apArg[0]); - if( !zPattern ){ - return; - } - pExpr = uregex_open(zPattern, -1, 0, 0, &status); - - if( U_SUCCESS(status) ){ - sqlite3_set_auxdata(p, 0, pExpr, icuRegexpDelete); - }else{ - assert(!pExpr); - icuFunctionError(p, "uregex_open", status); - return; + /* Find the number of auxiliary columns */ + if( check.rc==SQLITE_OK ){ + pStmt = rtreeCheckPrepare(&check, "SELECT * FROM %Q.'%q_rowid'", zDb, zTab); + if( pStmt ){ + nAux = sqlite3_column_count(pStmt) - 2; + sqlite3_finalize(pStmt); } + check.rc = SQLITE_OK; } - /* Configure the text that the regular expression operates on. */ - uregex_setText(pExpr, zString, -1, &status); - if( !U_SUCCESS(status) ){ - icuFunctionError(p, "uregex_setText", status); - return; + /* Find number of dimensions in the rtree table. */ + pStmt = rtreeCheckPrepare(&check, "SELECT * FROM %Q.%Q", zDb, zTab); + if( pStmt ){ + int rc; + check.nDim = (sqlite3_column_count(pStmt) - 1 - nAux) / 2; + if( check.nDim<1 ){ + rtreeCheckAppendMsg(&check, "Schema corrupt or not an rtree"); + }else if( SQLITE_ROW==sqlite3_step(pStmt) ){ + check.bInt = (sqlite3_column_type(pStmt, 1)==SQLITE_INTEGER); + } + rc = sqlite3_finalize(pStmt); + if( rc!=SQLITE_CORRUPT ) check.rc = rc; } - /* Attempt the match */ - res = uregex_matches(pExpr, 0, &status); - if( !U_SUCCESS(status) ){ - icuFunctionError(p, "uregex_matches", status); - return; + /* Do the actual integrity-check */ + if( check.nDim>=1 ){ + if( check.rc==SQLITE_OK ){ + rtreeCheckNode(&check, 0, 0, 1); + } + rtreeCheckCount(&check, "_rowid", check.nLeaf); + rtreeCheckCount(&check, "_parent", check.nNonLeaf); } - /* Set the text that the regular expression operates on to a NULL - ** pointer. This is not really necessary, but it is tidier than - ** leaving the regular expression object configured with an invalid - ** pointer after this function returns. - */ - uregex_setText(pExpr, 0, 0, &status); + /* Finalize SQL statements used by the integrity-check */ + sqlite3_finalize(check.pGetNode); + sqlite3_finalize(check.aCheckMapping[0]); + sqlite3_finalize(check.aCheckMapping[1]); - /* Return 1 or 0. */ - sqlite3_result_int(p, res ? 1 : 0); + /* If one was opened, close the transaction */ + if( bEnd ){ + int rc = sqlite3_exec(db, "END", 0, 0, 0); + if( check.rc==SQLITE_OK ) check.rc = rc; + } + *pzReport = check.zReport; + return check.rc; } /* -** Implementations of scalar functions for case mapping - upper() and -** lower(). Function upper() converts its input to upper-case (ABC). -** Function lower() converts to lower-case (abc). +** Usage: ** -** ICU provides two types of case mapping, "general" case mapping and -** "language specific". Refer to ICU documentation for the differences -** between the two. +** rtreecheck(); +** rtreecheck(, ); ** -** To utilise "general" case mapping, the upper() or lower() scalar -** functions are invoked with one argument: +** Invoking this SQL function runs an integrity-check on the named rtree +** table. The integrity-check verifies the following: ** -** upper('ABC') -> 'abc' -** lower('abc') -> 'ABC' +** 1. For each cell in the r-tree structure (%_node table), that: ** -** To access ICU "language specific" case mapping, upper() or lower() -** should be invoked with two arguments. The second argument is the name -** of the locale to use. Passing an empty string ("") or SQL NULL value -** as the second argument is the same as invoking the 1 argument version -** of upper() or lower(). +** a) for each dimension, (coord1 <= coord2). ** -** lower('I', 'en_us') -> 'i' -** lower('I', 'tr_tr') -> '\u131' (small dotless i) +** b) unless the cell is on the root node, that the cell is bounded +** by the parent cell on the parent node. ** -** http://www.icu-project.org/userguide/posix.html#case_mappings +** c) for leaf nodes, that there is an entry in the %_rowid +** table corresponding to the cell's rowid value that +** points to the correct node. +** +** d) for cells on non-leaf nodes, that there is an entry in the +** %_parent table mapping from the cell's child node to the +** node that it resides on. +** +** 2. That there are the same number of entries in the %_rowid table +** as there are leaf cells in the r-tree structure, and that there +** is a leaf cell that corresponds to each entry in the %_rowid table. +** +** 3. That there are the same number of entries in the %_parent table +** as there are non-leaf cells in the r-tree structure, and that +** there is a non-leaf cell that corresponds to each entry in the +** %_parent table. */ -static void icuCaseFunc16(sqlite3_context *p, int nArg, sqlite3_value **apArg){ - const UChar *zInput; /* Pointer to input string */ - UChar *zOutput = 0; /* Pointer to output buffer */ - int nInput; /* Size of utf-16 input string in bytes */ - int nOut; /* Size of output buffer in bytes */ - int cnt; - int bToUpper; /* True for toupper(), false for tolower() */ - UErrorCode status; - const char *zLocale = 0; - - assert(nArg==1 || nArg==2); - bToUpper = (sqlite3_user_data(p)!=0); - if( nArg==2 ){ - zLocale = (const char *)sqlite3_value_text(apArg[1]); - } - - zInput = sqlite3_value_text16(apArg[0]); - if( !zInput ){ - return; - } - nOut = nInput = sqlite3_value_bytes16(apArg[0]); - if( nOut==0 ){ - sqlite3_result_text16(p, "", 0, SQLITE_STATIC); - return; - } - - for(cnt=0; cnt<2; cnt++){ - UChar *zNew = sqlite3_realloc(zOutput, nOut); - if( zNew==0 ){ - sqlite3_free(zOutput); - sqlite3_result_error_nomem(p); - return; - } - zOutput = zNew; - status = U_ZERO_ERROR; - if( bToUpper ){ - nOut = 2*u_strToUpper(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); +static void rtreecheck( + sqlite3_context *ctx, + int nArg, + sqlite3_value **apArg +){ + if( nArg!=1 && nArg!=2 ){ + sqlite3_result_error(ctx, + "wrong number of arguments to function rtreecheck()", -1 + ); + }else{ + int rc; + char *zReport = 0; + const char *zDb = (const char*)sqlite3_value_text(apArg[0]); + const char *zTab; + if( nArg==1 ){ + zTab = zDb; + zDb = "main"; }else{ - nOut = 2*u_strToLower(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); + zTab = (const char*)sqlite3_value_text(apArg[1]); } - - if( U_SUCCESS(status) ){ - sqlite3_result_text16(p, zOutput, nOut, xFree); - }else if( status==U_BUFFER_OVERFLOW_ERROR ){ - assert( cnt==0 ); - continue; + rc = rtreeCheckTable(sqlite3_context_db_handle(ctx), zDb, zTab, &zReport); + if( rc==SQLITE_OK ){ + sqlite3_result_text(ctx, zReport ? zReport : "ok", -1, SQLITE_TRANSIENT); }else{ - icuFunctionError(p, bToUpper ? "u_strToUpper" : "u_strToLower", status); + sqlite3_result_error_code(ctx, rc); } - return; - } - assert( 0 ); /* Unreachable */ -} - -#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ - -/* -** Collation sequence destructor function. The pCtx argument points to -** a UCollator structure previously allocated using ucol_open(). -*/ -static void icuCollationDel(void *pCtx){ - UCollator *p = (UCollator *)pCtx; - ucol_close(p); -} - -/* -** Collation sequence comparison function. The pCtx argument points to -** a UCollator structure previously allocated using ucol_open(). -*/ -static int icuCollationColl( - void *pCtx, - int nLeft, - const void *zLeft, - int nRight, - const void *zRight -){ - UCollationResult res; - UCollator *p = (UCollator *)pCtx; - res = ucol_strcoll(p, (UChar *)zLeft, nLeft/2, (UChar *)zRight, nRight/2); - switch( res ){ - case UCOL_LESS: return -1; - case UCOL_GREATER: return +1; - case UCOL_EQUAL: return 0; + sqlite3_free(zReport); } - assert(!"Unexpected return value from ucol_strcoll()"); - return 0; } +/* Conditionally include the geopoly code */ +#ifdef SQLITE_ENABLE_GEOPOLY +/************** Include geopoly.c in the middle of rtree.c *******************/ +/************** Begin file geopoly.c *****************************************/ /* -** Implementation of the scalar function icu_load_collation(). +** 2018-05-25 ** -** This scalar function is used to add ICU collation based collation -** types to an SQLite database connection. It is intended to be called -** as follows: +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: ** -** SELECT icu_load_collation(, ); +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. ** -** Where is a string containing an ICU locale identifier (i.e. -** "en_AU", "tr_TR" etc.) and is the name of the -** collation sequence to create. +****************************************************************************** +** +** This file implements an alternative R-Tree virtual table that +** uses polygons to express the boundaries of 2-dimensional objects. +** +** This file is #include-ed onto the end of "rtree.c" so that it has +** access to all of the R-Tree internals. */ -static void icuLoadCollation( - sqlite3_context *p, - int nArg, - sqlite3_value **apArg -){ - sqlite3 *db = (sqlite3 *)sqlite3_user_data(p); - UErrorCode status = U_ZERO_ERROR; - const char *zLocale; /* Locale identifier - (eg. "jp_JP") */ - const char *zName; /* SQL Collation sequence name (eg. "japanese") */ - UCollator *pUCollator; /* ICU library collation object */ - int rc; /* Return code from sqlite3_create_collation_x() */ - - assert(nArg==2); - (void)nArg; /* Unused parameter */ - zLocale = (const char *)sqlite3_value_text(apArg[0]); - zName = (const char *)sqlite3_value_text(apArg[1]); - - if( !zLocale || !zName ){ - return; - } - - pUCollator = ucol_open(zLocale, &status); - if( !U_SUCCESS(status) ){ - icuFunctionError(p, "ucol_open", status); - return; - } - assert(p); +/* #include */ - rc = sqlite3_create_collation_v2(db, zName, SQLITE_UTF16, (void *)pUCollator, - icuCollationColl, icuCollationDel - ); - if( rc!=SQLITE_OK ){ - ucol_close(pUCollator); - sqlite3_result_error(p, "Error registering collation function", -1); - } -} +/* Enable -DGEOPOLY_ENABLE_DEBUG for debugging facilities */ +#ifdef GEOPOLY_ENABLE_DEBUG + static int geo_debug = 0; +# define GEODEBUG(X) if(geo_debug)printf X +#else +# define GEODEBUG(X) +#endif +#ifndef JSON_NULL /* The following stuff repeats things found in json1 */ /* -** Register the ICU extension functions with database db. +** Versions of isspace(), isalnum() and isdigit() to which it is safe +** to pass signed char values. */ -SQLITE_PRIVATE int sqlite3IcuInit(sqlite3 *db){ - static const struct IcuScalar { - const char *zName; /* Function name */ - unsigned char nArg; /* Number of arguments */ - unsigned short enc; /* Optimal text encoding */ - unsigned char iContext; /* sqlite3_user_data() context */ - void (*xFunc)(sqlite3_context*,int,sqlite3_value**); - } scalars[] = { - {"icu_load_collation", 2, SQLITE_UTF8, 1, icuLoadCollation}, -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) - {"regexp", 2, SQLITE_ANY|SQLITE_DETERMINISTIC, 0, icuRegexpFunc}, - {"lower", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"lower", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"upper", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, - {"upper", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, - {"lower", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"lower", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"upper", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, - {"upper", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, - {"like", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, - {"like", 3, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, -#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ - }; - int rc = SQLITE_OK; - int i; - - for(i=0; rc==SQLITE_OK && i<(int)(sizeof(scalars)/sizeof(scalars[0])); i++){ - const struct IcuScalar *p = &scalars[i]; - rc = sqlite3_create_function( - db, p->zName, p->nArg, p->enc, - p->iContext ? (void*)db : (void*)0, - p->xFunc, 0, 0 - ); - } +#ifdef sqlite3Isdigit + /* Use the SQLite core versions if this routine is part of the + ** SQLite amalgamation */ +# define safe_isdigit(x) sqlite3Isdigit(x) +# define safe_isalnum(x) sqlite3Isalnum(x) +# define safe_isxdigit(x) sqlite3Isxdigit(x) +#else + /* Use the standard library for separate compilation */ +#include /* amalgamator: keep */ +# define safe_isdigit(x) isdigit((unsigned char)(x)) +# define safe_isalnum(x) isalnum((unsigned char)(x)) +# define safe_isxdigit(x) isxdigit((unsigned char)(x)) +#endif - return rc; -} +/* +** Growing our own isspace() routine this way is twice as fast as +** the library isspace() function. +*/ +static const char geopolyIsSpace[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; +#define safe_isspace(x) (geopolyIsSpace[(unsigned char)x]) +#endif /* JSON NULL - back to original code */ -#if !SQLITE_CORE -#ifdef _WIN32 -__declspec(dllexport) +/* Compiler and version */ +#ifndef GCC_VERSION +#if defined(__GNUC__) && !defined(SQLITE_DISABLE_INTRINSIC) +# define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__) +#else +# define GCC_VERSION 0 #endif -SQLITE_API int sqlite3_icu_init( - sqlite3 *db, - char **pzErrMsg, - const sqlite3_api_routines *pApi -){ - SQLITE_EXTENSION_INIT2(pApi) - return sqlite3IcuInit(db); -} #endif - +#ifndef MSVC_VERSION +#if defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC) +# define MSVC_VERSION _MSC_VER +#else +# define MSVC_VERSION 0 +#endif #endif -/************** End of icu.c *************************************************/ -/************** Begin file fts3_icu.c ****************************************/ +/* Datatype for coordinates +*/ +typedef float GeoCoord; + /* -** 2007 June 22 +** Internal representation of a polygon. ** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: +** The polygon consists of a sequence of vertexes. There is a line +** segment between each pair of vertexes, and one final segment from +** the last vertex back to the first. (This differs from the GeoJSON +** standard in which the final vertex is a repeat of the first.) ** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. +** The polygon follows the right-hand rule. The area to the right of +** each segment is "outside" and the area to the left is "inside". ** -************************************************************************* -** This file implements a tokenizer for fts3 based on the ICU library. +** The on-disk representation consists of a 4-byte header followed by +** the values. The 4-byte header is: +** +** encoding (1 byte) 0=big-endian, 1=little-endian +** nvertex (3 bytes) Number of vertexes as a big-endian integer +** +** Enough space is allocated for 4 coordinates, to work around over-zealous +** warnings coming from some compiler (notably, clang). In reality, the size +** of each GeoPoly memory allocate is adjusted as necessary so that the +** GeoPoly.a[] array at the end is the appropriate size. */ -/* #include "fts3Int.h" */ -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) -#ifdef SQLITE_ENABLE_ICU - -/* #include */ -/* #include */ -/* #include "fts3_tokenizer.h" */ - -#include -/* #include */ -/* #include */ -#include - -typedef struct IcuTokenizer IcuTokenizer; -typedef struct IcuCursor IcuCursor; - -struct IcuTokenizer { - sqlite3_tokenizer base; - char *zLocale; +typedef struct GeoPoly GeoPoly; +struct GeoPoly { + int nVertex; /* Number of vertexes */ + unsigned char hdr[4]; /* Header for on-disk representation */ + GeoCoord a[8]; /* 2*nVertex values. X (longitude) first, then Y */ }; -struct IcuCursor { - sqlite3_tokenizer_cursor base; - - UBreakIterator *pIter; /* ICU break-iterator object */ - int nChar; /* Number of UChar elements in pInput */ - UChar *aChar; /* Copy of input using utf-16 encoding */ - int *aOffset; /* Offsets of each character in utf-8 input */ - - int nBuffer; - char *zBuffer; - - int iToken; -}; +/* The size of a memory allocation needed for a GeoPoly object sufficient +** to hold N coordinate pairs. +*/ +#define GEOPOLY_SZ(N) (sizeof(GeoPoly) + sizeof(GeoCoord)*2*((N)-4)) /* -** Create a new tokenizer instance. +** State of a parse of a GeoJSON input. */ -static int icuCreate( - int argc, /* Number of entries in argv[] */ - const char * const *argv, /* Tokenizer creation arguments */ - sqlite3_tokenizer **ppTokenizer /* OUT: Created tokenizer */ -){ - IcuTokenizer *p; - int n = 0; - - if( argc>0 ){ - n = strlen(argv[0])+1; - } - p = (IcuTokenizer *)sqlite3_malloc(sizeof(IcuTokenizer)+n); - if( !p ){ - return SQLITE_NOMEM; - } - memset(p, 0, sizeof(IcuTokenizer)); - - if( n ){ - p->zLocale = (char *)&p[1]; - memcpy(p->zLocale, argv[0], n); - } - - *ppTokenizer = (sqlite3_tokenizer *)p; +typedef struct GeoParse GeoParse; +struct GeoParse { + const unsigned char *z; /* Unparsed input */ + int nVertex; /* Number of vertexes in a[] */ + int nAlloc; /* Space allocated to a[] */ + int nErr; /* Number of errors encountered */ + GeoCoord *a; /* Array of vertexes. From sqlite3_malloc64() */ +}; - return SQLITE_OK; +/* Do a 4-byte byte swap */ +static void geopolySwab32(unsigned char *a){ + unsigned char t = a[0]; + a[0] = a[3]; + a[3] = t; + t = a[1]; + a[1] = a[2]; + a[2] = t; } -/* -** Destroy a tokenizer -*/ -static int icuDestroy(sqlite3_tokenizer *pTokenizer){ - IcuTokenizer *p = (IcuTokenizer *)pTokenizer; - sqlite3_free(p); - return SQLITE_OK; +/* Skip whitespace. Return the next non-whitespace character. */ +static char geopolySkipSpace(GeoParse *p){ + while( safe_isspace(p->z[0]) ) p->z++; + return p->z[0]; } -/* -** Prepare to begin tokenizing a particular string. The input -** string to be tokenized is pInput[0..nBytes-1]. A cursor -** used to incrementally tokenize this string is returned in -** *ppCursor. +/* Parse out a number. Write the value into *pVal if pVal!=0. +** return non-zero on success and zero if the next token is not a number. */ -static int icuOpen( - sqlite3_tokenizer *pTokenizer, /* The tokenizer */ - const char *zInput, /* Input string */ - int nInput, /* Length of zInput in bytes */ - sqlite3_tokenizer_cursor **ppCursor /* OUT: Tokenization cursor */ -){ - IcuTokenizer *p = (IcuTokenizer *)pTokenizer; - IcuCursor *pCsr; - - const int32_t opt = U_FOLD_CASE_DEFAULT; - UErrorCode status = U_ZERO_ERROR; - int nChar; - - UChar32 c; - int iInput = 0; - int iOut = 0; - - *ppCursor = 0; - - if( zInput==0 ){ - nInput = 0; - zInput = ""; - }else if( nInput<0 ){ - nInput = strlen(zInput); - } - nChar = nInput+1; - pCsr = (IcuCursor *)sqlite3_malloc( - sizeof(IcuCursor) + /* IcuCursor */ - ((nChar+3)&~3) * sizeof(UChar) + /* IcuCursor.aChar[] */ - (nChar+1) * sizeof(int) /* IcuCursor.aOffset[] */ - ); - if( !pCsr ){ - return SQLITE_NOMEM; +static int geopolyParseNumber(GeoParse *p, GeoCoord *pVal){ + char c = geopolySkipSpace(p); + const unsigned char *z = p->z; + int j = 0; + int seenDP = 0; + int seenE = 0; + if( c=='-' ){ + j = 1; + c = z[j]; } - memset(pCsr, 0, sizeof(IcuCursor)); - pCsr->aChar = (UChar *)&pCsr[1]; - pCsr->aOffset = (int *)&pCsr->aChar[(nChar+3)&~3]; - - pCsr->aOffset[iOut] = iInput; - U8_NEXT(zInput, iInput, nInput, c); - while( c>0 ){ - int isError = 0; - c = u_foldCase(c, opt); - U16_APPEND(pCsr->aChar, iOut, nChar, c, isError); - if( isError ){ - sqlite3_free(pCsr); - return SQLITE_ERROR; + if( c=='0' && z[j+1]>='0' && z[j+1]<='9' ) return 0; + for(;; j++){ + c = z[j]; + if( safe_isdigit(c) ) continue; + if( c=='.' ){ + if( z[j-1]=='-' ) return 0; + if( seenDP ) return 0; + seenDP = 1; + continue; } - pCsr->aOffset[iOut] = iInput; - - if( iInput'9' ) return 0; + continue; } + break; } - - pCsr->pIter = ubrk_open(UBRK_WORD, p->zLocale, pCsr->aChar, iOut, &status); - if( !U_SUCCESS(status) ){ - sqlite3_free(pCsr); - return SQLITE_ERROR; + if( z[j-1]<'0' ) return 0; + if( pVal ){ +#ifdef SQLITE_AMALGAMATION + /* The sqlite3AtoF() routine is much much faster than atof(), if it + ** is available */ + double r; + (void)sqlite3AtoF((const char*)p->z, &r, j, SQLITE_UTF8); + *pVal = r; +#else + *pVal = (GeoCoord)atof((const char*)p->z); +#endif } - pCsr->nChar = iOut; - - ubrk_first(pCsr->pIter); - *ppCursor = (sqlite3_tokenizer_cursor *)pCsr; - return SQLITE_OK; + p->z += j; + return 1; } /* -** Close a tokenization cursor previously opened by a call to icuOpen(). +** If the input is a well-formed JSON array of coordinates with at least +** four coordinates and where each coordinate is itself a two-value array, +** then convert the JSON into a GeoPoly object and return a pointer to +** that object. +** +** If any error occurs, return NULL. */ -static int icuClose(sqlite3_tokenizer_cursor *pCursor){ - IcuCursor *pCsr = (IcuCursor *)pCursor; - ubrk_close(pCsr->pIter); - sqlite3_free(pCsr->zBuffer); - sqlite3_free(pCsr); - return SQLITE_OK; +static GeoPoly *geopolyParseJson(const unsigned char *z, int *pRc){ + GeoParse s; + int rc = SQLITE_OK; + memset(&s, 0, sizeof(s)); + s.z = z; + if( geopolySkipSpace(&s)=='[' ){ + s.z++; + while( geopolySkipSpace(&s)=='[' ){ + int ii = 0; + char c; + s.z++; + if( s.nVertex>=s.nAlloc ){ + GeoCoord *aNew; + s.nAlloc = s.nAlloc*2 + 16; + aNew = sqlite3_realloc64(s.a, s.nAlloc*sizeof(GeoCoord)*2 ); + if( aNew==0 ){ + rc = SQLITE_NOMEM; + s.nErr++; + break; + } + s.a = aNew; + } + while( geopolyParseNumber(&s, ii<=1 ? &s.a[s.nVertex*2+ii] : 0) ){ + ii++; + if( ii==2 ) s.nVertex++; + c = geopolySkipSpace(&s); + s.z++; + if( c==',' ) continue; + if( c==']' && ii>=2 ) break; + s.nErr++; + rc = SQLITE_ERROR; + goto parse_json_err; + } + if( geopolySkipSpace(&s)==',' ){ + s.z++; + continue; + } + break; + } + if( geopolySkipSpace(&s)==']' + && s.nVertex>=4 + && s.a[0]==s.a[s.nVertex*2-2] + && s.a[1]==s.a[s.nVertex*2-1] + && (s.z++, geopolySkipSpace(&s)==0) + ){ + GeoPoly *pOut; + int x = 1; + s.nVertex--; /* Remove the redundant vertex at the end */ + pOut = sqlite3_malloc64( GEOPOLY_SZ(s.nVertex) ); + x = 1; + if( pOut==0 ) goto parse_json_err; + pOut->nVertex = s.nVertex; + memcpy(pOut->a, s.a, s.nVertex*2*sizeof(GeoCoord)); + pOut->hdr[0] = *(unsigned char*)&x; + pOut->hdr[1] = (s.nVertex>>16)&0xff; + pOut->hdr[2] = (s.nVertex>>8)&0xff; + pOut->hdr[3] = s.nVertex&0xff; + sqlite3_free(s.a); + if( pRc ) *pRc = SQLITE_OK; + return pOut; + }else{ + s.nErr++; + rc = SQLITE_ERROR; + } + } +parse_json_err: + if( pRc ) *pRc = rc; + sqlite3_free(s.a); + return 0; } /* -** Extract the next token from a tokenization cursor. +** Given a function parameter, try to interpret it as a polygon, either +** in the binary format or JSON text. Compute a GeoPoly object and +** return a pointer to that object. Or if the input is not a well-formed +** polygon, put an error message in sqlite3_context and return NULL. */ -static int icuNext( - sqlite3_tokenizer_cursor *pCursor, /* Cursor returned by simpleOpen */ - const char **ppToken, /* OUT: *ppToken is the token text */ - int *pnBytes, /* OUT: Number of bytes in token */ - int *piStartOffset, /* OUT: Starting offset of token */ - int *piEndOffset, /* OUT: Ending offset of token */ - int *piPosition /* OUT: Position integer of token */ +static GeoPoly *geopolyFuncParam( + sqlite3_context *pCtx, /* Context for error messages */ + sqlite3_value *pVal, /* The value to decode */ + int *pRc /* Write error here */ ){ - IcuCursor *pCsr = (IcuCursor *)pCursor; - - int iStart = 0; - int iEnd = 0; - int nByte = 0; - - while( iStart==iEnd ){ - UChar32 c; - - iStart = ubrk_current(pCsr->pIter); - iEnd = ubrk_next(pCsr->pIter); - if( iEnd==UBRK_DONE ){ - return SQLITE_DONE; - } - - while( iStartaChar, iWhite, pCsr->nChar, c); - if( u_isspace(c) ){ - iStart = iWhite; + GeoPoly *p = 0; + int nByte; + if( sqlite3_value_type(pVal)==SQLITE_BLOB + && (nByte = sqlite3_value_bytes(pVal))>=(4+6*sizeof(GeoCoord)) + ){ + const unsigned char *a = sqlite3_value_blob(pVal); + int nVertex; + nVertex = (a[1]<<16) + (a[2]<<8) + a[3]; + if( (a[0]==0 || a[0]==1) + && (nVertex*2*sizeof(GeoCoord) + 4)==(unsigned int)nByte + ){ + p = sqlite3_malloc64( sizeof(*p) + (nVertex-1)*2*sizeof(GeoCoord) ); + if( p==0 ){ + if( pRc ) *pRc = SQLITE_NOMEM; + if( pCtx ) sqlite3_result_error_nomem(pCtx); }else{ - break; + int x = 1; + p->nVertex = nVertex; + memcpy(p->hdr, a, nByte); + if( a[0] != *(unsigned char*)&x ){ + int ii; + for(ii=0; iia[ii]); + } + p->hdr[0] ^= 1; + } } } - assert(iStart<=iEnd); - } - - do { - UErrorCode status = U_ZERO_ERROR; - if( nByte ){ - char *zNew = sqlite3_realloc(pCsr->zBuffer, nByte); - if( !zNew ){ - return SQLITE_NOMEM; - } - pCsr->zBuffer = zNew; - pCsr->nBuffer = nByte; + if( pRc ) *pRc = SQLITE_OK; + return p; + }else if( sqlite3_value_type(pVal)==SQLITE_TEXT ){ + const unsigned char *zJson = sqlite3_value_text(pVal); + if( zJson==0 ){ + if( pRc ) *pRc = SQLITE_NOMEM; + return 0; } - - u_strToUTF8( - pCsr->zBuffer, pCsr->nBuffer, &nByte, /* Output vars */ - &pCsr->aChar[iStart], iEnd-iStart, /* Input vars */ - &status /* Output success/failure */ - ); - } while( nByte>pCsr->nBuffer ); - - *ppToken = pCsr->zBuffer; - *pnBytes = nByte; - *piStartOffset = pCsr->aOffset[iStart]; - *piEndOffset = pCsr->aOffset[iEnd]; - *piPosition = pCsr->iToken++; - - return SQLITE_OK; + return geopolyParseJson(zJson, pRc); + }else{ + if( pRc ) *pRc = SQLITE_ERROR; + return 0; + } } /* -** The set of routines that implement the simple tokenizer -*/ -static const sqlite3_tokenizer_module icuTokenizerModule = { - 0, /* iVersion */ - icuCreate, /* xCreate */ - icuDestroy, /* xCreate */ - icuOpen, /* xOpen */ - icuClose, /* xClose */ - icuNext, /* xNext */ - 0, /* xLanguageid */ -}; - -/* -** Set *ppModule to point at the implementation of the ICU tokenizer. +** Implementation of the geopoly_blob(X) function. +** +** If the input is a well-formed Geopoly BLOB or JSON string +** then return the BLOB representation of the polygon. Otherwise +** return NULL. */ -SQLITE_PRIVATE void sqlite3Fts3IcuTokenizerModule( - sqlite3_tokenizer_module const**ppModule +static void geopolyBlobFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv ){ - *ppModule = &icuTokenizerModule; + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + if( p ){ + sqlite3_result_blob(context, p->hdr, + 4+8*p->nVertex, SQLITE_TRANSIENT); + sqlite3_free(p); + } } -#endif /* defined(SQLITE_ENABLE_ICU) */ -#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) */ - -/************** End of fts3_icu.c ********************************************/ -/************** Begin file sqlite3rbu.c **************************************/ /* -** 2014 August 30 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** -** -** OVERVIEW -** -** The RBU extension requires that the RBU update be packaged as an -** SQLite database. The tables it expects to find are described in -** sqlite3rbu.h. Essentially, for each table xyz in the target database -** that the user wishes to write to, a corresponding data_xyz table is -** created in the RBU database and populated with one row for each row to -** update, insert or delete from the target table. -** -** The update proceeds in three stages: -** -** 1) The database is updated. The modified database pages are written -** to a *-oal file. A *-oal file is just like a *-wal file, except -** that it is named "-oal" instead of "-wal". -** Because regular SQLite clients do not look for file named -** "-oal", they go on using the original database in -** rollback mode while the *-oal file is being generated. -** -** During this stage RBU does not update the database by writing -** directly to the target tables. Instead it creates "imposter" -** tables using the SQLITE_TESTCTRL_IMPOSTER interface that it uses -** to update each b-tree individually. All updates required by each -** b-tree are completed before moving on to the next, and all -** updates are done in sorted key order. -** -** 2) The "-oal" file is moved to the equivalent "-wal" -** location using a call to rename(2). Before doing this the RBU -** module takes an EXCLUSIVE lock on the database file, ensuring -** that there are no other active readers. -** -** Once the EXCLUSIVE lock is released, any other database readers -** detect the new *-wal file and read the database in wal mode. At -** this point they see the new version of the database - including -** the updates made as part of the RBU update. -** -** 3) The new *-wal file is checkpointed. This proceeds in the same way -** as a regular database checkpoint, except that a single frame is -** checkpointed each time sqlite3rbu_step() is called. If the RBU -** handle is closed before the entire *-wal file is checkpointed, -** the checkpoint progress is saved in the RBU database and the -** checkpoint can be resumed by another RBU client at some point in -** the future. -** -** POTENTIAL PROBLEMS -** -** The rename() call might not be portable. And RBU is not currently -** syncing the directory after renaming the file. -** -** When state is saved, any commit to the *-oal file and the commit to -** the RBU update database are not atomic. So if the power fails at the -** wrong moment they might get out of sync. As the main database will be -** committed before the RBU update database this will likely either just -** pass unnoticed, or result in SQLITE_CONSTRAINT errors (due to UNIQUE -** constraint violations). -** -** If some client does modify the target database mid RBU update, or some -** other error occurs, the RBU extension will keep throwing errors. It's -** not really clear how to get out of this state. The system could just -** by delete the RBU update database and *-oal file and have the device -** download the update again and start over. +** SQL function: geopoly_json(X) ** -** At present, for an UPDATE, both the new.* and old.* records are -** collected in the rbu_xyz table. And for both UPDATEs and DELETEs all -** fields are collected. This means we're probably writing a lot more -** data to disk when saving the state of an ongoing update to the RBU -** update database than is strictly necessary. -** +** Interpret X as a polygon and render it as a JSON array +** of coordinates. Or, if X is not a valid polygon, return NULL. */ +static void geopolyJsonFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + if( p ){ + sqlite3 *db = sqlite3_context_db_handle(context); + sqlite3_str *x = sqlite3_str_new(db); + 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]]", p->a[0], p->a[1]); + sqlite3_result_text(context, sqlite3_str_finish(x), -1, sqlite3_free); + sqlite3_free(p); + } +} -/* #include */ -/* #include */ -/* #include */ - -/* #include "sqlite3.h" */ - -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_RBU) -/************** Include sqlite3rbu.h in the middle of sqlite3rbu.c ***********/ -/************** Begin file sqlite3rbu.h **************************************/ /* -** 2014 August 30 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* +** SQL function: geopoly_svg(X, ....) ** -** This file contains the public interface for the RBU extension. +** Interpret X as a polygon and render it as a SVG . +** Additional arguments are added as attributes to the . */ +static void geopolySvgFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + if( p ){ + sqlite3 *db = sqlite3_context_db_handle(context); + sqlite3_str *x = sqlite3_str_new(db); + int i; + char cSep = '\''; + sqlite3_str_appendf(x, "a[i*2], p->a[i*2+1]); + cSep = ' '; + } + sqlite3_str_appendf(x, " %g,%g'", p->a[0], p->a[1]); + for(i=1; i"); + sqlite3_result_text(context, sqlite3_str_finish(x), -1, sqlite3_free); + sqlite3_free(p); + } +} /* -** SUMMARY -** -** Writing a transaction containing a large number of operations on -** b-tree indexes that are collectively larger than the available cache -** memory can be very inefficient. -** -** The problem is that in order to update a b-tree, the leaf page (at least) -** containing the entry being inserted or deleted must be modified. If the -** working set of leaves is larger than the available cache memory, then a -** single leaf that is modified more than once as part of the transaction -** may be loaded from or written to the persistent media multiple times. -** Additionally, because the index updates are likely to be applied in -** random order, access to pages within the database is also likely to be in -** random order, which is itself quite inefficient. -** -** One way to improve the situation is to sort the operations on each index -** by index key before applying them to the b-tree. This leads to an IO -** pattern that resembles a single linear scan through the index b-tree, -** and all but guarantees each modified leaf page is loaded and stored -** exactly once. SQLite uses this trick to improve the performance of -** CREATE INDEX commands. This extension allows it to be used to improve -** the performance of large transactions on existing databases. -** -** Additionally, this extension allows the work involved in writing the -** large transaction to be broken down into sub-transactions performed -** sequentially by separate processes. This is useful if the system cannot -** guarantee that a single update process will run for long enough to apply -** the entire update, for example because the update is being applied on a -** mobile device that is frequently rebooted. Even after the writer process -** has committed one or more sub-transactions, other database clients continue -** to read from the original database snapshot. In other words, partially -** applied transactions are not visible to other clients. -** -** "RBU" stands for "Resumable Bulk Update". As in a large database update -** transmitted via a wireless network to a mobile device. A transaction -** applied using this extension is hence refered to as an "RBU update". -** -** -** LIMITATIONS -** -** An "RBU update" transaction is subject to the following limitations: -** -** * The transaction must consist of INSERT, UPDATE and DELETE operations -** only. -** -** * INSERT statements may not use any default values. -** -** * UPDATE and DELETE statements must identify their target rows by -** non-NULL PRIMARY KEY values. Rows with NULL values stored in PRIMARY -** KEY fields may not be updated or deleted. If the table being written -** has no PRIMARY KEY, affected rows must be identified by rowid. -** -** * UPDATE statements may not modify PRIMARY KEY columns. -** -** * No triggers will be fired. -** -** * No foreign key violations are detected or reported. -** -** * CHECK constraints are not enforced. -** -** * No constraint handling mode except for "OR ROLLBACK" is supported. -** -** -** PREPARATION -** -** An "RBU update" is stored as a separate SQLite database. A database -** containing an RBU update is an "RBU database". For each table in the -** target database to be updated, the RBU database should contain a table -** named "data_" containing the same set of columns as the -** target table, and one more - "rbu_control". The data_% table should -** have no PRIMARY KEY or UNIQUE constraints, but each column should have -** the same type as the corresponding column in the target database. -** The "rbu_control" column should have no type at all. For example, if -** the target database contains: -** -** CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c UNIQUE); -** -** Then the RBU database should contain: -** -** CREATE TABLE data_t1(a INTEGER, b TEXT, c, rbu_control); -** -** The order of the columns in the data_% table does not matter. -** -** Instead of a regular table, the RBU database may also contain virtual -** tables or view named using the data_ naming scheme. -** -** Instead of the plain data_ naming scheme, RBU database tables -** may also be named data_, where is any sequence -** of zero or more numeric characters (0-9). This can be significant because -** tables within the RBU database are always processed in order sorted by -** name. By judicious selection of the portion of the names -** of the RBU tables the user can therefore control the order in which they -** are processed. This can be useful, for example, to ensure that "external -** content" FTS4 tables are updated before their underlying content tables. -** -** If the target database table is a virtual table or a table that has no -** PRIMARY KEY declaration, the data_% table must also contain a column -** named "rbu_rowid". This column is mapped to the tables implicit primary -** key column - "rowid". Virtual tables for which the "rowid" column does -** not function like a primary key value cannot be updated using RBU. For -** example, if the target db contains either of the following: -** -** CREATE VIRTUAL TABLE x1 USING fts3(a, b); -** CREATE TABLE x1(a, b) -** -** then the RBU database should contain: -** -** CREATE TABLE data_x1(a, b, rbu_rowid, rbu_control); -** -** All non-hidden columns (i.e. all columns matched by "SELECT *") of the -** target table must be present in the input table. For virtual tables, -** hidden columns are optional - they are updated by RBU if present in -** the input table, or not otherwise. For example, to write to an fts4 -** table with a hidden languageid column such as: -** -** CREATE VIRTUAL TABLE ft1 USING fts4(a, b, languageid='langid'); -** -** Either of the following input table schemas may be used: -** -** CREATE TABLE data_ft1(a, b, langid, rbu_rowid, rbu_control); -** CREATE TABLE data_ft1(a, b, rbu_rowid, rbu_control); -** -** For each row to INSERT into the target database as part of the RBU -** update, the corresponding data_% table should contain a single record -** with the "rbu_control" column set to contain integer value 0. The -** other columns should be set to the values that make up the new record -** to insert. -** -** If the target database table has an INTEGER PRIMARY KEY, it is not -** possible to insert a NULL value into the IPK column. Attempting to -** do so results in an SQLITE_MISMATCH error. -** -** For each row to DELETE from the target database as part of the RBU -** update, the corresponding data_% table should contain a single record -** with the "rbu_control" column set to contain integer value 1. The -** real primary key values of the row to delete should be stored in the -** corresponding columns of the data_% table. The values stored in the -** other columns are not used. -** -** For each row to UPDATE from the target database as part of the RBU -** update, the corresponding data_% table should contain a single record -** with the "rbu_control" column set to contain a value of type text. -** The real primary key values identifying the row to update should be -** stored in the corresponding columns of the data_% table row, as should -** the new values of all columns being update. The text value in the -** "rbu_control" column must contain the same number of characters as -** there are columns in the target database table, and must consist entirely -** of 'x' and '.' characters (or in some special cases 'd' - see below). For -** each column that is being updated, the corresponding character is set to -** 'x'. For those that remain as they are, the corresponding character of the -** rbu_control value should be set to '.'. For example, given the tables -** above, the update statement: -** -** UPDATE t1 SET c = 'usa' WHERE a = 4; -** -** is represented by the data_t1 row created by: -** -** INSERT INTO data_t1(a, b, c, rbu_control) VALUES(4, NULL, 'usa', '..x'); -** -** Instead of an 'x' character, characters of the rbu_control value specified -** for UPDATEs may also be set to 'd'. In this case, instead of updating the -** target table with the value stored in the corresponding data_% column, the -** user-defined SQL function "rbu_delta()" is invoked and the result stored in -** the target table column. rbu_delta() is invoked with two arguments - the -** original value currently stored in the target table column and the -** value specified in the data_xxx table. -** -** For example, this row: -** -** INSERT INTO data_t1(a, b, c, rbu_control) VALUES(4, NULL, 'usa', '..d'); -** -** is similar to an UPDATE statement such as: -** -** UPDATE t1 SET c = rbu_delta(c, 'usa') WHERE a = 4; -** -** Finally, if an 'f' character appears in place of a 'd' or 's' in an -** ota_control string, the contents of the data_xxx table column is assumed -** to be a "fossil delta" - a patch to be applied to a blob value in the -** format used by the fossil source-code management system. In this case -** the existing value within the target database table must be of type BLOB. -** It is replaced by the result of applying the specified fossil delta to -** itself. -** -** If the target database table is a virtual table or a table with no PRIMARY -** KEY, the rbu_control value should not include a character corresponding -** to the rbu_rowid value. For example, this: -** -** INSERT INTO data_ft1(a, b, rbu_rowid, rbu_control) -** VALUES(NULL, 'usa', 12, '.x'); -** -** causes a result similar to: -** -** UPDATE ft1 SET b = 'usa' WHERE rowid = 12; -** -** The data_xxx tables themselves should have no PRIMARY KEY declarations. -** However, RBU is more efficient if reading the rows in from each data_xxx -** table in "rowid" order is roughly the same as reading them sorted by -** the PRIMARY KEY of the corresponding target database table. In other -** words, rows should be sorted using the destination table PRIMARY KEY -** fields before they are inserted into the data_xxx tables. -** -** USAGE -** -** The API declared below allows an application to apply an RBU update -** stored on disk to an existing target database. Essentially, the -** application: -** -** 1) Opens an RBU handle using the sqlite3rbu_open() function. -** -** 2) Registers any required virtual table modules with the database -** handle returned by sqlite3rbu_db(). Also, if required, register -** the rbu_delta() implementation. -** -** 3) Calls the sqlite3rbu_step() function one or more times on -** the new handle. Each call to sqlite3rbu_step() performs a single -** b-tree operation, so thousands of calls may be required to apply -** a complete update. -** -** 4) Calls sqlite3rbu_close() to close the RBU update handle. If -** sqlite3rbu_step() has been called enough times to completely -** apply the update to the target database, then the RBU database -** is marked as fully applied. Otherwise, the state of the RBU -** update application is saved in the RBU database for later -** resumption. -** -** See comments below for more detail on APIs. +** SQL Function: geopoly_xform(poly, A, B, C, D, E, F) ** -** If an update is only partially applied to the target database by the -** time sqlite3rbu_close() is called, various state information is saved -** within the RBU database. This allows subsequent processes to automatically -** resume the RBU update from where it left off. +** Transform and/or translate a polygon as follows: ** -** To remove all RBU extension state information, returning an RBU database -** to its original contents, it is sufficient to drop all tables that begin -** with the prefix "rbu_" +** x1 = A*x0 + B*y0 + E +** y1 = C*x0 + D*y0 + F ** -** DATABASE LOCKING +** For a translation: ** -** An RBU update may not be applied to a database in WAL mode. Attempting -** to do so is an error (SQLITE_ERROR). +** geopoly_xform(poly, 1, 0, 0, 1, x-offset, y-offset) ** -** While an RBU handle is open, a SHARED lock may be held on the target -** database file. This means it is possible for other clients to read the -** database, but not to write it. +** Rotate by R around the point (0,0): ** -** If an RBU update is started and then suspended before it is completed, -** then an external client writes to the database, then attempting to resume -** the suspended RBU update is also an error (SQLITE_BUSY). +** geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) */ - -#ifndef _SQLITE3RBU_H -#define _SQLITE3RBU_H - -/* #include "sqlite3.h" ** Required for error code definitions ** */ - -#if 0 -extern "C" { -#endif - -typedef struct sqlite3rbu sqlite3rbu; +static void geopolyXformFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + double A = sqlite3_value_double(argv[1]); + double B = sqlite3_value_double(argv[2]); + double C = sqlite3_value_double(argv[3]); + double D = sqlite3_value_double(argv[4]); + double E = sqlite3_value_double(argv[5]); + double F = sqlite3_value_double(argv[6]); + GeoCoord x1, y1, x0, y0; + int ii; + if( p ){ + for(ii=0; iinVertex; ii++){ + x0 = p->a[ii*2]; + y0 = p->a[ii*2+1]; + 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; + } + sqlite3_result_blob(context, p->hdr, + 4+8*p->nVertex, SQLITE_TRANSIENT); + sqlite3_free(p); + } +} /* -** Open an RBU handle. -** -** Argument zTarget is the path to the target database. Argument zRbu is -** the path to the RBU database. Each call to this function must be matched -** by a call to sqlite3rbu_close(). When opening the databases, RBU passes -** the SQLITE_CONFIG_URI flag to sqlite3_open_v2(). So if either zTarget -** or zRbu begin with "file:", it will be interpreted as an SQLite -** database URI, not a regular file name. -** -** If the zState argument is passed a NULL value, the RBU extension stores -** the current state of the update (how many rows have been updated, which -** indexes are yet to be updated etc.) within the RBU database itself. This -** can be convenient, as it means that the RBU application does not need to -** organize removing a separate state file after the update is concluded. -** Or, if zState is non-NULL, it must be a path to a database file in which -** the RBU extension can store the state of the update. -** -** When resuming an RBU update, the zState argument must be passed the same -** value as when the RBU update was started. -** -** Once the RBU update is finished, the RBU extension does not -** automatically remove any zState database file, even if it created it. +** Compute the area enclosed by the polygon. ** -** By default, RBU uses the default VFS to access the files on disk. To -** use a VFS other than the default, an SQLite "file:" URI containing a -** "vfs=..." option may be passed as the zTarget option. +** This routine can also be used to detect polygons that rotate in +** the wrong direction. Polygons are suppose to be counter-clockwise (CCW). +** This routine returns a negative value for clockwise (CW) polygons. +*/ +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) */ + * 0.5; + } + rArea += (p->a[ii*2] - p->a[0]) /* (xN - x0) */ + * (p->a[ii*2+1] + p->a[1]) /* (yN + y0) */ + * 0.5; + return rArea; +} + +/* +** Implementation of the geopoly_area(X) function. ** -** IMPORTANT NOTE FOR ZIPVFS USERS: The RBU extension works with all of -** SQLite's built-in VFSs, including the multiplexor VFS. However it does -** not work out of the box with zipvfs. Refer to the comment describing -** the zipvfs_create_vfs() API below for details on using RBU with zipvfs. +** If the input is a well-formed Geopoly BLOB then return the area +** enclosed by the polygon. If the polygon circulates clockwise instead +** of counterclockwise (as it should) then return the negative of the +** enclosed area. Otherwise return NULL. */ -SQLITE_API sqlite3rbu *sqlite3rbu_open( - const char *zTarget, - const char *zRbu, - const char *zState -); +static void geopolyAreaFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + if( p ){ + sqlite3_result_double(context, geopolyArea(p)); + sqlite3_free(p); + } +} /* -** Open an RBU handle to perform an RBU vacuum on database file zTarget. -** An RBU vacuum is similar to SQLite's built-in VACUUM command, except -** that it can be suspended and resumed like an RBU update. +** Implementation of the geopoly_ccw(X) function. ** -** The second argument to this function identifies a database in which -** to store the state of the RBU vacuum operation if it is suspended. The -** first time sqlite3rbu_vacuum() is called, to start an RBU vacuum -** operation, the state database should either not exist or be empty -** (contain no tables). If an RBU vacuum is suspended by calling -** sqlite3rbu_close() on the RBU handle before sqlite3rbu_step() has -** returned SQLITE_DONE, the vacuum state is stored in the state database. -** The vacuum can be resumed by calling this function to open a new RBU -** handle specifying the same target and state databases. +** If the rotation of polygon X is clockwise (incorrect) instead of +** counter-clockwise (the correct winding order according to RFC7946) +** then reverse the order of the vertexes in polygon X. ** -** If the second argument passed to this function is NULL, then the -** 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. +** In other words, this routine returns a CCW polygon regardless of the +** winding order of its input. ** -** This function does not delete the state database after an RBU vacuum -** is completed, even if it created it. However, if the call to -** sqlite3rbu_close() returns any value other than SQLITE_OK, the contents -** of the state tables within the state database are zeroed. This way, -** the next call to sqlite3rbu_vacuum() opens a handle that starts a -** new RBU vacuum operation. +** Use this routine to sanitize historical inputs that that sometimes +** contain polygons that wind in the wrong direction. +*/ +static void geopolyCcwFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + 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; + } + } + sqlite3_result_blob(context, p->hdr, + 4+8*p->nVertex, SQLITE_TRANSIENT); + sqlite3_free(p); + } +} + +#define GEOPOLY_PI 3.1415926535897932385 + +/* Fast approximation for sine(X) for X between -0.5*pi and 2*pi +*/ +static double geopolySine(double r){ + assert( r>=-0.5*GEOPOLY_PI && r<=2.0*GEOPOLY_PI ); + if( r>=1.5*GEOPOLY_PI ){ + r -= 2.0*GEOPOLY_PI; + } + if( r>=0.5*GEOPOLY_PI ){ + return -geopolySine(r-GEOPOLY_PI); + }else{ + double r2 = r*r; + double r3 = r2*r; + double r5 = r3*r2; + return 0.9996949*r - 0.1656700*r3 + 0.0075134*r5; + } +} + +/* +** Function: geopoly_regular(X,Y,R,N) ** -** As with sqlite3rbu_open(), Zipvfs users should rever to the comment -** describing the sqlite3rbu_create_vfs() API function below for -** a description of the complications associated with using RBU with -** zipvfs databases. +** Construct a simple, convex, regular polygon centered at X, Y +** with circumradius R and with N sides. */ -SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( - const char *zTarget, - const char *zState -); +static void geopolyRegularFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + double x = sqlite3_value_double(argv[0]); + double y = sqlite3_value_double(argv[1]); + double r = sqlite3_value_double(argv[2]); + int n = sqlite3_value_int(argv[3]); + int i; + GeoPoly *p; + + if( n<3 || r<=0.0 ) return; + if( n>1000 ) n = 1000; + p = sqlite3_malloc64( sizeof(*p) + (n-1)*2*sizeof(GeoCoord) ); + if( p==0 ){ + sqlite3_result_error_nomem(context); + return; + } + i = 1; + p->hdr[0] = *(unsigned char*)&i; + p->hdr[1] = 0; + p->hdr[2] = (n>>8)&0xff; + 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); + } + sqlite3_result_blob(context, p->hdr, 4+8*n, SQLITE_TRANSIENT); + sqlite3_free(p); +} /* -** Configure a limit for the amount of temp space that may be used by -** the RBU handle passed as the first argument. The new limit is specified -** in bytes by the second parameter. If it is positive, the limit is updated. -** If the second parameter to this function is passed zero, then the limit -** is removed entirely. If the second parameter is negative, the limit is -** not modified (this is useful for querying the current limit). +** If pPoly is a polygon, compute its bounding box. Then: ** -** In all cases the returned value is the current limit in bytes (zero -** indicates unlimited). +** (1) if aCoord!=0 store the bounding box in aCoord, returning NULL +** (2) otherwise, compute a GeoPoly for the bounding box and return the +** new GeoPoly ** -** If the temp space limit is exceeded during operation, an SQLITE_FULL -** error is returned. +** If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from +** the bounding box in aCoord and return a pointer to that GeoPoly. */ -SQLITE_API sqlite3_int64 sqlite3rbu_temp_size_limit(sqlite3rbu*, sqlite3_int64); +static GeoPoly *geopolyBBox( + sqlite3_context *context, /* For recording the error */ + sqlite3_value *pPoly, /* The polygon */ + RtreeCoord *aCoord, /* Results here */ + int *pRc /* Error code here */ +){ + GeoPoly *pOut = 0; + GeoPoly *p; + float mnX, mxX, mnY, mxY; + if( pPoly==0 && aCoord!=0 ){ + p = 0; + mnX = aCoord[0].f; + mxX = aCoord[1].f; + mnY = aCoord[2].f; + mxY = aCoord[3].f; + goto geopolyBboxFill; + }else{ + p = geopolyFuncParam(context, pPoly, pRc); + } + if( p ){ + int ii; + mnX = mxX = p->a[0]; + mnY = mxY = p->a[1]; + for(ii=1; iinVertex; ii++){ + double r = p->a[ii*2]; + if( rmxX ) mxX = (float)r; + r = p->a[ii*2+1]; + if( rmxY ) mxY = (float)r; + } + if( pRc ) *pRc = SQLITE_OK; + if( aCoord==0 ){ + geopolyBboxFill: + pOut = sqlite3_realloc(p, GEOPOLY_SZ(4)); + if( pOut==0 ){ + sqlite3_free(p); + if( context ) sqlite3_result_error_nomem(context); + if( pRc ) *pRc = SQLITE_NOMEM; + return 0; + } + pOut->nVertex = 4; + ii = 1; + pOut->hdr[0] = *(unsigned char*)ⅈ + 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; + }else{ + sqlite3_free(p); + aCoord[0].f = mnX; + aCoord[1].f = mxX; + aCoord[2].f = mnY; + aCoord[3].f = mxY; + } + } + return pOut; +} /* -** Return the current amount of temp file space, in bytes, currently used by -** the RBU handle passed as the only argument. +** Implementation of the geopoly_bbox(X) SQL function. */ -SQLITE_API sqlite3_int64 sqlite3rbu_temp_size(sqlite3rbu*); +static void geopolyBBoxFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p = geopolyBBox(context, argv[0], 0, 0); + if( p ){ + sqlite3_result_blob(context, p->hdr, + 4+8*p->nVertex, SQLITE_TRANSIENT); + sqlite3_free(p); + } +} /* -** Internally, each RBU connection uses a separate SQLite database -** connection to access the target and rbu update databases. This -** API allows the application direct access to these database handles. -** -** The first argument passed to this function must be a valid, open, RBU -** handle. The second argument should be passed zero to access the target -** database handle, or non-zero to access the rbu update database handle. -** Accessing the underlying database handles may be useful in the -** following scenarios: -** -** * If any target tables are virtual tables, it may be necessary to -** call sqlite3_create_module() on the target database handle to -** register the required virtual table implementations. +** State vector for the geopoly_group_bbox() aggregate function. +*/ +typedef struct GeoBBox GeoBBox; +struct GeoBBox { + int isInit; + RtreeCoord a[4]; +}; + + +/* +** Implementation of the geopoly_group_bbox(X) aggregate SQL function. +*/ +static void geopolyBBoxStep( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + RtreeCoord a[4]; + int rc = SQLITE_OK; + (void)geopolyBBox(context, argv[0], a, &rc); + if( rc==SQLITE_OK ){ + GeoBBox *pBBox; + pBBox = (GeoBBox*)sqlite3_aggregate_context(context, sizeof(*pBBox)); + if( pBBox==0 ) return; + if( pBBox->isInit==0 ){ + pBBox->isInit = 1; + memcpy(pBBox->a, a, sizeof(RtreeCoord)*4); + }else{ + if( a[0].f < pBBox->a[0].f ) pBBox->a[0] = a[0]; + if( a[1].f > pBBox->a[1].f ) pBBox->a[1] = a[1]; + if( a[2].f < pBBox->a[2].f ) pBBox->a[2] = a[2]; + if( a[3].f > pBBox->a[3].f ) pBBox->a[3] = a[3]; + } + } +} +static void geopolyBBoxFinal( + sqlite3_context *context +){ + GeoPoly *p; + GeoBBox *pBBox; + pBBox = (GeoBBox*)sqlite3_aggregate_context(context, 0); + if( pBBox==0 ) return; + p = geopolyBBox(context, 0, pBBox->a, 0); + if( p ){ + sqlite3_result_blob(context, p->hdr, + 4+8*p->nVertex, SQLITE_TRANSIENT); + sqlite3_free(p); + } +} + + +/* +** Determine if point (x0,y0) is beneath line segment (x1,y1)->(x2,y2). +** Returns: ** -** * If the data_xxx tables in the RBU source database are virtual -** tables, the application may need to call sqlite3_create_module() on -** the rbu update db handle to any required virtual table -** implementations. +** +2 x0,y0 is on the line segement ** -** * If the application uses the "rbu_delta()" feature described above, -** it must use sqlite3_create_function() or similar to register the -** rbu_delta() implementation with the target database handle. +** +1 x0,y0 is beneath line segment ** -** If an error has occurred, either while opening or stepping the RBU object, -** this function may return NULL. The error code and message may be collected -** when sqlite3rbu_close() is called. +** 0 x0,y0 is not on or beneath the line segment or the line segment +** is vertical and x0,y0 is not on the line segment ** -** Database handles returned by this function remain valid until the next -** call to any sqlite3rbu_xxx() function other than sqlite3rbu_db(). +** The left-most coordinate min(x1,x2) is not considered to be part of +** the line segment for the purposes of this analysis. */ -SQLITE_API sqlite3 *sqlite3rbu_db(sqlite3rbu*, int bRbu); +static int pointBeneathLine( + double x0, double y0, + double x1, double y1, + double x2, double y2 +){ + double y; + if( x0==x1 && y0==y1 ) return 2; + if( x1x2 ) return 0; + }else if( x1>x2 ){ + if( x0<=x2 || x0>x1 ) return 0; + }else{ + /* Vertical line segment */ + if( x0!=x1 ) return 0; + if( y0y1 && y0>y2 ) return 0; + return 2; + } + y = y1 + (y2-y1)*(x0-x1)/(x2-x1); + if( y0==y ) return 2; + if( y0nVertex-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]); + 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]); + } + if( v==2 ){ + sqlite3_result_int(context, 1); + }else if( ((v+cnt)&1)==0 ){ + sqlite3_result_int(context, 0); + }else{ + sqlite3_result_int(context, 2); + } + sqlite3_free(p1); +} + +/* Forward declaration */ +static int geopolyOverlap(GeoPoly *p1, GeoPoly *p2); /* -** Force RBU to save its state to disk. +** SQL function: geopoly_within(P1,P2) ** -** If a power failure or application crash occurs during an update, following -** system recovery RBU may resume the update from the point at which the state -** was last saved. In other words, from the most recent successful call to -** sqlite3rbu_close() or this function. +** Return +2 if P1 and P2 are the same polygon +** Return +1 if P2 is contained within P1 +** Return 0 if any part of P2 is on the outside of P1 ** -** SQLITE_OK is returned if successful, or an SQLite error code otherwise. */ -SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *pRbu); +static void geopolyWithinFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p1 = geopolyFuncParam(context, argv[0], 0); + GeoPoly *p2 = geopolyFuncParam(context, argv[1], 0); + if( p1 && p2 ){ + int x = geopolyOverlap(p1, p2); + if( x<0 ){ + sqlite3_result_error_nomem(context); + }else{ + sqlite3_result_int(context, x==2 ? 1 : x==4 ? 2 : 0); + } + } + sqlite3_free(p1); + sqlite3_free(p2); +} + +/* Objects used by the overlap algorihm. */ +typedef struct GeoEvent GeoEvent; +typedef struct GeoSegment GeoSegment; +typedef struct GeoOverlap GeoOverlap; +struct GeoEvent { + double x; /* X coordinate at which event occurs */ + int eType; /* 0 for ADD, 1 for REMOVE */ + GeoSegment *pSeg; /* The segment to be added or removed */ + GeoEvent *pNext; /* Next event in the sorted list */ +}; +struct GeoSegment { + double C, B; /* y = C*x + B */ + double y; /* Current y value */ + float y0; /* Initial y value */ + unsigned char side; /* 1 for p1, 2 for p2 */ + unsigned int idx; /* Which segment within the side */ + GeoSegment *pNext; /* Next segment in a list sorted by y */ +}; +struct GeoOverlap { + GeoEvent *aEvent; /* Array of all events */ + GeoSegment *aSegment; /* Array of all segments */ + int nEvent; /* Number of events */ + int nSegment; /* Number of segments */ +}; /* -** Close an RBU handle. -** -** If the RBU update has been completely applied, mark the RBU database -** as fully applied. Otherwise, assuming no error has occurred, save the -** current state of the RBU update appliation to the RBU database. -** -** If an error has already occurred as part of an sqlite3rbu_step() -** or sqlite3rbu_open() call, or if one occurs within this function, an -** SQLite error code is returned. Additionally, if pzErrmsg is not NULL, -** *pzErrmsg may be set to point to a buffer containing a utf-8 formatted -** English language error message. It is the responsibility of the caller to -** eventually free any such buffer using sqlite3_free(). -** -** Otherwise, if no error occurs, this function returns SQLITE_OK if the -** update has been partially applied, or SQLITE_DONE if it has been -** completely applied. +** Add a single segment and its associated events. +*/ +static void geopolyAddOneSegment( + GeoOverlap *p, + GeoCoord x0, + GeoCoord y0, + GeoCoord x1, + GeoCoord y1, + unsigned char side, + unsigned int idx +){ + GeoSegment *pSeg; + GeoEvent *pEvent; + if( x0==x1 ) return; /* Ignore vertical segments */ + if( x0>x1 ){ + GeoCoord t = x0; + x0 = x1; + x1 = t; + t = y0; + y0 = y1; + y1 = t; + } + pSeg = p->aSegment + p->nSegment; + p->nSegment++; + pSeg->C = (y1-y0)/(x1-x0); + pSeg->B = y1 - x1*pSeg->C; + pSeg->y0 = y0; + pSeg->side = side; + pSeg->idx = idx; + pEvent = p->aEvent + p->nEvent; + p->nEvent++; + pEvent->x = x0; + pEvent->eType = 0; + pEvent->pSeg = pSeg; + pEvent = p->aEvent + p->nEvent; + p->nEvent++; + pEvent->x = x1; + pEvent->eType = 1; + pEvent->pSeg = pSeg; +} + + + +/* +** Insert all segments and events for polygon pPoly. */ -SQLITE_API int sqlite3rbu_close(sqlite3rbu *pRbu, char **pzErrmsg); +static void geopolyAddSegments( + GeoOverlap *p, /* Add segments to this Overlap object */ + GeoPoly *pPoly, /* Take all segments from this polygon */ + unsigned char side /* The side of pPoly */ +){ + unsigned int i; + GeoCoord *x; + for(i=0; i<(unsigned)pPoly->nVertex-1; i++){ + x = pPoly->a + (i*2); + geopolyAddOneSegment(p, x[0], x[1], x[2], x[3], side, i); + } + x = pPoly->a + (i*2); + geopolyAddOneSegment(p, x[0], x[1], pPoly->a[0], pPoly->a[1], side, i); +} /* -** Return the total number of key-value operations (inserts, deletes or -** updates) that have been performed on the target database since the -** current RBU update was started. +** Merge two lists of sorted events by X coordinate */ -SQLITE_API sqlite3_int64 sqlite3rbu_progress(sqlite3rbu *pRbu); +static GeoEvent *geopolyEventMerge(GeoEvent *pLeft, GeoEvent *pRight){ + GeoEvent head, *pLast; + head.pNext = 0; + pLast = &head; + while( pRight && pLeft ){ + if( pRight->x <= pLeft->x ){ + pLast->pNext = pRight; + pLast = pRight; + pRight = pRight->pNext; + }else{ + pLast->pNext = pLeft; + pLast = pLeft; + pLeft = pLeft->pNext; + } + } + pLast->pNext = pRight ? pRight : pLeft; + return head.pNext; +} /* -** Obtain permyriadage (permyriadage is to 10000 as percentage is to 100) -** progress indications for the two stages of an RBU update. This API may -** be useful for driving GUI progress indicators and similar. -** -** An RBU update is divided into two stages: -** -** * Stage 1, in which changes are accumulated in an oal/wal file, and -** * Stage 2, in which the contents of the wal file are copied into the -** main database. -** -** The update is visible to non-RBU clients during stage 2. During stage 1 -** non-RBU reader clients may see the original database. -** -** If this API is called during stage 2 of the update, output variable -** (*pnOne) is set to 10000 to indicate that stage 1 has finished and (*pnTwo) -** to a value between 0 and 10000 to indicate the permyriadage progress of -** stage 2. A value of 5000 indicates that stage 2 is half finished, -** 9000 indicates that it is 90% finished, and so on. -** -** If this API is called during stage 1 of the update, output variable -** (*pnTwo) is set to 0 to indicate that stage 2 has not yet started. The -** value to which (*pnOne) is set depends on whether or not the RBU -** database contains an "rbu_count" table. The rbu_count table, if it -** exists, must contain the same columns as the following: -** -** CREATE TABLE rbu_count(tbl TEXT PRIMARY KEY, cnt INTEGER) WITHOUT ROWID; -** -** There must be one row in the table for each source (data_xxx) table within -** the RBU database. The 'tbl' column should contain the name of the source -** table. The 'cnt' column should contain the number of rows within the -** source table. -** -** If the rbu_count table is present and populated correctly and this -** API is called during stage 1, the *pnOne output variable is set to the -** permyriadage progress of the same stage. If the rbu_count table does -** not exist, then (*pnOne) is set to -1 during stage 1. If the rbu_count -** table exists but is not correctly populated, the value of the *pnOne -** output variable during stage 1 is undefined. +** Sort an array of nEvent event objects into a list. */ -SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int*pnTwo); +static GeoEvent *geopolySortEventsByX(GeoEvent *aEvent, int nEvent){ + int mx = 0; + int i, j; + GeoEvent *p; + GeoEvent *a[50]; + for(i=0; ipNext = 0; + for(j=0; j=mx ) mx = j+1; + } + p = 0; + for(i=0; iy - pLeft->y; + if( r==0.0 ) r = pRight->C - pLeft->C; + if( r<0.0 ){ + pLast->pNext = pRight; + pLast = pRight; + pRight = pRight->pNext; + }else{ + pLast->pNext = pLeft; + pLast = pLeft; + pLeft = pLeft->pNext; + } + } + pLast->pNext = pRight ? pRight : pLeft; + return head.pNext; +} + +/* +** Sort a list of GeoSegments in order of increasing Y and in the event of +** a tie, increasing C (slope). +*/ +static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){ + int mx = 0; + int i; + GeoSegment *p; + GeoSegment *a[50]; + while( pList ){ + p = pList; + pList = pList->pNext; + p->pNext = 0; + for(i=0; i=mx ) mx = i+1; + } + p = 0; + for(i=0; inVertex + p2->nVertex + 2; + GeoOverlap *p; + int nByte; + GeoEvent *pThisEvent; + double rX; + int rc = 0; + int needSort = 0; + GeoSegment *pActive = 0; + GeoSegment *pSeg; + unsigned char aOverlap[4]; + + nByte = sizeof(GeoEvent)*nVertex*2 + + sizeof(GeoSegment)*nVertex + + sizeof(GeoOverlap); + p = sqlite3_malloc( nByte ); + if( p==0 ) return -1; + p->aEvent = (GeoEvent*)&p[1]; + p->aSegment = (GeoSegment*)&p->aEvent[nVertex*2]; + p->nEvent = p->nSegment = 0; + geopolyAddSegments(p, p1, 1); + geopolyAddSegments(p, p2, 2); + pThisEvent = geopolySortEventsByX(p->aEvent, p->nEvent); + rX = pThisEvent->x==0.0 ? -1.0 : 0.0; + memset(aOverlap, 0, sizeof(aOverlap)); + while( pThisEvent ){ + if( pThisEvent->x!=rX ){ + GeoSegment *pPrev = 0; + int iMask = 0; + GEODEBUG(("Distinct X: %g\n", pThisEvent->x)); + rX = pThisEvent->x; + if( needSort ){ + GEODEBUG(("SORT\n")); + pActive = geopolySortSegmentsByYAndC(pActive); + needSort = 0; + } + for(pSeg=pActive; pSeg; pSeg=pSeg->pNext){ + if( pPrev ){ + if( pPrev->y!=pSeg->y ){ + GEODEBUG(("MASK: %d\n", iMask)); + aOverlap[iMask] = 1; + } + } + iMask ^= pSeg->side; + pPrev = pSeg; + } + pPrev = 0; + for(pSeg=pActive; pSeg; pSeg=pSeg->pNext){ + double y = pSeg->C*rX + pSeg->B; + GEODEBUG(("Segment %d.%d %g->%g\n", pSeg->side, pSeg->idx, pSeg->y, y)); + pSeg->y = y; + if( pPrev ){ + if( pPrev->y>pSeg->y && pPrev->side!=pSeg->side ){ + rc = 1; + GEODEBUG(("Crossing: %d.%d and %d.%d\n", + pPrev->side, pPrev->idx, + pSeg->side, pSeg->idx)); + goto geopolyOverlapDone; + }else if( pPrev->y!=pSeg->y ){ + GEODEBUG(("MASK: %d\n", iMask)); + aOverlap[iMask] = 1; + } + } + iMask ^= pSeg->side; + pPrev = pSeg; + } + } + GEODEBUG(("%s %d.%d C=%g B=%g\n", + pThisEvent->eType ? "RM " : "ADD", + pThisEvent->pSeg->side, pThisEvent->pSeg->idx, + pThisEvent->pSeg->C, + pThisEvent->pSeg->B)); + if( pThisEvent->eType==0 ){ + /* Add a segment */ + pSeg = pThisEvent->pSeg; + pSeg->y = pSeg->y0; + pSeg->pNext = pActive; + pActive = pSeg; + needSort = 1; + }else{ + /* Remove a segment */ + if( pActive==pThisEvent->pSeg ){ + pActive = pActive->pNext; + }else{ + for(pSeg=pActive; pSeg; pSeg=pSeg->pNext){ + if( pSeg->pNext==pThisEvent->pSeg ){ + pSeg->pNext = pSeg->pNext->pNext; + break; + } + } + } + } + pThisEvent = pThisEvent->pNext; + } + if( aOverlap[3]==0 ){ + rc = 0; + }else if( aOverlap[1]!=0 && aOverlap[2]==0 ){ + rc = 3; + }else if( aOverlap[1]==0 && aOverlap[2]!=0 ){ + rc = 2; + }else if( aOverlap[1]==0 && aOverlap[2]==0 ){ + rc = 4; + }else{ + rc = 1; + } + +geopolyOverlapDone: + sqlite3_free(p); + return rc; +} + +/* +** SQL function: geopoly_overlap(P1,P2) ** -** SQLITE_RBU_STATE_OAL: -** RBU is currently building a *-oal file. The next call to sqlite3rbu_step() -** may either add further data to the *-oal file, or compute data that will -** be added by a subsequent call. +** Determine whether or not P1 and P2 overlap. Return value: ** -** SQLITE_RBU_STATE_MOVE: -** RBU has finished building the *-oal file. The next call to sqlite3rbu_step() -** will move the *-oal file to the equivalent *-wal path. If the current -** operation is an RBU update, then the updated version of the database -** file will become visible to ordinary SQLite clients following the next -** call to sqlite3rbu_step(). +** 0 The two polygons are disjoint +** 1 They overlap +** 2 P1 is completely contained within P2 +** 3 P2 is completely contained within P1 +** 4 P1 and P2 are the same polygon +** NULL Either P1 or P2 or both are not valid polygons +*/ +static void geopolyOverlapFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + GeoPoly *p1 = geopolyFuncParam(context, argv[0], 0); + GeoPoly *p2 = geopolyFuncParam(context, argv[1], 0); + if( p1 && p2 ){ + int x = geopolyOverlap(p1, p2); + if( x<0 ){ + sqlite3_result_error_nomem(context); + }else{ + sqlite3_result_int(context, x); + } + } + sqlite3_free(p1); + sqlite3_free(p2); +} + +/* +** Enable or disable debugging output +*/ +static void geopolyDebugFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ +#ifdef GEOPOLY_ENABLE_DEBUG + geo_debug = sqlite3_value_int(argv[0]); +#endif +} + +/* +** This function is the implementation of both the xConnect and xCreate +** methods of the geopoly virtual table. ** -** SQLITE_RBU_STATE_CHECKPOINT: -** RBU is currently performing an incremental checkpoint. The next call to -** sqlite3rbu_step() will copy a page of data from the *-wal file into -** the target database file. +** argv[0] -> module name +** argv[1] -> database name +** argv[2] -> table name +** argv[...] -> column names... +*/ +static int geopolyInit( + sqlite3 *db, /* Database connection */ + void *pAux, /* One of the RTREE_COORD_* constants */ + int argc, const char *const*argv, /* Parameters to CREATE TABLE statement */ + sqlite3_vtab **ppVtab, /* OUT: New virtual table */ + char **pzErr, /* OUT: Error message, if any */ + int isCreate /* True for xCreate, false for xConnect */ +){ + int rc = SQLITE_OK; + Rtree *pRtree; + int nDb; /* Length of string argv[1] */ + int nName; /* Length of string argv[2] */ + sqlite3_str *pSql; + char *zSql; + int ii; + + 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); + if( !pRtree ){ + return SQLITE_NOMEM; + } + memset(pRtree, 0, sizeof(Rtree)+nDb+nName+2); + pRtree->nBusy = 1; + pRtree->base.pModule = &rtreeModule; + pRtree->zDb = (char *)&pRtree[1]; + pRtree->zName = &pRtree->zDb[nDb+1]; + pRtree->eCoordType = RTREE_COORD_REAL32; + pRtree->nDim = 2; + pRtree->nDim2 = 4; + memcpy(pRtree->zDb, argv[1], nDb); + memcpy(pRtree->zName, argv[2], nName); + + + /* Create/Connect to the underlying relational database schema. If + ** that is successful, call sqlite3_declare_vtab() to configure + ** the r-tree table schema. + */ + pSql = sqlite3_str_new(db); + sqlite3_str_appendf(pSql, "CREATE TABLE x(_shape"); + pRtree->nAux = 1; /* Add one for _shape */ + pRtree->nAuxNotNull = 1; /* The _shape column is always not-null */ + for(ii=3; iinAux++; + sqlite3_str_appendf(pSql, ",%s", argv[ii]); + } + sqlite3_str_appendf(pSql, ");"); + zSql = sqlite3_str_finish(pSql); + if( !zSql ){ + rc = SQLITE_NOMEM; + }else if( SQLITE_OK!=(rc = sqlite3_declare_vtab(db, zSql)) ){ + *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + } + sqlite3_free(zSql); + if( rc ) goto geopolyInit_fail; + pRtree->nBytesPerCell = 8 + pRtree->nDim2*4; + + /* Figure out the node size to use. */ + rc = getNodeSize(db, pRtree, isCreate, pzErr); + if( rc ) goto geopolyInit_fail; + rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate); + if( rc ){ + *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + goto geopolyInit_fail; + } + + *ppVtab = (sqlite3_vtab *)pRtree; + return SQLITE_OK; + +geopolyInit_fail: + if( rc==SQLITE_OK ) rc = SQLITE_ERROR; + assert( *ppVtab==0 ); + assert( pRtree->nBusy==1 ); + rtreeRelease(pRtree); + return rc; +} + + +/* +** GEOPOLY virtual table module xCreate method. +*/ +static int geopolyCreate( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + return geopolyInit(db, pAux, argc, argv, ppVtab, pzErr, 1); +} + +/* +** GEOPOLY virtual table module xConnect method. +*/ +static int geopolyConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + return geopolyInit(db, pAux, argc, argv, ppVtab, pzErr, 0); +} + + +/* +** GEOPOLY virtual table module xFilter method. ** -** SQLITE_RBU_STATE_DONE: -** The RBU operation has finished. Any subsequent calls to sqlite3rbu_step() -** will immediately return SQLITE_DONE. +** Query plans: ** -** SQLITE_RBU_STATE_ERROR: -** An error has occurred. Any subsequent calls to sqlite3rbu_step() will -** immediately return the SQLite error code associated with the error. +** 1 rowid lookup +** 2 search for objects overlapping the same bounding box +** that contains polygon argv[0] +** 3 search for objects overlapping the same bounding box +** that contains polygon argv[0] +** 4 full table scan */ -#define SQLITE_RBU_STATE_OAL 1 -#define SQLITE_RBU_STATE_MOVE 2 -#define SQLITE_RBU_STATE_CHECKPOINT 3 -#define SQLITE_RBU_STATE_DONE 4 -#define SQLITE_RBU_STATE_ERROR 5 +static int geopolyFilter( + sqlite3_vtab_cursor *pVtabCursor, /* The cursor to initialize */ + int idxNum, /* Query plan */ + const char *idxStr, /* Not Used */ + int argc, sqlite3_value **argv /* Parameters to the query plan */ +){ + Rtree *pRtree = (Rtree *)pVtabCursor->pVtab; + RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor; + RtreeNode *pRoot = 0; + int rc = SQLITE_OK; + int iCell = 0; + sqlite3_stmt *pStmt; -SQLITE_API int sqlite3rbu_state(sqlite3rbu *pRbu); + rtreeReference(pRtree); + + /* Reset the cursor to the same state as rtreeOpen() leaves it in. */ + freeCursorConstraints(pCsr); + sqlite3_free(pCsr->aPoint); + pStmt = pCsr->pReadAux; + memset(pCsr, 0, sizeof(RtreeCursor)); + pCsr->base.pVtab = (sqlite3_vtab*)pRtree; + pCsr->pReadAux = pStmt; + + pCsr->iStrategy = idxNum; + if( idxNum==1 ){ + /* Special case - lookup by rowid. */ + RtreeNode *pLeaf; /* Leaf on which the required cell resides */ + RtreeSearchPoint *p; /* Search point for the leaf */ + i64 iRowid = sqlite3_value_int64(argv[0]); + i64 iNode = 0; + rc = findLeafNode(pRtree, iRowid, &pLeaf, &iNode); + if( rc==SQLITE_OK && pLeaf!=0 ){ + p = rtreeSearchPointNew(pCsr, RTREE_ZERO, 0); + assert( p!=0 ); /* Always returns pCsr->sPoint */ + pCsr->aNode[0] = pLeaf; + p->id = iNode; + p->eWithin = PARTLY_WITHIN; + rc = nodeRowidIndex(pRtree, pLeaf, iRowid, &iCell); + p->iCell = (u8)iCell; + RTREE_QUEUE_TRACE(pCsr, "PUSH-F1:"); + }else{ + pCsr->atEOF = 1; + } + }else{ + /* Normal case - r-tree scan. Set up the RtreeCursor.aConstraint array + ** with the configured constraints. + */ + rc = nodeAcquire(pRtree, 1, 0, &pRoot); + if( rc==SQLITE_OK && idxNum<=3 ){ + RtreeCoord bbox[4]; + RtreeConstraint *p; + assert( argc==1 ); + geopolyBBox(0, argv[0], bbox, &rc); + if( rc ){ + goto geopoly_filter_end; + } + pCsr->aConstraint = p = sqlite3_malloc(sizeof(RtreeConstraint)*4); + pCsr->nConstraint = 4; + if( p==0 ){ + rc = SQLITE_NOMEM; + }else{ + memset(pCsr->aConstraint, 0, sizeof(RtreeConstraint)*4); + memset(pCsr->anQueue, 0, sizeof(u32)*(pRtree->iDepth + 1)); + if( idxNum==2 ){ + /* Overlap query */ + p->op = 'B'; + p->iCoord = 0; + p->u.rValue = bbox[1].f; + p++; + p->op = 'D'; + p->iCoord = 1; + p->u.rValue = bbox[0].f; + p++; + p->op = 'B'; + p->iCoord = 2; + p->u.rValue = bbox[3].f; + p++; + p->op = 'D'; + p->iCoord = 3; + p->u.rValue = bbox[2].f; + }else{ + /* Within query */ + p->op = 'D'; + p->iCoord = 0; + p->u.rValue = bbox[0].f; + p++; + p->op = 'B'; + p->iCoord = 1; + p->u.rValue = bbox[1].f; + p++; + p->op = 'D'; + p->iCoord = 2; + p->u.rValue = bbox[2].f; + p++; + p->op = 'B'; + p->iCoord = 3; + p->u.rValue = bbox[3].f; + } + } + } + if( rc==SQLITE_OK ){ + RtreeSearchPoint *pNew; + pNew = rtreeSearchPointNew(pCsr, RTREE_ZERO, (u8)(pRtree->iDepth+1)); + if( pNew==0 ){ + rc = SQLITE_NOMEM; + goto geopoly_filter_end; + } + pNew->id = 1; + pNew->iCell = 0; + pNew->eWithin = PARTLY_WITHIN; + assert( pCsr->bPoint==1 ); + pCsr->aNode[0] = pRoot; + pRoot = 0; + RTREE_QUEUE_TRACE(pCsr, "PUSH-Fm:"); + rc = rtreeStepToLeaf(pCsr); + } + } + +geopoly_filter_end: + nodeRelease(pRtree, pRoot); + rtreeRelease(pRtree); + return rc; +} /* -** Create an RBU VFS named zName that accesses the underlying file-system -** via existing VFS zParent. Or, if the zParent parameter is passed NULL, -** then the new RBU VFS uses the default system VFS to access the file-system. -** The new object is registered as a non-default VFS with SQLite before -** returning. -** -** Part of the RBU implementation uses a custom VFS object. Usually, this -** object is created and deleted automatically by RBU. +** Rtree virtual table module xBestIndex method. There are three +** table scan strategies to choose from (in order from most to +** least desirable): ** -** The exception is for applications that also use zipvfs. In this case, -** the custom VFS must be explicitly created by the user before the RBU -** handle is opened. The RBU VFS should be installed so that the zipvfs -** VFS uses the RBU VFS, which in turn uses any other VFS layers in use -** (for example multiplexor) to access the file-system. For example, -** to assemble an RBU enabled VFS stack that uses both zipvfs and -** multiplexor (error checking omitted): +** idxNum idxStr Strategy +** ------------------------------------------------ +** 1 "rowid" Direct lookup by rowid. +** 2 "rtree" R-tree overlap query using geopoly_overlap() +** 3 "rtree" R-tree within query using geopoly_within() +** 4 "fullscan" full-table scan. +** ------------------------------------------------ +*/ +static int geopolyBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ + int ii; + int iRowidTerm = -1; + int iFuncTerm = -1; + int idxNum = 0; + + for(ii=0; iinConstraint; ii++){ + struct sqlite3_index_constraint *p = &pIdxInfo->aConstraint[ii]; + if( !p->usable ) continue; + if( p->iColumn<0 && p->op==SQLITE_INDEX_CONSTRAINT_EQ ){ + iRowidTerm = ii; + break; + } + if( p->iColumn==0 && p->op>=SQLITE_INDEX_CONSTRAINT_FUNCTION ){ + /* p->op==SQLITE_INDEX_CONSTRAINT_FUNCTION for geopoly_overlap() + ** p->op==(SQLITE_INDEX_CONTRAINT_FUNCTION+1) for geopoly_within(). + ** See geopolyFindFunction() */ + iFuncTerm = ii; + idxNum = p->op - SQLITE_INDEX_CONSTRAINT_FUNCTION + 2; + } + } + + if( iRowidTerm>=0 ){ + pIdxInfo->idxNum = 1; + pIdxInfo->idxStr = "rowid"; + pIdxInfo->aConstraintUsage[iRowidTerm].argvIndex = 1; + pIdxInfo->aConstraintUsage[iRowidTerm].omit = 1; + pIdxInfo->estimatedCost = 30.0; + pIdxInfo->estimatedRows = 1; + pIdxInfo->idxFlags = SQLITE_INDEX_SCAN_UNIQUE; + return SQLITE_OK; + } + if( iFuncTerm>=0 ){ + pIdxInfo->idxNum = idxNum; + pIdxInfo->idxStr = "rtree"; + pIdxInfo->aConstraintUsage[iFuncTerm].argvIndex = 1; + pIdxInfo->aConstraintUsage[iFuncTerm].omit = 0; + pIdxInfo->estimatedCost = 300.0; + pIdxInfo->estimatedRows = 10; + return SQLITE_OK; + } + pIdxInfo->idxNum = 4; + pIdxInfo->idxStr = "fullscan"; + pIdxInfo->estimatedCost = 3000000.0; + pIdxInfo->estimatedRows = 100000; + return SQLITE_OK; +} + + +/* +** GEOPOLY virtual table module xColumn method. +*/ +static int geopolyColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){ + Rtree *pRtree = (Rtree *)cur->pVtab; + RtreeCursor *pCsr = (RtreeCursor *)cur; + RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr); + int rc = SQLITE_OK; + RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc); + + if( rc ) return rc; + if( p==0 ) return SQLITE_OK; + if( i==0 && sqlite3_vtab_nochange(ctx) ) return SQLITE_OK; + if( i<=pRtree->nAux ){ + if( !pCsr->bAuxValid ){ + if( pCsr->pReadAux==0 ){ + rc = sqlite3_prepare_v3(pRtree->db, pRtree->zReadAuxSql, -1, 0, + &pCsr->pReadAux, 0); + if( rc ) return rc; + } + sqlite3_bind_int64(pCsr->pReadAux, 1, + nodeGetRowid(pRtree, pNode, p->iCell)); + rc = sqlite3_step(pCsr->pReadAux); + if( rc==SQLITE_ROW ){ + pCsr->bAuxValid = 1; + }else{ + sqlite3_reset(pCsr->pReadAux); + if( rc==SQLITE_DONE ) rc = SQLITE_OK; + return rc; + } + } + sqlite3_result_value(ctx, sqlite3_column_value(pCsr->pReadAux, i+2)); + } + return SQLITE_OK; +} + + +/* +** The xUpdate method for GEOPOLY module virtual tables. ** -** // Create a VFS named "multiplex" (not the default). -** sqlite3_multiplex_initialize(0, 0); +** For DELETE: ** -** // Create an rbu VFS named "rbu" that uses multiplexor. If the -** // second argument were replaced with NULL, the "rbu" VFS would -** // access the file-system via the system default VFS, bypassing the -** // multiplexor. -** sqlite3rbu_create_vfs("rbu", "multiplex"); +** argv[0] = the rowid to be deleted ** -** // Create a zipvfs VFS named "zipvfs" that uses rbu. -** zipvfs_create_vfs_v3("zipvfs", "rbu", 0, xCompressorAlgorithmDetector); +** For INSERT: ** -** // Make zipvfs the default VFS. -** sqlite3_vfs_register(sqlite3_vfs_find("zipvfs"), 1); +** argv[0] = SQL NULL +** argv[1] = rowid to insert, or an SQL NULL to select automatically +** argv[2] = _shape column +** argv[3] = first application-defined column.... ** -** Because the default VFS created above includes a RBU functionality, it -** may be used by RBU clients. Attempting to use RBU with a zipvfs VFS stack -** that does not include the RBU layer results in an error. +** For UPDATE: ** -** The overhead of adding the "rbu" VFS to the system is negligible for -** non-RBU users. There is no harm in an application accessing the -** file-system via "rbu" all the time, even if it only uses RBU functionality -** occasionally. +** argv[0] = rowid to modify. Never NULL +** argv[1] = rowid after the change. Never NULL +** argv[2] = new value for _shape +** argv[3] = new value for first application-defined column.... */ -SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent); +static int geopolyUpdate( + sqlite3_vtab *pVtab, + int nData, + sqlite3_value **aData, + sqlite_int64 *pRowid +){ + Rtree *pRtree = (Rtree *)pVtab; + int rc = SQLITE_OK; + RtreeCell cell; /* New cell to insert if nData>1 */ + i64 oldRowid; /* The old rowid */ + int oldRowidValid; /* True if oldRowid is valid */ + i64 newRowid; /* The new rowid */ + int newRowidValid; /* True if newRowid is valid */ + int coordChange = 0; /* Change in coordinates */ + + if( pRtree->nNodeRef ){ + /* Unable to write to the btree while another cursor is reading from it, + ** since the write might do a rebalance which would disrupt the read + ** cursor. */ + return SQLITE_LOCKED_VTAB; + } + rtreeReference(pRtree); + assert(nData>=1); + + oldRowidValid = sqlite3_value_type(aData[0])!=SQLITE_NULL;; + oldRowid = oldRowidValid ? sqlite3_value_int64(aData[0]) : 0; + newRowidValid = nData>1 && sqlite3_value_type(aData[1])!=SQLITE_NULL; + newRowid = newRowidValid ? sqlite3_value_int64(aData[1]) : 0; + cell.iRowid = newRowid; + + if( nData>1 /* not a DELETE */ + && (!oldRowidValid /* INSERT */ + || !sqlite3_value_nochange(aData[2]) /* UPDATE _shape */ + || oldRowid!=newRowid) /* Rowid change */ + ){ + geopolyBBox(0, aData[2], cell.aCoord, &rc); + if( rc ){ + if( rc==SQLITE_ERROR ){ + pVtab->zErrMsg = + sqlite3_mprintf("_shape does not contain a valid polygon"); + } + goto geopoly_update_end; + } + coordChange = 1; + + /* If a rowid value was supplied, check if it is already present in + ** the table. If so, the constraint has failed. */ + if( newRowidValid && (!oldRowidValid || oldRowid!=newRowid) ){ + int steprc; + sqlite3_bind_int64(pRtree->pReadRowid, 1, cell.iRowid); + steprc = sqlite3_step(pRtree->pReadRowid); + rc = sqlite3_reset(pRtree->pReadRowid); + if( SQLITE_ROW==steprc ){ + if( sqlite3_vtab_on_conflict(pRtree->db)==SQLITE_REPLACE ){ + rc = rtreeDeleteRowid(pRtree, cell.iRowid); + }else{ + rc = rtreeConstraintError(pRtree, 0); + } + } + } + } + + /* If aData[0] is not an SQL NULL value, it is the rowid of a + ** record to delete from the r-tree table. The following block does + ** just that. + */ + if( rc==SQLITE_OK && (nData==1 || (coordChange && oldRowidValid)) ){ + rc = rtreeDeleteRowid(pRtree, oldRowid); + } + + /* If the aData[] array contains more than one element, elements + ** (aData[2]..aData[argc-1]) contain a new record to insert into + ** the r-tree structure. + */ + if( rc==SQLITE_OK && nData>1 && coordChange ){ + /* Insert the new record into the r-tree */ + RtreeNode *pLeaf = 0; + if( !newRowidValid ){ + rc = rtreeNewRowid(pRtree, &cell.iRowid); + } + *pRowid = cell.iRowid; + if( rc==SQLITE_OK ){ + rc = ChooseLeaf(pRtree, &cell, 0, &pLeaf); + } + if( rc==SQLITE_OK ){ + int rc2; + pRtree->iReinsertHeight = -1; + rc = rtreeInsertCell(pRtree, pLeaf, &cell, 0); + rc2 = nodeRelease(pRtree, pLeaf); + if( rc==SQLITE_OK ){ + rc = rc2; + } + } + } + + /* Change the data */ + if( rc==SQLITE_OK && nData>1 ){ + sqlite3_stmt *pUp = pRtree->pWriteAux; + int jj; + int nChange = 0; + sqlite3_bind_int64(pUp, 1, cell.iRowid); + assert( pRtree->nAux>=1 ); + if( sqlite3_value_nochange(aData[2]) ){ + sqlite3_bind_null(pUp, 2); + }else{ + GeoPoly *p = 0; + if( sqlite3_value_type(aData[2])==SQLITE_TEXT + && (p = geopolyFuncParam(0, aData[2], &rc))!=0 + && rc==SQLITE_OK + ){ + sqlite3_bind_blob(pUp, 2, p->hdr, 4+8*p->nVertex, SQLITE_TRANSIENT); + }else{ + sqlite3_bind_value(pUp, 2, aData[2]); + } + sqlite3_free(p); + nChange = 1; + } + for(jj=1; jjnAux; jj++){ + nChange++; + sqlite3_bind_value(pUp, jj+2, aData[jj+2]); + } + if( nChange ){ + sqlite3_step(pUp); + rc = sqlite3_reset(pUp); + } + } + +geopoly_update_end: + rtreeRelease(pRtree); + return rc; +} /* -** Deregister and destroy an RBU vfs created by an earlier call to -** sqlite3rbu_create_vfs(). -** -** VFS objects are not reference counted. If a VFS object is destroyed -** before all database handles that use it have been closed, the results -** are undefined. +** Report that geopoly_overlap() is an overloaded function suitable +** for use in xBestIndex. */ -SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName); +static int geopolyFindFunction( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg +){ + if( sqlite3_stricmp(zName, "geopoly_overlap")==0 ){ + *pxFunc = geopolyOverlapFunc; + *ppArg = 0; + return SQLITE_INDEX_CONSTRAINT_FUNCTION; + } + if( sqlite3_stricmp(zName, "geopoly_within")==0 ){ + *pxFunc = geopolyWithinFunc; + *ppArg = 0; + return SQLITE_INDEX_CONSTRAINT_FUNCTION+1; + } + return 0; +} -#if 0 -} /* end of the 'extern "C"' block */ -#endif -#endif /* _SQLITE3RBU_H */ +static sqlite3_module geopolyModule = { + 3, /* iVersion */ + geopolyCreate, /* xCreate - create a table */ + geopolyConnect, /* xConnect - connect to an existing table */ + geopolyBestIndex, /* xBestIndex - Determine search strategy */ + rtreeDisconnect, /* xDisconnect - Disconnect from a table */ + rtreeDestroy, /* xDestroy - Drop a table */ + rtreeOpen, /* xOpen - open a cursor */ + rtreeClose, /* xClose - close a cursor */ + geopolyFilter, /* xFilter - configure scan constraints */ + rtreeNext, /* xNext - advance a cursor */ + rtreeEof, /* xEof */ + geopolyColumn, /* xColumn - read data */ + rtreeRowid, /* xRowid - read data */ + geopolyUpdate, /* xUpdate - write data */ + rtreeBeginTransaction, /* xBegin - begin transaction */ + rtreeEndTransaction, /* xSync - sync transaction */ + rtreeEndTransaction, /* xCommit - commit transaction */ + rtreeEndTransaction, /* xRollback - rollback transaction */ + geopolyFindFunction, /* xFindFunction - function overloading */ + rtreeRename, /* xRename - rename the table */ + rtreeSavepoint, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + rtreeShadowName /* xShadowName */ +}; -/************** End of sqlite3rbu.h ******************************************/ -/************** Continuing where we left off in sqlite3rbu.c *****************/ +static int sqlite3_geopoly_init(sqlite3 *db){ + int rc = SQLITE_OK; + static const struct { + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + signed char nArg; + unsigned char bPure; + const char *zName; + } aFunc[] = { + { geopolyAreaFunc, 1, 1, "geopoly_area" }, + { geopolyBlobFunc, 1, 1, "geopoly_blob" }, + { geopolyJsonFunc, 1, 1, "geopoly_json" }, + { geopolySvgFunc, -1, 1, "geopoly_svg" }, + { geopolyWithinFunc, 2, 1, "geopoly_within" }, + { geopolyContainsPointFunc, 3, 1, "geopoly_contains_point" }, + { geopolyOverlapFunc, 2, 1, "geopoly_overlap" }, + { geopolyDebugFunc, 1, 0, "geopoly_debug" }, + { geopolyBBoxFunc, 1, 1, "geopoly_bbox" }, + { geopolyXformFunc, 7, 1, "geopoly_xform" }, + { geopolyRegularFunc, 4, 1, "geopoly_regular" }, + { geopolyCcwFunc, 1, 1, "geopoly_ccw" }, + }; + static const struct { + void (*xStep)(sqlite3_context*,int,sqlite3_value**); + void (*xFinal)(sqlite3_context*); + const char *zName; + } aAgg[] = { + { geopolyBBoxStep, geopolyBBoxFinal, "geopoly_group_bbox" }, + }; + int i; + for(i=0; ixDestructor ) pInfo->xDestructor(pInfo->pContext); + sqlite3_free(p); +} + +/* +** This routine frees the BLOB that is returned by geomCallback(). +*/ +static void rtreeMatchArgFree(void *pArg){ + int i; + RtreeMatchArg *p = (RtreeMatchArg*)pArg; + for(i=0; inParam; i++){ + sqlite3_value_free(p->apSqlParam[i]); + } + sqlite3_free(p); +} + +/* +** Each call to sqlite3_rtree_geometry_callback() or +** sqlite3_rtree_query_callback() creates an ordinary SQLite +** scalar function that is implemented by this routine. +** +** All this function does is construct an RtreeMatchArg object that +** contains the geometry-checking callback routines and a list of +** parameters to this function, then return that RtreeMatchArg object +** as a BLOB. +** +** The R-Tree MATCH operator will read the returned BLOB, deserialize +** the RtreeMatchArg object, and use the RtreeMatchArg object to figure +** out which elements of the R-Tree should be returned by the query. +*/ +static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ + RtreeGeomCallback *pGeomCtx = (RtreeGeomCallback *)sqlite3_user_data(ctx); + RtreeMatchArg *pBlob; + int nBlob; + int memErr = 0; + + nBlob = sizeof(RtreeMatchArg) + (nArg-1)*sizeof(RtreeDValue) + + nArg*sizeof(sqlite3_value*); + pBlob = (RtreeMatchArg *)sqlite3_malloc(nBlob); + if( !pBlob ){ + sqlite3_result_error_nomem(ctx); + }else{ + int i; + pBlob->iSize = nBlob; + pBlob->cb = pGeomCtx[0]; + pBlob->apSqlParam = (sqlite3_value**)&pBlob->aParam[nArg]; + pBlob->nParam = nArg; + for(i=0; iapSqlParam[i] = sqlite3_value_dup(aArg[i]); + if( pBlob->apSqlParam[i]==0 ) memErr = 1; +#ifdef SQLITE_RTREE_INT_ONLY + pBlob->aParam[i] = sqlite3_value_int64(aArg[i]); +#else + pBlob->aParam[i] = sqlite3_value_double(aArg[i]); #endif + } + if( memErr ){ + sqlite3_result_error_nomem(ctx); + rtreeMatchArgFree(pBlob); + }else{ + sqlite3_result_pointer(ctx, pBlob, "RtreeMatchArg", rtreeMatchArgFree); + } + } +} /* -** Swap two objects of type TYPE. +** Register a new geometry function for use with the r-tree MATCH operator. */ -#if !defined(SQLITE_AMALGAMATION) -# define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;} +SQLITE_API int sqlite3_rtree_geometry_callback( + sqlite3 *db, /* Register SQL function on this connection */ + const char *zGeom, /* Name of the new SQL function */ + int (*xGeom)(sqlite3_rtree_geometry*,int,RtreeDValue*,int*), /* Callback */ + void *pContext /* Extra data associated with the callback */ +){ + RtreeGeomCallback *pGeomCtx; /* Context object for new user-function */ + + /* Allocate and populate the context object. */ + pGeomCtx = (RtreeGeomCallback *)sqlite3_malloc(sizeof(RtreeGeomCallback)); + if( !pGeomCtx ) return SQLITE_NOMEM; + pGeomCtx->xGeom = xGeom; + pGeomCtx->xQueryFunc = 0; + pGeomCtx->xDestructor = 0; + pGeomCtx->pContext = pContext; + return sqlite3_create_function_v2(db, zGeom, -1, SQLITE_ANY, + (void *)pGeomCtx, geomCallback, 0, 0, rtreeFreeCallback + ); +} + +/* +** Register a new 2nd-generation geometry function for use with the +** r-tree MATCH operator. +*/ +SQLITE_API int sqlite3_rtree_query_callback( + sqlite3 *db, /* Register SQL function on this connection */ + const char *zQueryFunc, /* Name of new SQL function */ + int (*xQueryFunc)(sqlite3_rtree_query_info*), /* Callback */ + void *pContext, /* Extra data passed into the callback */ + void (*xDestructor)(void*) /* Destructor for the extra data */ +){ + RtreeGeomCallback *pGeomCtx; /* Context object for new user-function */ + + /* Allocate and populate the context object. */ + pGeomCtx = (RtreeGeomCallback *)sqlite3_malloc(sizeof(RtreeGeomCallback)); + if( !pGeomCtx ) return SQLITE_NOMEM; + pGeomCtx->xGeom = 0; + pGeomCtx->xQueryFunc = xQueryFunc; + pGeomCtx->xDestructor = xDestructor; + pGeomCtx->pContext = pContext; + return sqlite3_create_function_v2(db, zQueryFunc, -1, SQLITE_ANY, + (void *)pGeomCtx, geomCallback, 0, 0, rtreeFreeCallback + ); +} + +#if !SQLITE_CORE +#ifdef _WIN32 +__declspec(dllexport) +#endif +SQLITE_API int sqlite3_rtree_init( + sqlite3 *db, + char **pzErrMsg, + const sqlite3_api_routines *pApi +){ + SQLITE_EXTENSION_INIT2(pApi) + return sqlite3RtreeInit(db); +} +#endif + #endif +/************** End of rtree.c ***********************************************/ +/************** Begin file icu.c *********************************************/ /* -** The rbu_state table is used to save the state of a partially applied -** update so that it can be resumed later. The table consists of integer -** keys mapped to values as follows: +** 2007 May 6 ** -** RBU_STATE_STAGE: -** May be set to integer values 1, 2, 4 or 5. As follows: -** 1: the *-rbu file is currently under construction. -** 2: the *-rbu file has been constructed, but not yet moved -** to the *-wal path. -** 4: the checkpoint is underway. -** 5: the rbu update has been checkpointed. +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: ** -** RBU_STATE_TBL: -** Only valid if STAGE==1. The target database name of the table -** currently being written. +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. ** -** RBU_STATE_IDX: -** Only valid if STAGE==1. The target database name of the index -** currently being written, or NULL if the main table is currently being -** updated. +************************************************************************* +** $Id: icu.c,v 1.7 2007/12/13 21:54:11 drh Exp $ ** -** RBU_STATE_ROW: -** Only valid if STAGE==1. Number of rows already processed for the current -** table/index. +** This file implements an integration between the ICU library +** ("International Components for Unicode", an open-source library +** for handling unicode data) and SQLite. The integration uses +** ICU to provide the following to SQLite: ** -** RBU_STATE_PROGRESS: -** Trbul number of sqlite3rbu_step() calls made so far as part of this -** rbu update. +** * An implementation of the SQL regexp() function (and hence REGEXP +** operator) using the ICU uregex_XX() APIs. ** -** RBU_STATE_CKPT: -** Valid if STAGE==4. The 64-bit checksum associated with the wal-index -** header created by recovering the *-wal file. This is used to detect -** cases when another client appends frames to the *-wal file in the -** middle of an incremental checkpoint (an incremental checkpoint cannot -** be continued if this happens). +** * Implementations of the SQL scalar upper() and lower() functions +** for case mapping. ** -** RBU_STATE_COOKIE: -** Valid if STAGE==1. The current change-counter cookie value in the -** target db file. +** * Integration of ICU and SQLite collation sequences. ** -** RBU_STATE_OALSZ: -** Valid if STAGE==1. The size in bytes of the *-oal file. +** * An implementation of the LIKE operator that uses ICU to +** provide case-independent matching. */ -#define RBU_STATE_STAGE 1 -#define RBU_STATE_TBL 2 -#define RBU_STATE_IDX 3 -#define RBU_STATE_ROW 4 -#define RBU_STATE_PROGRESS 5 -#define RBU_STATE_CKPT 6 -#define RBU_STATE_COOKIE 7 -#define RBU_STATE_OALSZ 8 -#define RBU_STATE_PHASEONESTEP 9 - -#define RBU_STAGE_OAL 1 -#define RBU_STAGE_MOVE 2 -#define RBU_STAGE_CAPTURE 3 -#define RBU_STAGE_CKPT 4 -#define RBU_STAGE_DONE 5 +#if !defined(SQLITE_CORE) \ + || defined(SQLITE_ENABLE_ICU) \ + || defined(SQLITE_ENABLE_ICU_COLLATIONS) -#define RBU_CREATE_STATE \ - "CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)" +/* Include ICU headers */ +#include +#include +#include +#include -typedef struct RbuFrame RbuFrame; -typedef struct RbuObjIter RbuObjIter; -typedef struct RbuState RbuState; -typedef struct rbu_vfs rbu_vfs; -typedef struct rbu_file rbu_file; -typedef struct RbuUpdateStmt RbuUpdateStmt; +/* #include */ -#if !defined(SQLITE_AMALGAMATION) -typedef unsigned int u32; -typedef unsigned short u16; -typedef unsigned char u8; -typedef sqlite3_int64 i64; +#ifndef SQLITE_CORE +/* #include "sqlite3ext.h" */ + SQLITE_EXTENSION_INIT1 +#else +/* #include "sqlite3.h" */ #endif /* -** These values must match the values defined in wal.c for the equivalent -** locks. These are not magic numbers as they are part of the SQLite file -** format. +** This function is called when an ICU function called from within +** the implementation of an SQL scalar function returns an error. +** +** The scalar function context passed as the first argument is +** loaded with an error message based on the following two args. */ -#define WAL_LOCK_WRITE 0 -#define WAL_LOCK_CKPT 1 -#define WAL_LOCK_READ0 3 +static void icuFunctionError( + sqlite3_context *pCtx, /* SQLite scalar function context */ + const char *zName, /* Name of ICU function that failed */ + UErrorCode e /* Error code returned by ICU function */ +){ + char zBuf[128]; + sqlite3_snprintf(128, zBuf, "ICU error: %s(): %s", zName, u_errorName(e)); + zBuf[127] = '\0'; + sqlite3_result_error(pCtx, zBuf, -1); +} -#define SQLITE_FCNTL_RBUCNT 5149216 +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) /* -** A structure to store values read from the rbu_state table in memory. +** Maximum length (in bytes) of the pattern in a LIKE or GLOB +** operator. */ -struct RbuState { - int eStage; - char *zTbl; - char *zIdx; - i64 iWalCksum; - int nRow; - i64 nProgress; - u32 iCookie; - i64 iOalSz; - i64 nPhaseOneStep; -}; +#ifndef SQLITE_MAX_LIKE_PATTERN_LENGTH +# define SQLITE_MAX_LIKE_PATTERN_LENGTH 50000 +#endif -struct RbuUpdateStmt { - char *zMask; /* Copy of update mask used with pUpdate */ - sqlite3_stmt *pUpdate; /* Last update statement (or NULL) */ - RbuUpdateStmt *pNext; -}; +/* +** Version of sqlite3_free() that is always a function, never a macro. +*/ +static void xFree(void *p){ + sqlite3_free(p); +} /* -** An iterator of this type is used to iterate through all objects in -** the target database that require updating. For each such table, the -** iterator visits, in order: -** -** * the table itself, -** * each index of the table (zero or more points to visit), and -** * a special "cleanup table" state. -** -** abIndexed: -** If the table has no indexes on it, abIndexed is set to NULL. Otherwise, -** 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. -** +** This lookup table is used to help decode the first byte of +** a multi-byte UTF8 character. It is copied here from SQLite source +** code file utf8.c. */ -struct RbuObjIter { - sqlite3_stmt *pTblIter; /* Iterate through tables */ - sqlite3_stmt *pIdxIter; /* Index iterator */ - int nTblCol; /* Size of azTblCol[] array */ - char **azTblCol; /* Array of unquoted target column names */ - char **azTblType; /* Array of target column types */ - int *aiSrcOrder; /* src table col -> target table col */ - u8 *abTblPk; /* Array of flags, set on target PK columns */ - u8 *abNotNull; /* Array of flags, set on NOT NULL columns */ - u8 *abIndexed; /* Array of flags, set on indexed & PK cols */ - int eType; /* Table type - an RBU_PK_XXX value */ +static const unsigned char icuUtf8Trans1[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, +}; - /* Output variables. zTbl==0 implies EOF. */ - int bCleanup; /* True in "cleanup" state */ - const char *zTbl; /* Name of target db table */ - const char *zDataTbl; /* Name of rbu db table (or null) */ - const char *zIdx; /* Name of target db index (or null) */ - int iTnum; /* Root page of current object */ - int iPkTnum; /* If eType==EXTERNAL, root of PK index */ - int bUnique; /* Current index is unique */ - int nIndex; /* Number of aux. indexes on table zTbl */ +#define SQLITE_ICU_READ_UTF8(zIn, c) \ + c = *(zIn++); \ + if( c>=0xc0 ){ \ + c = icuUtf8Trans1[c-0xc0]; \ + while( (*zIn & 0xc0)==0x80 ){ \ + c = (c<<6) + (0x3f & *(zIn++)); \ + } \ + } - /* Statements created by rbuObjIterPrepareAll() */ - int nCol; /* Number of columns in current object */ - sqlite3_stmt *pSelect; /* Source data */ - sqlite3_stmt *pInsert; /* Statement for INSERT operations */ - sqlite3_stmt *pDelete; /* Statement for DELETE ops */ - sqlite3_stmt *pTmpInsert; /* Insert into rbu_tmp_$zDataTbl */ +#define SQLITE_ICU_SKIP_UTF8(zIn) \ + assert( *zIn ); \ + if( *(zIn++)>=0xc0 ){ \ + while( (*zIn & 0xc0)==0x80 ){zIn++;} \ + } - /* Last UPDATE used (for PK b-tree updates only), or NULL. */ - RbuUpdateStmt *pRbuUpdate; -}; /* -** Values for RbuObjIter.eType -** -** 0: Table does not exist (error) -** 1: Table has an implicit rowid. -** 2: Table has an explicit IPK column. -** 3: Table has an external PK index. -** 4: Table is WITHOUT ROWID. -** 5: Table is a virtual table. +** Compare two UTF-8 strings for equality where the first string is +** a "LIKE" expression. Return true (1) if they are the same and +** false (0) if they are different. */ -#define RBU_PK_NOTABLE 0 -#define RBU_PK_NONE 1 -#define RBU_PK_IPK 2 -#define RBU_PK_EXTERNAL 3 -#define RBU_PK_WITHOUT_ROWID 4 -#define RBU_PK_VTAB 5 +static int icuLikeCompare( + const uint8_t *zPattern, /* LIKE pattern */ + const uint8_t *zString, /* The UTF-8 string to compare against */ + const UChar32 uEsc /* The escape character */ +){ + static const uint32_t MATCH_ONE = (uint32_t)'_'; + static const uint32_t MATCH_ALL = (uint32_t)'%'; + int prevEscape = 0; /* True if the previous character was uEsc */ -/* -** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs -** one of the following operations. -*/ -#define RBU_INSERT 1 /* Insert on a main table b-tree */ -#define RBU_DELETE 2 /* Delete a row from a main table b-tree */ -#define RBU_REPLACE 3 /* Delete and then insert a row */ -#define RBU_IDX_DELETE 4 /* Delete a row from an aux. index b-tree */ -#define RBU_IDX_INSERT 5 /* Insert on an aux. index b-tree */ + while( 1 ){ -#define RBU_UPDATE 6 /* Update a row in a main table b-tree */ + /* Read (and consume) the next character from the input pattern. */ + uint32_t uPattern; + SQLITE_ICU_READ_UTF8(zPattern, uPattern); + if( uPattern==0 ) break; -/* -** A single step of an incremental checkpoint - frame iWalFrame of the wal -** file should be copied to page iDbPage of the database file. -*/ -struct RbuFrame { - u32 iDbPage; - u32 iWalFrame; -}; + /* There are now 4 possibilities: + ** + ** 1. uPattern is an unescaped match-all character "%", + ** 2. uPattern is an unescaped match-one character "_", + ** 3. uPattern is an unescaped escape character, or + ** 4. uPattern is to be handled as an ordinary character + */ + if( !prevEscape && uPattern==MATCH_ALL ){ + /* Case 1. */ + uint8_t c; -/* -** RBU handle. -** -** nPhaseOneStep: -** If the RBU database contains an rbu_count table, this value is set to -** a running estimate of the number of b-tree operations required to -** finish populating the *-oal file. This allows the sqlite3_bp_progress() -** API to calculate the permyriadage progress of populating the *-oal file -** using the formula: -** -** permyriadage = (10000 * nProgress) / nPhaseOneStep -** -** nPhaseOneStep is initialized to the sum of: -** -** nRow * (nIndex + 1) -** -** for all source tables in the RBU database, where nRow is the number -** of rows in the source table and nIndex the number of indexes on the -** corresponding target database table. -** -** This estimate is accurate if the RBU update consists entirely of -** INSERT operations. However, it is inaccurate if: -** -** * the RBU update contains any UPDATE operations. If the PK specified -** for an UPDATE operation does not exist in the target table, then -** no b-tree operations are required on index b-trees. Or if the -** specified PK does exist, then (nIndex*2) such operations are -** required (one delete and one insert on each index b-tree). -** -** * the RBU update contains any DELETE operations for which the specified -** PK does not exist. In this case no operations are required on index -** b-trees. -** -** * the RBU update contains REPLACE operations. These are similar to -** UPDATE operations. -** -** nPhaseOneStep is updated to account for the conditions above during the -** first pass of each source table. The updated nPhaseOneStep value is -** stored in the rbu_state table if the RBU update is suspended. -*/ -struct sqlite3rbu { - int eStage; /* Value of RBU_STATE_STAGE field */ - sqlite3 *dbMain; /* target database handle */ - sqlite3 *dbRbu; /* rbu database handle */ - char *zTarget; /* Path to target db */ - char *zRbu; /* Path to rbu db */ - char *zState; /* Path to state db (or NULL if zRbu) */ - char zStateDb[5]; /* Db name for state ("stat" or "main") */ - int rc; /* Value returned by last rbu_step() call */ - char *zErrmsg; /* Error message if rc!=SQLITE_OK */ - int nStep; /* Rows processed for current object */ - int nProgress; /* Rows processed for all objects */ - RbuObjIter objiter; /* Iterator for skipping through tbl/idx */ - const char *zVfsName; /* Name of automatically created rbu vfs */ - rbu_file *pTargetFd; /* File handle open on target db */ - int nPagePerSector; /* Pages per sector for pTargetFd */ - i64 iOalSz; - i64 nPhaseOneStep; + /* Skip any MATCH_ALL or MATCH_ONE characters that follow a + ** MATCH_ALL. For each MATCH_ONE, skip one character in the + ** test string. + */ + while( (c=*zPattern) == MATCH_ALL || c == MATCH_ONE ){ + if( c==MATCH_ONE ){ + if( *zString==0 ) return 0; + SQLITE_ICU_SKIP_UTF8(zString); + } + zPattern++; + } - /* The following state variables are used as part of the incremental - ** checkpoint stage (eStage==RBU_STAGE_CKPT). See comments surrounding - ** function rbuSetupCheckpoint() for details. */ - u32 iMaxFrame; /* Largest iWalFrame value in aFrame[] */ - u32 mLock; - int nFrame; /* Entries in aFrame[] array */ - int nFrameAlloc; /* Allocated size of aFrame[] array */ - RbuFrame *aFrame; - int pgsz; - u8 *aBuf; - i64 iWalCksum; - i64 szTemp; /* Current size of all temp files in use */ - i64 szTempLimit; /* Total size limit for temp files */ + if( *zPattern==0 ) return 1; - /* Used in RBU vacuum mode only */ - int nRbu; /* Number of RBU VFS in the stack */ - rbu_file *pRbuFd; /* Fd for main db of dbRbu */ -}; + while( *zString ){ + if( icuLikeCompare(zPattern, zString, uEsc) ){ + return 1; + } + SQLITE_ICU_SKIP_UTF8(zString); + } + return 0; -/* -** An rbu VFS is implemented using an instance of this structure. -** -** Variable pRbu is only non-NULL for automatically created RBU VFS objects. -** It is NULL for RBU VFS objects created explicitly using -** sqlite3rbu_create_vfs(). It is used to track the total amount of temp -** space used by the RBU handle. -*/ -struct rbu_vfs { - sqlite3_vfs base; /* rbu VFS shim methods */ - sqlite3_vfs *pRealVfs; /* Underlying VFS */ - sqlite3_mutex *mutex; /* Mutex to protect pMain */ - sqlite3rbu *pRbu; /* Owner RBU object */ - rbu_file *pMain; /* Linked list of main db files */ -}; + }else if( !prevEscape && uPattern==MATCH_ONE ){ + /* Case 2. */ + if( *zString==0 ) return 0; + SQLITE_ICU_SKIP_UTF8(zString); + + }else if( !prevEscape && uPattern==(uint32_t)uEsc){ + /* Case 3. */ + prevEscape = 1; + + }else{ + /* Case 4. */ + uint32_t uString; + SQLITE_ICU_READ_UTF8(zString, uString); + uString = (uint32_t)u_foldCase((UChar32)uString, U_FOLD_CASE_DEFAULT); + uPattern = (uint32_t)u_foldCase((UChar32)uPattern, U_FOLD_CASE_DEFAULT); + if( uString!=uPattern ){ + return 0; + } + prevEscape = 0; + } + } + + return *zString==0; +} /* -** Each file opened by an rbu VFS is represented by an instance of -** the following structure. +** Implementation of the like() SQL function. This function implements +** the build-in LIKE operator. The first argument to the function is the +** pattern and the second argument is the string. So, the SQL statements: ** -** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable -** "sz" is set to the current size of the database file. +** A LIKE B +** +** is implemented as like(B, A). If there is an escape character E, +** +** A LIKE B ESCAPE E +** +** is mapped to like(B, A, E). */ -struct rbu_file { - sqlite3_file base; /* sqlite3_file methods */ - sqlite3_file *pReal; /* Underlying file handle */ - rbu_vfs *pRbuVfs; /* Pointer to the rbu_vfs object */ - sqlite3rbu *pRbu; /* Pointer to rbu object (rbu target only) */ - i64 sz; /* Size of file in bytes (temp only) */ +static void icuLikeFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + const unsigned char *zA = sqlite3_value_text(argv[0]); + const unsigned char *zB = sqlite3_value_text(argv[1]); + UChar32 uEsc = 0; - int openFlags; /* Flags this file was opened with */ - u32 iCookie; /* Cookie value for main db files */ - u8 iWriteVer; /* "write-version" value for main db files */ - u8 bNolock; /* True to fail EXCLUSIVE locks */ + /* Limit the length of the LIKE or GLOB pattern to avoid problems + ** of deep recursion and N*N behavior in patternCompare(). + */ + if( sqlite3_value_bytes(argv[0])>SQLITE_MAX_LIKE_PATTERN_LENGTH ){ + sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1); + return; + } - int nShm; /* Number of entries in apShm[] array */ - char **apShm; /* Array of mmap'd *-shm regions */ - char *zDel; /* Delete this when closing file */ - const char *zWal; /* Wal filename for this main db file */ - rbu_file *pWalFd; /* Wal file descriptor for this main db */ - rbu_file *pMainNext; /* Next MAIN_DB file */ -}; + if( argc==3 ){ + /* The escape character string must consist of a single UTF-8 character. + ** Otherwise, return an error. + */ + int nE= sqlite3_value_bytes(argv[2]); + const unsigned char *zE = sqlite3_value_text(argv[2]); + int i = 0; + if( zE==0 ) return; + U8_NEXT(zE, i, nE, uEsc); + if( i!=nE){ + sqlite3_result_error(context, + "ESCAPE expression must be a single character", -1); + return; + } + } + + if( zA && zB ){ + sqlite3_result_int(context, icuLikeCompare(zA, zB, uEsc)); + } +} /* -** True for an RBU vacuum handle, or false otherwise. +** Function to delete compiled regexp objects. Registered as +** a destructor function with sqlite3_set_auxdata(). */ -#define rbuIsVacuum(p) ((p)->zTarget==0) - +static void icuRegexpDelete(void *p){ + URegularExpression *pExpr = (URegularExpression *)p; + uregex_close(pExpr); +} -/************************************************************************* -** The following three functions, found below: +/* +** Implementation of SQLite REGEXP operator. This scalar function takes +** two arguments. The first is a regular expression pattern to compile +** the second is a string to match against that pattern. If either +** argument is an SQL NULL, then NULL Is returned. Otherwise, the result +** is 1 if the string matches the pattern, or 0 otherwise. ** -** rbuDeltaGetInt() -** rbuDeltaChecksum() -** rbuDeltaApply() +** SQLite maps the regexp() function to the regexp() operator such +** that the following two are equivalent: ** -** are lifted from the fossil source code (http://fossil-scm.org). They -** are used to implement the scalar SQL function rbu_fossil_delta(). +** zString REGEXP zPattern +** regexp(zPattern, zString) +** +** Uses the following ICU regexp APIs: +** +** uregex_open() +** uregex_matches() +** uregex_close() */ +static void icuRegexpFunc(sqlite3_context *p, int nArg, sqlite3_value **apArg){ + UErrorCode status = U_ZERO_ERROR; + URegularExpression *pExpr; + UBool res; + const UChar *zString = sqlite3_value_text16(apArg[1]); -/* -** Read bytes from *pz and convert them into a positive integer. When -** finished, leave *pz pointing to the first character past the end of -** the integer. The *pLen parameter holds the length of the string -** in *pz and is decremented once for each character in the integer. -*/ -static unsigned int rbuDeltaGetInt(const char **pz, int *pLen){ - static const signed char zValue[] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, - -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, 36, - -1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 63, -1, - }; - unsigned int v = 0; - int c; - unsigned char *z = (unsigned char*)*pz; - unsigned char *zStart = z; - while( (c = zValue[0x7f&*(z++)])>=0 ){ - v = (v<<6) + c; + (void)nArg; /* Unused parameter */ + + /* If the left hand side of the regexp operator is NULL, + ** then the result is also NULL. + */ + if( !zString ){ + return; } - z--; - *pLen -= z - zStart; - *pz = (char*)z; - return v; -} -#if RBU_ENABLE_DELTA_CKSUM -/* -** Compute a 32-bit checksum on the N-byte buffer. Return the result. -*/ -static unsigned int rbuDeltaChecksum(const char *zIn, size_t N){ - const unsigned char *z = (const unsigned char *)zIn; - unsigned sum0 = 0; - unsigned sum1 = 0; - unsigned sum2 = 0; - unsigned sum3 = 0; - while(N >= 16){ - sum0 += ((unsigned)z[0] + z[4] + z[8] + z[12]); - sum1 += ((unsigned)z[1] + z[5] + z[9] + z[13]); - sum2 += ((unsigned)z[2] + z[6] + z[10]+ z[14]); - sum3 += ((unsigned)z[3] + z[7] + z[11]+ z[15]); - z += 16; - N -= 16; + pExpr = sqlite3_get_auxdata(p, 0); + if( !pExpr ){ + const UChar *zPattern = sqlite3_value_text16(apArg[0]); + if( !zPattern ){ + return; + } + pExpr = uregex_open(zPattern, -1, 0, 0, &status); + + if( U_SUCCESS(status) ){ + sqlite3_set_auxdata(p, 0, pExpr, icuRegexpDelete); + }else{ + assert(!pExpr); + icuFunctionError(p, "uregex_open", status); + return; + } } - while(N >= 4){ - sum0 += z[0]; - sum1 += z[1]; - sum2 += z[2]; - sum3 += z[3]; - z += 4; - N -= 4; + + /* Configure the text that the regular expression operates on. */ + uregex_setText(pExpr, zString, -1, &status); + if( !U_SUCCESS(status) ){ + icuFunctionError(p, "uregex_setText", status); + return; } - sum3 += (sum2 << 8) + (sum1 << 16) + (sum0 << 24); - switch(N){ - case 3: sum3 += (z[2] << 8); - case 2: sum3 += (z[1] << 16); - case 1: sum3 += (z[0] << 24); - default: ; + + /* Attempt the match */ + res = uregex_matches(pExpr, 0, &status); + if( !U_SUCCESS(status) ){ + icuFunctionError(p, "uregex_matches", status); + return; } - return sum3; + + /* Set the text that the regular expression operates on to a NULL + ** pointer. This is not really necessary, but it is tidier than + ** leaving the regular expression object configured with an invalid + ** pointer after this function returns. + */ + uregex_setText(pExpr, 0, 0, &status); + + /* Return 1 or 0. */ + sqlite3_result_int(p, res ? 1 : 0); } -#endif /* -** Apply a delta. +** Implementations of scalar functions for case mapping - upper() and +** lower(). Function upper() converts its input to upper-case (ABC). +** Function lower() converts to lower-case (abc). ** -** The output buffer should be big enough to hold the whole output -** file and a NUL terminator at the end. The delta_output_size() -** routine will determine this size for you. +** ICU provides two types of case mapping, "general" case mapping and +** "language specific". Refer to ICU documentation for the differences +** between the two. ** -** The delta string should be null-terminated. But the delta string -** may contain embedded NUL characters (if the input and output are -** binary files) so we also have to pass in the length of the delta in -** the lenDelta parameter. +** To utilise "general" case mapping, the upper() or lower() scalar +** functions are invoked with one argument: ** -** This function returns the size of the output file in bytes (excluding -** the final NUL terminator character). Except, if the delta string is -** malformed or intended for use with a source file other than zSrc, -** then this routine returns -1. +** upper('ABC') -> 'abc' +** lower('abc') -> 'ABC' ** -** Refer to the delta_create() documentation above for a description -** of the delta file format. +** To access ICU "language specific" case mapping, upper() or lower() +** should be invoked with two arguments. The second argument is the name +** of the locale to use. Passing an empty string ("") or SQL NULL value +** as the second argument is the same as invoking the 1 argument version +** of upper() or lower(). +** +** lower('I', 'en_us') -> 'i' +** lower('I', 'tr_tr') -> '\u131' (small dotless i) +** +** http://www.icu-project.org/userguide/posix.html#case_mappings */ -static int rbuDeltaApply( - const char *zSrc, /* The source or pattern file */ - int lenSrc, /* Length of the source file */ - const char *zDelta, /* Delta to apply to the pattern */ - int lenDelta, /* Length of the delta */ - char *zOut /* Write the output into this preallocated buffer */ -){ - unsigned int limit; - unsigned int total = 0; -#if RBU_ENABLE_DELTA_CKSUM - char *zOrigOut = zOut; -#endif +static void icuCaseFunc16(sqlite3_context *p, int nArg, sqlite3_value **apArg){ + const UChar *zInput; /* Pointer to input string */ + UChar *zOutput = 0; /* Pointer to output buffer */ + int nInput; /* Size of utf-16 input string in bytes */ + int nOut; /* Size of output buffer in bytes */ + int cnt; + int bToUpper; /* True for toupper(), false for tolower() */ + UErrorCode status; + const char *zLocale = 0; - limit = rbuDeltaGetInt(&zDelta, &lenDelta); - if( *zDelta!='\n' ){ - /* ERROR: size integer not terminated by "\n" */ - return -1; + assert(nArg==1 || nArg==2); + bToUpper = (sqlite3_user_data(p)!=0); + if( nArg==2 ){ + zLocale = (const char *)sqlite3_value_text(apArg[1]); } - zDelta++; lenDelta--; - while( *zDelta && lenDelta>0 ){ - unsigned int cnt, ofst; - cnt = rbuDeltaGetInt(&zDelta, &lenDelta); - switch( zDelta[0] ){ - case '@': { - zDelta++; lenDelta--; - ofst = rbuDeltaGetInt(&zDelta, &lenDelta); - if( lenDelta>0 && zDelta[0]!=',' ){ - /* ERROR: copy command not terminated by ',' */ - return -1; - } - zDelta++; lenDelta--; - total += cnt; - if( total>limit ){ - /* ERROR: copy exceeds output file size */ - return -1; - } - if( (int)(ofst+cnt) > lenSrc ){ - /* ERROR: copy extends past end of input */ - return -1; - } - memcpy(zOut, &zSrc[ofst], cnt); - zOut += cnt; - break; - } - case ':': { - zDelta++; lenDelta--; - total += cnt; - if( total>limit ){ - /* ERROR: insert command gives an output larger than predicted */ - return -1; - } - if( (int)cnt>lenDelta ){ - /* ERROR: insert count exceeds size of delta */ - return -1; - } - memcpy(zOut, zDelta, cnt); - zOut += cnt; - zDelta += cnt; - lenDelta -= cnt; - break; - } - case ';': { - zDelta++; lenDelta--; - zOut[0] = 0; -#if RBU_ENABLE_DELTA_CKSUM - if( cnt!=rbuDeltaChecksum(zOrigOut, total) ){ - /* ERROR: bad checksum */ - return -1; - } -#endif - if( total!=limit ){ - /* ERROR: generated size does not match predicted size */ - return -1; - } - return total; - } - default: { - /* ERROR: unknown delta operator */ - return -1; - } + + zInput = sqlite3_value_text16(apArg[0]); + if( !zInput ){ + return; + } + nOut = nInput = sqlite3_value_bytes16(apArg[0]); + if( nOut==0 ){ + sqlite3_result_text16(p, "", 0, SQLITE_STATIC); + return; + } + + for(cnt=0; cnt<2; cnt++){ + UChar *zNew = sqlite3_realloc(zOutput, nOut); + if( zNew==0 ){ + sqlite3_free(zOutput); + sqlite3_result_error_nomem(p); + return; } + zOutput = zNew; + status = U_ZERO_ERROR; + if( bToUpper ){ + nOut = 2*u_strToUpper(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); + }else{ + nOut = 2*u_strToLower(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); + } + + if( U_SUCCESS(status) ){ + sqlite3_result_text16(p, zOutput, nOut, xFree); + }else if( status==U_BUFFER_OVERFLOW_ERROR ){ + assert( cnt==0 ); + continue; + }else{ + icuFunctionError(p, bToUpper ? "u_strToUpper" : "u_strToLower", status); + } + return; } - /* ERROR: unterminated delta */ - return -1; + assert( 0 ); /* Unreachable */ } -static int rbuDeltaOutputSize(const char *zDelta, int lenDelta){ - int size; - size = rbuDeltaGetInt(&zDelta, &lenDelta); - if( *zDelta!='\n' ){ - /* ERROR: size integer not terminated by "\n" */ - return -1; - } - return size; +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ + +/* +** Collation sequence destructor function. The pCtx argument points to +** a UCollator structure previously allocated using ucol_open(). +*/ +static void icuCollationDel(void *pCtx){ + UCollator *p = (UCollator *)pCtx; + ucol_close(p); } /* -** End of code taken from fossil. -*************************************************************************/ +** Collation sequence comparison function. The pCtx argument points to +** a UCollator structure previously allocated using ucol_open(). +*/ +static int icuCollationColl( + void *pCtx, + int nLeft, + const void *zLeft, + int nRight, + const void *zRight +){ + UCollationResult res; + UCollator *p = (UCollator *)pCtx; + res = ucol_strcoll(p, (UChar *)zLeft, nLeft/2, (UChar *)zRight, nRight/2); + switch( res ){ + case UCOL_LESS: return -1; + case UCOL_GREATER: return +1; + case UCOL_EQUAL: return 0; + } + assert(!"Unexpected return value from ucol_strcoll()"); + return 0; +} /* -** Implementation of SQL scalar function rbu_fossil_delta(). +** Implementation of the scalar function icu_load_collation(). ** -** This function applies a fossil delta patch to a blob. Exactly two -** arguments must be passed to this function. The first is the blob to -** patch and the second the patch to apply. If no error occurs, this -** function returns the patched blob. +** This scalar function is used to add ICU collation based collation +** types to an SQLite database connection. It is intended to be called +** as follows: +** +** SELECT icu_load_collation(, ); +** +** Where is a string containing an ICU locale identifier (i.e. +** "en_AU", "tr_TR" etc.) and is the name of the +** collation sequence to create. */ -static void rbuFossilDeltaFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv +static void icuLoadCollation( + sqlite3_context *p, + int nArg, + sqlite3_value **apArg ){ - const char *aDelta; - int nDelta; - const char *aOrig; - int nOrig; - - int nOut; - int nOut2; - char *aOut; - - assert( argc==2 ); + sqlite3 *db = (sqlite3 *)sqlite3_user_data(p); + UErrorCode status = U_ZERO_ERROR; + const char *zLocale; /* Locale identifier - (eg. "jp_JP") */ + const char *zName; /* SQL Collation sequence name (eg. "japanese") */ + UCollator *pUCollator; /* ICU library collation object */ + int rc; /* Return code from sqlite3_create_collation_x() */ - nOrig = sqlite3_value_bytes(argv[0]); - aOrig = (const char*)sqlite3_value_blob(argv[0]); - nDelta = sqlite3_value_bytes(argv[1]); - aDelta = (const char*)sqlite3_value_blob(argv[1]); + assert(nArg==2); + (void)nArg; /* Unused parameter */ + zLocale = (const char *)sqlite3_value_text(apArg[0]); + zName = (const char *)sqlite3_value_text(apArg[1]); - /* Figure out the size of the output */ - nOut = rbuDeltaOutputSize(aDelta, nDelta); - if( nOut<0 ){ - sqlite3_result_error(context, "corrupt fossil delta", -1); + if( !zLocale || !zName ){ return; } - aOut = sqlite3_malloc(nOut+1); - if( aOut==0 ){ - sqlite3_result_error_nomem(context); - }else{ - nOut2 = rbuDeltaApply(aOrig, nOrig, aDelta, nDelta, aOut); - if( nOut2!=nOut ){ - sqlite3_result_error(context, "corrupt fossil delta", -1); - }else{ - sqlite3_result_blob(context, aOut, nOut, sqlite3_free); - } + pUCollator = ucol_open(zLocale, &status); + if( !U_SUCCESS(status) ){ + icuFunctionError(p, "ucol_open", status); + return; } -} - + assert(p); -/* -** Prepare the SQL statement in buffer zSql against database handle db. -** If successful, set *ppStmt to point to the new statement and return -** SQLITE_OK. -** -** Otherwise, if an error does occur, set *ppStmt to NULL and return -** an SQLite error code. Additionally, set output variable *pzErrmsg to -** point to a buffer containing an error message. It is the responsibility -** of the caller to (eventually) free this buffer using sqlite3_free(). -*/ -static int prepareAndCollectError( - sqlite3 *db, - sqlite3_stmt **ppStmt, - char **pzErrmsg, - const char *zSql -){ - int rc = sqlite3_prepare_v2(db, zSql, -1, ppStmt, 0); + rc = sqlite3_create_collation_v2(db, zName, SQLITE_UTF16, (void *)pUCollator, + icuCollationColl, icuCollationDel + ); if( rc!=SQLITE_OK ){ - *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db)); - *ppStmt = 0; + ucol_close(pUCollator); + sqlite3_result_error(p, "Error registering collation function", -1); } - return rc; } /* -** Reset the SQL statement passed as the first argument. Return a copy -** of the value returned by sqlite3_reset(). -** -** If an error has occurred, then set *pzErrmsg to point to a buffer -** containing an error message. It is the responsibility of the caller -** to eventually free this buffer using sqlite3_free(). +** Register the ICU extension functions with database db. */ -static int resetAndCollectError(sqlite3_stmt *pStmt, char **pzErrmsg){ - int rc = sqlite3_reset(pStmt); - if( rc!=SQLITE_OK ){ - *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(sqlite3_db_handle(pStmt))); +SQLITE_PRIVATE int sqlite3IcuInit(sqlite3 *db){ + static const struct IcuScalar { + const char *zName; /* Function name */ + unsigned char nArg; /* Number of arguments */ + unsigned short enc; /* Optimal text encoding */ + unsigned char iContext; /* sqlite3_user_data() context */ + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + } scalars[] = { + {"icu_load_collation", 2, SQLITE_UTF8, 1, icuLoadCollation}, +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) + {"regexp", 2, SQLITE_ANY|SQLITE_DETERMINISTIC, 0, icuRegexpFunc}, + {"lower", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"lower", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"upper", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"upper", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"lower", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"lower", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"upper", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"upper", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"like", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, + {"like", 3, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ + }; + int rc = SQLITE_OK; + int i; + + for(i=0; rc==SQLITE_OK && i<(int)(sizeof(scalars)/sizeof(scalars[0])); i++){ + const struct IcuScalar *p = &scalars[i]; + rc = sqlite3_create_function( + db, p->zName, p->nArg, p->enc, + p->iContext ? (void*)db : (void*)0, + p->xFunc, 0, 0 + ); } + return rc; } +#if !SQLITE_CORE +#ifdef _WIN32 +__declspec(dllexport) +#endif +SQLITE_API int sqlite3_icu_init( + sqlite3 *db, + char **pzErrMsg, + const sqlite3_api_routines *pApi +){ + SQLITE_EXTENSION_INIT2(pApi) + return sqlite3IcuInit(db); +} +#endif + +#endif + +/************** End of icu.c *************************************************/ +/************** Begin file fts3_icu.c ****************************************/ /* -** Unless it is NULL, argument zSql points to a buffer allocated using -** sqlite3_malloc containing an SQL statement. This function prepares the SQL -** statement against database db and frees the buffer. If statement -** compilation is successful, *ppStmt is set to point to the new statement -** handle and SQLITE_OK is returned. +** 2007 June 22 ** -** Otherwise, if an error occurs, *ppStmt is set to NULL and an error code -** returned. In this case, *pzErrmsg may also be set to point to an error -** message. It is the responsibility of the caller to free this error message -** buffer using sqlite3_free(). +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: ** -** If argument zSql is NULL, this function assumes that an OOM has occurred. -** In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This file implements a tokenizer for fts3 based on the ICU library. */ -static int prepareFreeAndCollectError( - sqlite3 *db, - sqlite3_stmt **ppStmt, - char **pzErrmsg, - char *zSql -){ - int rc; - assert( *pzErrmsg==0 ); - if( zSql==0 ){ - rc = SQLITE_NOMEM; - *ppStmt = 0; - }else{ - rc = prepareAndCollectError(db, ppStmt, pzErrmsg, zSql); - sqlite3_free(zSql); - } - return rc; -} +/* #include "fts3Int.h" */ +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) +#ifdef SQLITE_ENABLE_ICU + +/* #include */ +/* #include */ +/* #include "fts3_tokenizer.h" */ + +#include +/* #include */ +/* #include */ +#include + +typedef struct IcuTokenizer IcuTokenizer; +typedef struct IcuCursor IcuCursor; + +struct IcuTokenizer { + sqlite3_tokenizer base; + char *zLocale; +}; + +struct IcuCursor { + sqlite3_tokenizer_cursor base; + + UBreakIterator *pIter; /* ICU break-iterator object */ + int nChar; /* Number of UChar elements in pInput */ + UChar *aChar; /* Copy of input using utf-16 encoding */ + int *aOffset; /* Offsets of each character in utf-8 input */ + + int nBuffer; + char *zBuffer; + + int iToken; +}; /* -** Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated -** by an earlier call to rbuObjIterCacheTableInfo(). +** Create a new tokenizer instance. */ -static void rbuObjIterFreeCols(RbuObjIter *pIter){ - int i; - for(i=0; inTblCol; i++){ - sqlite3_free(pIter->azTblCol[i]); - sqlite3_free(pIter->azTblType[i]); - } - sqlite3_free(pIter->azTblCol); - pIter->azTblCol = 0; - pIter->azTblType = 0; - pIter->aiSrcOrder = 0; - pIter->abTblPk = 0; - pIter->abNotNull = 0; - pIter->nTblCol = 0; - pIter->eType = 0; /* Invalid value */ -} +static int icuCreate( + int argc, /* Number of entries in argv[] */ + const char * const *argv, /* Tokenizer creation arguments */ + sqlite3_tokenizer **ppTokenizer /* OUT: Created tokenizer */ +){ + IcuTokenizer *p; + int n = 0; -/* -** Finalize all statements and free all allocations that are specific to -** the current object (table/index pair). -*/ -static void rbuObjIterClearStatements(RbuObjIter *pIter){ - RbuUpdateStmt *pUp; + if( argc>0 ){ + n = strlen(argv[0])+1; + } + p = (IcuTokenizer *)sqlite3_malloc(sizeof(IcuTokenizer)+n); + if( !p ){ + return SQLITE_NOMEM; + } + memset(p, 0, sizeof(IcuTokenizer)); - sqlite3_finalize(pIter->pSelect); - sqlite3_finalize(pIter->pInsert); - sqlite3_finalize(pIter->pDelete); - sqlite3_finalize(pIter->pTmpInsert); - pUp = pIter->pRbuUpdate; - while( pUp ){ - RbuUpdateStmt *pTmp = pUp->pNext; - sqlite3_finalize(pUp->pUpdate); - sqlite3_free(pUp); - pUp = pTmp; + if( n ){ + p->zLocale = (char *)&p[1]; + memcpy(p->zLocale, argv[0], n); } - - pIter->pSelect = 0; - pIter->pInsert = 0; - pIter->pDelete = 0; - pIter->pRbuUpdate = 0; - pIter->pTmpInsert = 0; - pIter->nCol = 0; + + *ppTokenizer = (sqlite3_tokenizer *)p; + + return SQLITE_OK; } /* -** Clean up any resources allocated as part of the iterator object passed -** as the only argument. +** Destroy a tokenizer */ -static void rbuObjIterFinalize(RbuObjIter *pIter){ - rbuObjIterClearStatements(pIter); - sqlite3_finalize(pIter->pTblIter); - sqlite3_finalize(pIter->pIdxIter); - rbuObjIterFreeCols(pIter); - memset(pIter, 0, sizeof(RbuObjIter)); +static int icuDestroy(sqlite3_tokenizer *pTokenizer){ + IcuTokenizer *p = (IcuTokenizer *)pTokenizer; + sqlite3_free(p); + return SQLITE_OK; } /* -** Advance the iterator to the next position. -** -** If no error occurs, SQLITE_OK is returned and the iterator is left -** pointing to the next entry. Otherwise, an error code and message is -** left in the RBU handle passed as the first argument. A copy of the -** error code is returned. +** Prepare to begin tokenizing a particular string. The input +** string to be tokenized is pInput[0..nBytes-1]. A cursor +** used to incrementally tokenize this string is returned in +** *ppCursor. */ -static int rbuObjIterNext(sqlite3rbu *p, RbuObjIter *pIter){ - int rc = p->rc; - if( rc==SQLITE_OK ){ +static int icuOpen( + sqlite3_tokenizer *pTokenizer, /* The tokenizer */ + const char *zInput, /* Input string */ + int nInput, /* Length of zInput in bytes */ + sqlite3_tokenizer_cursor **ppCursor /* OUT: Tokenization cursor */ +){ + IcuTokenizer *p = (IcuTokenizer *)pTokenizer; + IcuCursor *pCsr; - /* Free any SQLite statements used while processing the previous object */ - rbuObjIterClearStatements(pIter); - if( pIter->zIdx==0 ){ - rc = sqlite3_exec(p->dbMain, - "DROP TRIGGER IF EXISTS temp.rbu_insert_tr;" - "DROP TRIGGER IF EXISTS temp.rbu_update1_tr;" - "DROP TRIGGER IF EXISTS temp.rbu_update2_tr;" - "DROP TRIGGER IF EXISTS temp.rbu_delete_tr;" - , 0, 0, &p->zErrmsg - ); + const int32_t opt = U_FOLD_CASE_DEFAULT; + UErrorCode status = U_ZERO_ERROR; + int nChar; + + UChar32 c; + int iInput = 0; + int iOut = 0; + + *ppCursor = 0; + + if( zInput==0 ){ + nInput = 0; + zInput = ""; + }else if( nInput<0 ){ + nInput = strlen(zInput); + } + nChar = nInput+1; + pCsr = (IcuCursor *)sqlite3_malloc( + sizeof(IcuCursor) + /* IcuCursor */ + ((nChar+3)&~3) * sizeof(UChar) + /* IcuCursor.aChar[] */ + (nChar+1) * sizeof(int) /* IcuCursor.aOffset[] */ + ); + if( !pCsr ){ + return SQLITE_NOMEM; + } + memset(pCsr, 0, sizeof(IcuCursor)); + pCsr->aChar = (UChar *)&pCsr[1]; + pCsr->aOffset = (int *)&pCsr->aChar[(nChar+3)&~3]; + + pCsr->aOffset[iOut] = iInput; + U8_NEXT(zInput, iInput, nInput, c); + while( c>0 ){ + int isError = 0; + c = u_foldCase(c, opt); + U16_APPEND(pCsr->aChar, iOut, nChar, c, isError); + if( isError ){ + sqlite3_free(pCsr); + return SQLITE_ERROR; } + pCsr->aOffset[iOut] = iInput; - if( rc==SQLITE_OK ){ - if( pIter->bCleanup ){ - rbuObjIterFreeCols(pIter); - pIter->bCleanup = 0; - rc = sqlite3_step(pIter->pTblIter); - if( rc!=SQLITE_ROW ){ - rc = resetAndCollectError(pIter->pTblIter, &p->zErrmsg); - pIter->zTbl = 0; - }else{ - pIter->zTbl = (const char*)sqlite3_column_text(pIter->pTblIter, 0); - pIter->zDataTbl = (const char*)sqlite3_column_text(pIter->pTblIter,1); - rc = (pIter->zDataTbl && pIter->zTbl) ? SQLITE_OK : SQLITE_NOMEM; - } - }else{ - if( pIter->zIdx==0 ){ - sqlite3_stmt *pIdx = pIter->pIdxIter; - rc = sqlite3_bind_text(pIdx, 1, pIter->zTbl, -1, SQLITE_STATIC); - } - if( rc==SQLITE_OK ){ - rc = sqlite3_step(pIter->pIdxIter); - if( rc!=SQLITE_ROW ){ - rc = resetAndCollectError(pIter->pIdxIter, &p->zErrmsg); - pIter->bCleanup = 1; - pIter->zIdx = 0; - }else{ - pIter->zIdx = (const char*)sqlite3_column_text(pIter->pIdxIter, 0); - pIter->iTnum = sqlite3_column_int(pIter->pIdxIter, 1); - pIter->bUnique = sqlite3_column_int(pIter->pIdxIter, 2); - rc = pIter->zIdx ? SQLITE_OK : SQLITE_NOMEM; - } - } - } + if( iInputrc = rc; + pCsr->pIter = ubrk_open(UBRK_WORD, p->zLocale, pCsr->aChar, iOut, &status); + if( !U_SUCCESS(status) ){ + sqlite3_free(pCsr); + return SQLITE_ERROR; } - return rc; + pCsr->nChar = iOut; + + ubrk_first(pCsr->pIter); + *ppCursor = (sqlite3_tokenizer_cursor *)pCsr; + return SQLITE_OK; } +/* +** Close a tokenization cursor previously opened by a call to icuOpen(). +*/ +static int icuClose(sqlite3_tokenizer_cursor *pCursor){ + IcuCursor *pCsr = (IcuCursor *)pCursor; + ubrk_close(pCsr->pIter); + sqlite3_free(pCsr->zBuffer); + sqlite3_free(pCsr); + return SQLITE_OK; +} /* -** The implementation of the rbu_target_name() SQL function. This function -** accepts one or two arguments. The first argument is the name of a table - -** the name of a table in the RBU database. The second, if it is present, is 1 -** for a view or 0 for a table. -** -** For a non-vacuum RBU handle, if the table name matches the pattern: -** -** data[0-9]_ -** -** where is any sequence of 1 or more characters, is returned. -** Otherwise, if the only argument does not match the above pattern, an SQL -** NULL is returned. -** -** "data_t1" -> "t1" -** "data0123_t2" -> "t2" -** "dataAB_t3" -> NULL -** -** For an rbu vacuum handle, a copy of the first argument is returned if -** the second argument is either missing or 0 (not a view). +** Extract the next token from a tokenization cursor. */ -static void rbuTargetNameFunc( - sqlite3_context *pCtx, - int argc, - sqlite3_value **argv +static int icuNext( + sqlite3_tokenizer_cursor *pCursor, /* Cursor returned by simpleOpen */ + const char **ppToken, /* OUT: *ppToken is the token text */ + int *pnBytes, /* OUT: Number of bytes in token */ + int *piStartOffset, /* OUT: Starting offset of token */ + int *piEndOffset, /* OUT: Ending offset of token */ + int *piPosition /* OUT: Position integer of token */ ){ - sqlite3rbu *p = sqlite3_user_data(pCtx); - const char *zIn; - assert( argc==1 || argc==2 ); + IcuCursor *pCsr = (IcuCursor *)pCursor; - zIn = (const char*)sqlite3_value_text(argv[0]); - if( zIn ){ - if( rbuIsVacuum(p) ){ - if( argc==1 || 0==sqlite3_value_int(argv[1]) ){ - sqlite3_result_text(pCtx, zIn, -1, SQLITE_STATIC); - } - }else{ - if( strlen(zIn)>4 && memcmp("data", zIn, 4)==0 ){ - int i; - for(i=4; zIn[i]>='0' && zIn[i]<='9'; i++); - if( zIn[i]=='_' && zIn[i+1] ){ - sqlite3_result_text(pCtx, &zIn[i+1], -1, SQLITE_STATIC); - } + int iStart = 0; + int iEnd = 0; + int nByte = 0; + + while( iStart==iEnd ){ + UChar32 c; + + iStart = ubrk_current(pCsr->pIter); + iEnd = ubrk_next(pCsr->pIter); + if( iEnd==UBRK_DONE ){ + return SQLITE_DONE; + } + + while( iStartaChar, iWhite, pCsr->nChar, c); + if( u_isspace(c) ){ + iStart = iWhite; + }else{ + break; } } + assert(iStart<=iEnd); } -} - -/* -** Initialize the iterator structure passed as the second argument. -** -** If no error occurs, SQLITE_OK is returned and the iterator is left -** pointing to the first entry. Otherwise, an error code and message is -** left in the RBU handle passed as the first argument. A copy of the -** error code is returned. -*/ -static int rbuObjIterFirst(sqlite3rbu *p, RbuObjIter *pIter){ - int rc; - memset(pIter, 0, sizeof(RbuObjIter)); - rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pTblIter, &p->zErrmsg, - sqlite3_mprintf( - "SELECT rbu_target_name(name, type='view') AS target, name " - "FROM sqlite_master " - "WHERE type IN ('table', 'view') AND target IS NOT NULL " - " %s " - "ORDER BY name" - , rbuIsVacuum(p) ? "AND rootpage!=0 AND rootpage IS NOT NULL" : "")); + do { + UErrorCode status = U_ZERO_ERROR; + if( nByte ){ + char *zNew = sqlite3_realloc(pCsr->zBuffer, nByte); + if( !zNew ){ + return SQLITE_NOMEM; + } + pCsr->zBuffer = zNew; + pCsr->nBuffer = nByte; + } - if( rc==SQLITE_OK ){ - rc = prepareAndCollectError(p->dbMain, &pIter->pIdxIter, &p->zErrmsg, - "SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' " - " FROM main.sqlite_master " - " WHERE type='index' AND tbl_name = ?" + u_strToUTF8( + pCsr->zBuffer, pCsr->nBuffer, &nByte, /* Output vars */ + &pCsr->aChar[iStart], iEnd-iStart, /* Input vars */ + &status /* Output success/failure */ ); - } + } while( nByte>pCsr->nBuffer ); - pIter->bCleanup = 1; - p->rc = rc; - return rbuObjIterNext(p, pIter); + *ppToken = pCsr->zBuffer; + *pnBytes = nByte; + *piStartOffset = pCsr->aOffset[iStart]; + *piEndOffset = pCsr->aOffset[iEnd]; + *piPosition = pCsr->iToken++; + + return SQLITE_OK; } /* -** This is a wrapper around "sqlite3_mprintf(zFmt, ...)". If an OOM occurs, -** an error code is stored in the RBU handle passed as the first argument. -** -** If an error has already occurred (p->rc is already set to something other -** than SQLITE_OK), then this function returns NULL without modifying the -** stored error code. In this case it still calls sqlite3_free() on any -** printf() parameters associated with %z conversions. +** The set of routines that implement the simple tokenizer */ -static char *rbuMPrintf(sqlite3rbu *p, const char *zFmt, ...){ - char *zSql = 0; - va_list ap; - va_start(ap, zFmt); - zSql = sqlite3_vmprintf(zFmt, ap); - if( p->rc==SQLITE_OK ){ - if( zSql==0 ) p->rc = SQLITE_NOMEM; - }else{ - sqlite3_free(zSql); - zSql = 0; - } - va_end(ap); - return zSql; -} +static const sqlite3_tokenizer_module icuTokenizerModule = { + 0, /* iVersion */ + icuCreate, /* xCreate */ + icuDestroy, /* xCreate */ + icuOpen, /* xOpen */ + icuClose, /* xClose */ + icuNext, /* xNext */ + 0, /* xLanguageid */ +}; /* -** Argument zFmt is a sqlite3_mprintf() style format string. The trailing -** arguments are the usual subsitution values. This function performs -** the printf() style substitutions and executes the result as an SQL -** statement on the RBU handles database. -** -** If an error occurs, an error code and error message is stored in the -** RBU handle. If an error has already occurred when this function is -** called, it is a no-op. +** Set *ppModule to point at the implementation of the ICU tokenizer. */ -static int rbuMPrintfExec(sqlite3rbu *p, sqlite3 *db, const char *zFmt, ...){ - va_list ap; - char *zSql; - va_start(ap, zFmt); - zSql = sqlite3_vmprintf(zFmt, ap); - if( p->rc==SQLITE_OK ){ - if( zSql==0 ){ - p->rc = SQLITE_NOMEM; - }else{ - p->rc = sqlite3_exec(db, zSql, 0, 0, &p->zErrmsg); - } - } - sqlite3_free(zSql); - va_end(ap); - return p->rc; +SQLITE_PRIVATE void sqlite3Fts3IcuTokenizerModule( + sqlite3_tokenizer_module const**ppModule +){ + *ppModule = &icuTokenizerModule; } +#endif /* defined(SQLITE_ENABLE_ICU) */ +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) */ + +/************** End of fts3_icu.c ********************************************/ +/************** Begin file sqlite3rbu.c **************************************/ /* -** Attempt to allocate and return a pointer to a zeroed block of nByte -** bytes. +** 2014 August 30 ** -** If an error (i.e. an OOM condition) occurs, return NULL and leave an -** error code in the rbu handle passed as the first argument. Or, if an -** error has already occurred when this function is called, return NULL -** immediately without attempting the allocation or modifying the stored -** error code. +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** +** +** OVERVIEW +** +** The RBU extension requires that the RBU update be packaged as an +** SQLite database. The tables it expects to find are described in +** sqlite3rbu.h. Essentially, for each table xyz in the target database +** that the user wishes to write to, a corresponding data_xyz table is +** created in the RBU database and populated with one row for each row to +** update, insert or delete from the target table. +** +** The update proceeds in three stages: +** +** 1) The database is updated. The modified database pages are written +** to a *-oal file. A *-oal file is just like a *-wal file, except +** that it is named "-oal" instead of "-wal". +** Because regular SQLite clients do not look for file named +** "-oal", they go on using the original database in +** rollback mode while the *-oal file is being generated. +** +** During this stage RBU does not update the database by writing +** directly to the target tables. Instead it creates "imposter" +** tables using the SQLITE_TESTCTRL_IMPOSTER interface that it uses +** to update each b-tree individually. All updates required by each +** b-tree are completed before moving on to the next, and all +** updates are done in sorted key order. +** +** 2) The "-oal" file is moved to the equivalent "-wal" +** location using a call to rename(2). Before doing this the RBU +** module takes an EXCLUSIVE lock on the database file, ensuring +** that there are no other active readers. +** +** Once the EXCLUSIVE lock is released, any other database readers +** detect the new *-wal file and read the database in wal mode. At +** this point they see the new version of the database - including +** the updates made as part of the RBU update. +** +** 3) The new *-wal file is checkpointed. This proceeds in the same way +** as a regular database checkpoint, except that a single frame is +** checkpointed each time sqlite3rbu_step() is called. If the RBU +** handle is closed before the entire *-wal file is checkpointed, +** the checkpoint progress is saved in the RBU database and the +** checkpoint can be resumed by another RBU client at some point in +** the future. +** +** POTENTIAL PROBLEMS +** +** The rename() call might not be portable. And RBU is not currently +** syncing the directory after renaming the file. +** +** When state is saved, any commit to the *-oal file and the commit to +** the RBU update database are not atomic. So if the power fails at the +** wrong moment they might get out of sync. As the main database will be +** committed before the RBU update database this will likely either just +** pass unnoticed, or result in SQLITE_CONSTRAINT errors (due to UNIQUE +** constraint violations). +** +** If some client does modify the target database mid RBU update, or some +** other error occurs, the RBU extension will keep throwing errors. It's +** not really clear how to get out of this state. The system could just +** by delete the RBU update database and *-oal file and have the device +** download the update again and start over. +** +** At present, for an UPDATE, both the new.* and old.* records are +** collected in the rbu_xyz table. And for both UPDATEs and DELETEs all +** fields are collected. This means we're probably writing a lot more +** data to disk when saving the state of an ongoing update to the RBU +** update database than is strictly necessary. +** */ -static void *rbuMalloc(sqlite3rbu *p, int nByte){ - void *pRet = 0; - if( p->rc==SQLITE_OK ){ - assert( nByte>0 ); - pRet = sqlite3_malloc64(nByte); - if( pRet==0 ){ - p->rc = SQLITE_NOMEM; - }else{ - memset(pRet, 0, nByte); - } - } - return pRet; -} +/* #include */ +/* #include */ +/* #include */ + +/* #include "sqlite3.h" */ +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_RBU) +/************** Include sqlite3rbu.h in the middle of sqlite3rbu.c ***********/ +/************** Begin file sqlite3rbu.h **************************************/ /* -** Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that -** there is room for at least nCol elements. If an OOM occurs, store an -** error code in the RBU handle passed as the first argument. +** 2014 August 30 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** +** This file contains the public interface for the RBU extension. */ -static void rbuAllocateIterArrays(sqlite3rbu *p, RbuObjIter *pIter, int nCol){ - int nByte = (2*sizeof(char*) + sizeof(int) + 3*sizeof(u8)) * nCol; - char **azNew; - - azNew = (char**)rbuMalloc(p, nByte); - if( azNew ){ - pIter->azTblCol = azNew; - pIter->azTblType = &azNew[nCol]; - pIter->aiSrcOrder = (int*)&pIter->azTblType[nCol]; - pIter->abTblPk = (u8*)&pIter->aiSrcOrder[nCol]; - pIter->abNotNull = (u8*)&pIter->abTblPk[nCol]; - pIter->abIndexed = (u8*)&pIter->abNotNull[nCol]; - } -} /* -** The first argument must be a nul-terminated string. This function -** returns a copy of the string in memory obtained from sqlite3_malloc(). -** It is the responsibility of the caller to eventually free this memory -** using sqlite3_free(). +** SUMMARY ** -** If an OOM condition is encountered when attempting to allocate memory, -** output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, -** if the allocation succeeds, (*pRc) is left unchanged. +** Writing a transaction containing a large number of operations on +** b-tree indexes that are collectively larger than the available cache +** memory can be very inefficient. +** +** The problem is that in order to update a b-tree, the leaf page (at least) +** containing the entry being inserted or deleted must be modified. If the +** working set of leaves is larger than the available cache memory, then a +** single leaf that is modified more than once as part of the transaction +** may be loaded from or written to the persistent media multiple times. +** Additionally, because the index updates are likely to be applied in +** random order, access to pages within the database is also likely to be in +** random order, which is itself quite inefficient. +** +** One way to improve the situation is to sort the operations on each index +** by index key before applying them to the b-tree. This leads to an IO +** pattern that resembles a single linear scan through the index b-tree, +** and all but guarantees each modified leaf page is loaded and stored +** exactly once. SQLite uses this trick to improve the performance of +** CREATE INDEX commands. This extension allows it to be used to improve +** the performance of large transactions on existing databases. +** +** Additionally, this extension allows the work involved in writing the +** large transaction to be broken down into sub-transactions performed +** sequentially by separate processes. This is useful if the system cannot +** guarantee that a single update process will run for long enough to apply +** the entire update, for example because the update is being applied on a +** mobile device that is frequently rebooted. Even after the writer process +** has committed one or more sub-transactions, other database clients continue +** to read from the original database snapshot. In other words, partially +** applied transactions are not visible to other clients. +** +** "RBU" stands for "Resumable Bulk Update". As in a large database update +** transmitted via a wireless network to a mobile device. A transaction +** applied using this extension is hence refered to as an "RBU update". +** +** +** LIMITATIONS +** +** An "RBU update" transaction is subject to the following limitations: +** +** * The transaction must consist of INSERT, UPDATE and DELETE operations +** only. +** +** * INSERT statements may not use any default values. +** +** * UPDATE and DELETE statements must identify their target rows by +** non-NULL PRIMARY KEY values. Rows with NULL values stored in PRIMARY +** KEY fields may not be updated or deleted. If the table being written +** has no PRIMARY KEY, affected rows must be identified by rowid. +** +** * UPDATE statements may not modify PRIMARY KEY columns. +** +** * No triggers will be fired. +** +** * No foreign key violations are detected or reported. +** +** * CHECK constraints are not enforced. +** +** * No constraint handling mode except for "OR ROLLBACK" is supported. +** +** +** PREPARATION +** +** An "RBU update" is stored as a separate SQLite database. A database +** containing an RBU update is an "RBU database". For each table in the +** target database to be updated, the RBU database should contain a table +** named "data_" containing the same set of columns as the +** target table, and one more - "rbu_control". The data_% table should +** have no PRIMARY KEY or UNIQUE constraints, but each column should have +** the same type as the corresponding column in the target database. +** The "rbu_control" column should have no type at all. For example, if +** the target database contains: +** +** CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c UNIQUE); +** +** Then the RBU database should contain: +** +** CREATE TABLE data_t1(a INTEGER, b TEXT, c, rbu_control); +** +** The order of the columns in the data_% table does not matter. +** +** Instead of a regular table, the RBU database may also contain virtual +** tables or view named using the data_ naming scheme. +** +** Instead of the plain data_ naming scheme, RBU database tables +** may also be named data_, where is any sequence +** of zero or more numeric characters (0-9). This can be significant because +** tables within the RBU database are always processed in order sorted by +** name. By judicious selection of the portion of the names +** of the RBU tables the user can therefore control the order in which they +** are processed. This can be useful, for example, to ensure that "external +** content" FTS4 tables are updated before their underlying content tables. +** +** If the target database table is a virtual table or a table that has no +** PRIMARY KEY declaration, the data_% table must also contain a column +** named "rbu_rowid". This column is mapped to the tables implicit primary +** key column - "rowid". Virtual tables for which the "rowid" column does +** not function like a primary key value cannot be updated using RBU. For +** example, if the target db contains either of the following: +** +** CREATE VIRTUAL TABLE x1 USING fts3(a, b); +** CREATE TABLE x1(a, b) +** +** then the RBU database should contain: +** +** CREATE TABLE data_x1(a, b, rbu_rowid, rbu_control); +** +** All non-hidden columns (i.e. all columns matched by "SELECT *") of the +** target table must be present in the input table. For virtual tables, +** hidden columns are optional - they are updated by RBU if present in +** the input table, or not otherwise. For example, to write to an fts4 +** table with a hidden languageid column such as: +** +** CREATE VIRTUAL TABLE ft1 USING fts4(a, b, languageid='langid'); +** +** Either of the following input table schemas may be used: +** +** CREATE TABLE data_ft1(a, b, langid, rbu_rowid, rbu_control); +** CREATE TABLE data_ft1(a, b, rbu_rowid, rbu_control); +** +** For each row to INSERT into the target database as part of the RBU +** update, the corresponding data_% table should contain a single record +** with the "rbu_control" column set to contain integer value 0. The +** other columns should be set to the values that make up the new record +** to insert. +** +** If the target database table has an INTEGER PRIMARY KEY, it is not +** possible to insert a NULL value into the IPK column. Attempting to +** do so results in an SQLITE_MISMATCH error. +** +** For each row to DELETE from the target database as part of the RBU +** update, the corresponding data_% table should contain a single record +** with the "rbu_control" column set to contain integer value 1. The +** real primary key values of the row to delete should be stored in the +** corresponding columns of the data_% table. The values stored in the +** other columns are not used. +** +** For each row to UPDATE from the target database as part of the RBU +** update, the corresponding data_% table should contain a single record +** with the "rbu_control" column set to contain a value of type text. +** The real primary key values identifying the row to update should be +** stored in the corresponding columns of the data_% table row, as should +** the new values of all columns being update. The text value in the +** "rbu_control" column must contain the same number of characters as +** there are columns in the target database table, and must consist entirely +** of 'x' and '.' characters (or in some special cases 'd' - see below). For +** each column that is being updated, the corresponding character is set to +** 'x'. For those that remain as they are, the corresponding character of the +** rbu_control value should be set to '.'. For example, given the tables +** above, the update statement: +** +** UPDATE t1 SET c = 'usa' WHERE a = 4; +** +** is represented by the data_t1 row created by: +** +** INSERT INTO data_t1(a, b, c, rbu_control) VALUES(4, NULL, 'usa', '..x'); +** +** Instead of an 'x' character, characters of the rbu_control value specified +** for UPDATEs may also be set to 'd'. In this case, instead of updating the +** target table with the value stored in the corresponding data_% column, the +** user-defined SQL function "rbu_delta()" is invoked and the result stored in +** the target table column. rbu_delta() is invoked with two arguments - the +** original value currently stored in the target table column and the +** value specified in the data_xxx table. +** +** For example, this row: +** +** INSERT INTO data_t1(a, b, c, rbu_control) VALUES(4, NULL, 'usa', '..d'); +** +** is similar to an UPDATE statement such as: +** +** UPDATE t1 SET c = rbu_delta(c, 'usa') WHERE a = 4; +** +** Finally, if an 'f' character appears in place of a 'd' or 's' in an +** ota_control string, the contents of the data_xxx table column is assumed +** to be a "fossil delta" - a patch to be applied to a blob value in the +** format used by the fossil source-code management system. In this case +** the existing value within the target database table must be of type BLOB. +** It is replaced by the result of applying the specified fossil delta to +** itself. +** +** If the target database table is a virtual table or a table with no PRIMARY +** KEY, the rbu_control value should not include a character corresponding +** to the rbu_rowid value. For example, this: +** +** INSERT INTO data_ft1(a, b, rbu_rowid, rbu_control) +** VALUES(NULL, 'usa', 12, '.x'); +** +** causes a result similar to: +** +** UPDATE ft1 SET b = 'usa' WHERE rowid = 12; +** +** The data_xxx tables themselves should have no PRIMARY KEY declarations. +** However, RBU is more efficient if reading the rows in from each data_xxx +** table in "rowid" order is roughly the same as reading them sorted by +** the PRIMARY KEY of the corresponding target database table. In other +** words, rows should be sorted using the destination table PRIMARY KEY +** fields before they are inserted into the data_xxx tables. +** +** USAGE +** +** The API declared below allows an application to apply an RBU update +** stored on disk to an existing target database. Essentially, the +** application: +** +** 1) Opens an RBU handle using the sqlite3rbu_open() function. +** +** 2) Registers any required virtual table modules with the database +** handle returned by sqlite3rbu_db(). Also, if required, register +** the rbu_delta() implementation. +** +** 3) Calls the sqlite3rbu_step() function one or more times on +** the new handle. Each call to sqlite3rbu_step() performs a single +** b-tree operation, so thousands of calls may be required to apply +** a complete update. +** +** 4) Calls sqlite3rbu_close() to close the RBU update handle. If +** sqlite3rbu_step() has been called enough times to completely +** apply the update to the target database, then the RBU database +** is marked as fully applied. Otherwise, the state of the RBU +** update application is saved in the RBU database for later +** resumption. +** +** See comments below for more detail on APIs. +** +** If an update is only partially applied to the target database by the +** time sqlite3rbu_close() is called, various state information is saved +** within the RBU database. This allows subsequent processes to automatically +** resume the RBU update from where it left off. +** +** To remove all RBU extension state information, returning an RBU database +** to its original contents, it is sufficient to drop all tables that begin +** with the prefix "rbu_" +** +** DATABASE LOCKING +** +** An RBU update may not be applied to a database in WAL mode. Attempting +** to do so is an error (SQLITE_ERROR). +** +** While an RBU handle is open, a SHARED lock may be held on the target +** database file. This means it is possible for other clients to read the +** database, but not to write it. +** +** If an RBU update is started and then suspended before it is completed, +** then an external client writes to the database, then attempting to resume +** the suspended RBU update is also an error (SQLITE_BUSY). */ -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; - } - } +#ifndef _SQLITE3RBU_H +#define _SQLITE3RBU_H - return zRet; -} +/* #include "sqlite3.h" ** Required for error code definitions ** */ + +#if 0 +extern "C" { +#endif + +typedef struct sqlite3rbu sqlite3rbu; /* -** Finalize the statement passed as the second argument. +** Open an RBU handle. ** -** If the sqlite3_finalize() call indicates that an error occurs, and the -** rbu handle error code is not already set, set the error code and error -** message accordingly. -*/ -static void rbuFinalize(sqlite3rbu *p, sqlite3_stmt *pStmt){ - sqlite3 *db = sqlite3_db_handle(pStmt); - int rc = sqlite3_finalize(pStmt); - if( p->rc==SQLITE_OK && rc!=SQLITE_OK ){ - p->rc = rc; - p->zErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db)); - } -} - -/* Determine the type of a table. +** Argument zTarget is the path to the target database. Argument zRbu is +** the path to the RBU database. Each call to this function must be matched +** by a call to sqlite3rbu_close(). When opening the databases, RBU passes +** the SQLITE_CONFIG_URI flag to sqlite3_open_v2(). So if either zTarget +** or zRbu begin with "file:", it will be interpreted as an SQLite +** database URI, not a regular file name. ** -** peType is of type (int*), a pointer to an output parameter of type -** (int). This call sets the output parameter as follows, depending -** on the type of the table specified by parameters dbName and zTbl. +** If the zState argument is passed a NULL value, the RBU extension stores +** the current state of the update (how many rows have been updated, which +** indexes are yet to be updated etc.) within the RBU database itself. This +** can be convenient, as it means that the RBU application does not need to +** organize removing a separate state file after the update is concluded. +** Or, if zState is non-NULL, it must be a path to a database file in which +** the RBU extension can store the state of the update. ** -** RBU_PK_NOTABLE: No such table. -** RBU_PK_NONE: Table has an implicit rowid. -** RBU_PK_IPK: Table has an explicit IPK column. -** RBU_PK_EXTERNAL: Table has an external PK index. -** RBU_PK_WITHOUT_ROWID: Table is WITHOUT ROWID. -** RBU_PK_VTAB: Table is a virtual table. +** When resuming an RBU update, the zState argument must be passed the same +** value as when the RBU update was started. ** -** Argument *piPk is also of type (int*), and also points to an output -** parameter. Unless the table has an external primary key index -** (i.e. unless *peType is set to 3), then *piPk is set to zero. Or, -** if the table does have an external primary key index, then *piPk -** is set to the root page number of the primary key index before -** returning. +** Once the RBU update is finished, the RBU extension does not +** automatically remove any zState database file, even if it created it. ** -** ALGORITHM: +** By default, RBU uses the default VFS to access the files on disk. To +** use a VFS other than the default, an SQLite "file:" URI containing a +** "vfs=..." option may be passed as the zTarget option. ** -** if( no entry exists in sqlite_master ){ -** return RBU_PK_NOTABLE -** }else if( sql for the entry starts with "CREATE VIRTUAL" ){ -** return RBU_PK_VTAB -** }else if( "PRAGMA index_list()" for the table contains a "pk" index ){ -** if( the index that is the pk exists in sqlite_master ){ -** *piPK = rootpage of that index. -** return RBU_PK_EXTERNAL -** }else{ -** return RBU_PK_WITHOUT_ROWID -** } -** }else if( "PRAGMA table_info()" lists one or more "pk" columns ){ -** return RBU_PK_IPK -** }else{ -** return RBU_PK_NONE -** } +** IMPORTANT NOTE FOR ZIPVFS USERS: The RBU extension works with all of +** SQLite's built-in VFSs, including the multiplexor VFS. However it does +** not work out of the box with zipvfs. Refer to the comment describing +** the zipvfs_create_vfs() API below for details on using RBU with zipvfs. */ -static void rbuTableType( - sqlite3rbu *p, - const char *zTab, - int *peType, - int *piTnum, - int *piPk -){ - /* - ** 0) SELECT count(*) FROM sqlite_master where name=%Q AND IsVirtual(%Q) - ** 1) PRAGMA index_list = ? - ** 2) SELECT count(*) FROM sqlite_master where name=%Q - ** 3) PRAGMA table_info = ? - */ - sqlite3_stmt *aStmt[4] = {0, 0, 0, 0}; - - *peType = RBU_PK_NOTABLE; - *piPk = 0; +SQLITE_API sqlite3rbu *sqlite3rbu_open( + const char *zTarget, + const char *zRbu, + const char *zState +); - assert( p->rc==SQLITE_OK ); - p->rc = prepareFreeAndCollectError(p->dbMain, &aStmt[0], &p->zErrmsg, - sqlite3_mprintf( - "SELECT (sql LIKE 'create virtual%%'), rootpage" - " FROM sqlite_master" - " WHERE name=%Q", zTab - )); - if( p->rc!=SQLITE_OK || sqlite3_step(aStmt[0])!=SQLITE_ROW ){ - /* Either an error, or no such table. */ - goto rbuTableType_end; - } - if( sqlite3_column_int(aStmt[0], 0) ){ - *peType = RBU_PK_VTAB; /* virtual table */ - goto rbuTableType_end; - } - *piTnum = sqlite3_column_int(aStmt[0], 1); +/* +** Open an RBU handle to perform an RBU vacuum on database file zTarget. +** An RBU vacuum is similar to SQLite's built-in VACUUM command, except +** that it can be suspended and resumed like an RBU update. +** +** The second argument to this function identifies a database in which +** to store the state of the RBU vacuum operation if it is suspended. The +** first time sqlite3rbu_vacuum() is called, to start an RBU vacuum +** operation, the state database should either not exist or be empty +** (contain no tables). If an RBU vacuum is suspended by calling +** sqlite3rbu_close() on the RBU handle before sqlite3rbu_step() has +** returned SQLITE_DONE, the vacuum state is stored in the state database. +** The vacuum can be resumed by calling this function to open a new RBU +** handle specifying the same target and state databases. +** +** If the second argument passed to this function is NULL, then the +** 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. +** +** This function does not delete the state database after an RBU vacuum +** is completed, even if it created it. However, if the call to +** sqlite3rbu_close() returns any value other than SQLITE_OK, the contents +** of the state tables within the state database are zeroed. This way, +** the next call to sqlite3rbu_vacuum() opens a handle that starts a +** new RBU vacuum operation. +** +** As with sqlite3rbu_open(), Zipvfs users should rever to the comment +** describing the sqlite3rbu_create_vfs() API function below for +** a description of the complications associated with using RBU with +** zipvfs databases. +*/ +SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( + const char *zTarget, + const char *zState +); - p->rc = prepareFreeAndCollectError(p->dbMain, &aStmt[1], &p->zErrmsg, - sqlite3_mprintf("PRAGMA index_list=%Q",zTab) - ); - if( p->rc ) goto rbuTableType_end; - while( sqlite3_step(aStmt[1])==SQLITE_ROW ){ - const u8 *zOrig = sqlite3_column_text(aStmt[1], 3); - const u8 *zIdx = sqlite3_column_text(aStmt[1], 1); - if( zOrig && zIdx && zOrig[0]=='p' ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &aStmt[2], &p->zErrmsg, - sqlite3_mprintf( - "SELECT rootpage FROM sqlite_master WHERE name = %Q", zIdx - )); - if( p->rc==SQLITE_OK ){ - if( sqlite3_step(aStmt[2])==SQLITE_ROW ){ - *piPk = sqlite3_column_int(aStmt[2], 0); - *peType = RBU_PK_EXTERNAL; - }else{ - *peType = RBU_PK_WITHOUT_ROWID; - } - } - goto rbuTableType_end; - } - } +/* +** Configure a limit for the amount of temp space that may be used by +** the RBU handle passed as the first argument. The new limit is specified +** in bytes by the second parameter. If it is positive, the limit is updated. +** If the second parameter to this function is passed zero, then the limit +** is removed entirely. If the second parameter is negative, the limit is +** not modified (this is useful for querying the current limit). +** +** In all cases the returned value is the current limit in bytes (zero +** indicates unlimited). +** +** If the temp space limit is exceeded during operation, an SQLITE_FULL +** error is returned. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size_limit(sqlite3rbu*, sqlite3_int64); - p->rc = prepareFreeAndCollectError(p->dbMain, &aStmt[3], &p->zErrmsg, - sqlite3_mprintf("PRAGMA table_info=%Q",zTab) - ); - if( p->rc==SQLITE_OK ){ - while( sqlite3_step(aStmt[3])==SQLITE_ROW ){ - if( sqlite3_column_int(aStmt[3],5)>0 ){ - *peType = RBU_PK_IPK; /* explicit IPK column */ - goto rbuTableType_end; - } - } - *peType = RBU_PK_NONE; - } +/* +** Return the current amount of temp file space, in bytes, currently used by +** the RBU handle passed as the only argument. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size(sqlite3rbu*); -rbuTableType_end: { - unsigned int i; - for(i=0; iabIndexed[] array. +** Do some work towards applying the RBU update to the target db. +** +** Return SQLITE_DONE if the update has been completely applied, or +** SQLITE_OK if no error occurs but there remains work to do to apply +** the RBU update. If an error does occur, some other error code is +** returned. +** +** Once a call to sqlite3rbu_step() has returned a value other than +** SQLITE_OK, all subsequent calls on the same RBU handle are no-ops +** that immediately return the same value. */ -static void rbuObjIterCacheIndexedCols(sqlite3rbu *p, RbuObjIter *pIter){ - sqlite3_stmt *pList = 0; - int bIndex = 0; - - if( p->rc==SQLITE_OK ){ - memcpy(pIter->abIndexed, pIter->abTblPk, sizeof(u8)*pIter->nTblCol); - p->rc = prepareFreeAndCollectError(p->dbMain, &pList, &p->zErrmsg, - sqlite3_mprintf("PRAGMA main.index_list = %Q", pIter->zTbl) - ); - } +SQLITE_API int sqlite3rbu_step(sqlite3rbu *pRbu); - pIter->nIndex = 0; - while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){ - const char *zIdx = (const char*)sqlite3_column_text(pList, 1); - sqlite3_stmt *pXInfo = 0; - if( zIdx==0 ) break; - 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; - } - rbuFinalize(p, pXInfo); - bIndex = 1; - pIter->nIndex++; - } +/* +** Force RBU to save its state to disk. +** +** If a power failure or application crash occurs during an update, following +** system recovery RBU may resume the update from the point at which the state +** was last saved. In other words, from the most recent successful call to +** sqlite3rbu_close() or this function. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *pRbu); - if( pIter->eType==RBU_PK_WITHOUT_ROWID ){ - /* "PRAGMA index_list" includes the main PK b-tree */ - pIter->nIndex--; - } +/* +** Close an RBU handle. +** +** If the RBU update has been completely applied, mark the RBU database +** as fully applied. Otherwise, assuming no error has occurred, save the +** current state of the RBU update appliation to the RBU database. +** +** If an error has already occurred as part of an sqlite3rbu_step() +** or sqlite3rbu_open() call, or if one occurs within this function, an +** SQLite error code is returned. Additionally, if pzErrmsg is not NULL, +** *pzErrmsg may be set to point to a buffer containing a utf-8 formatted +** English language error message. It is the responsibility of the caller to +** eventually free any such buffer using sqlite3_free(). +** +** Otherwise, if no error occurs, this function returns SQLITE_OK if the +** update has been partially applied, or SQLITE_DONE if it has been +** completely applied. +*/ +SQLITE_API int sqlite3rbu_close(sqlite3rbu *pRbu, char **pzErrmsg); - rbuFinalize(p, pList); - if( bIndex==0 ) pIter->abIndexed = 0; -} +/* +** Return the total number of key-value operations (inserts, deletes or +** updates) that have been performed on the target database since the +** current RBU update was started. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_progress(sqlite3rbu *pRbu); +/* +** Obtain permyriadage (permyriadage is to 10000 as percentage is to 100) +** progress indications for the two stages of an RBU update. This API may +** be useful for driving GUI progress indicators and similar. +** +** An RBU update is divided into two stages: +** +** * Stage 1, in which changes are accumulated in an oal/wal file, and +** * Stage 2, in which the contents of the wal file are copied into the +** main database. +** +** The update is visible to non-RBU clients during stage 2. During stage 1 +** non-RBU reader clients may see the original database. +** +** If this API is called during stage 2 of the update, output variable +** (*pnOne) is set to 10000 to indicate that stage 1 has finished and (*pnTwo) +** to a value between 0 and 10000 to indicate the permyriadage progress of +** stage 2. A value of 5000 indicates that stage 2 is half finished, +** 9000 indicates that it is 90% finished, and so on. +** +** If this API is called during stage 1 of the update, output variable +** (*pnTwo) is set to 0 to indicate that stage 2 has not yet started. The +** value to which (*pnOne) is set depends on whether or not the RBU +** database contains an "rbu_count" table. The rbu_count table, if it +** exists, must contain the same columns as the following: +** +** CREATE TABLE rbu_count(tbl TEXT PRIMARY KEY, cnt INTEGER) WITHOUT ROWID; +** +** There must be one row in the table for each source (data_xxx) table within +** the RBU database. The 'tbl' column should contain the name of the source +** table. The 'cnt' column should contain the number of rows within the +** source table. +** +** If the rbu_count table is present and populated correctly and this +** API is called during stage 1, the *pnOne output variable is set to the +** permyriadage progress of the same stage. If the rbu_count table does +** not exist, then (*pnOne) is set to -1 during stage 1. If the rbu_count +** table exists but is not correctly populated, the value of the *pnOne +** output variable during stage 1 is undefined. +*/ +SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int*pnTwo); /* -** If they are not already populated, populate the pIter->azTblCol[], -** pIter->abTblPk[], pIter->nTblCol and pIter->bRowid variables according to -** the table (not index) that the iterator currently points to. +** Obtain an indication as to the current stage of an RBU update or vacuum. +** This function always returns one of the SQLITE_RBU_STATE_XXX constants +** defined in this file. Return values should be interpreted as follows: ** -** Return SQLITE_OK if successful, or an SQLite error code otherwise. If -** an error does occur, an error code and error message are also left in -** the RBU handle. +** SQLITE_RBU_STATE_OAL: +** RBU is currently building a *-oal file. The next call to sqlite3rbu_step() +** may either add further data to the *-oal file, or compute data that will +** be added by a subsequent call. +** +** SQLITE_RBU_STATE_MOVE: +** RBU has finished building the *-oal file. The next call to sqlite3rbu_step() +** will move the *-oal file to the equivalent *-wal path. If the current +** operation is an RBU update, then the updated version of the database +** file will become visible to ordinary SQLite clients following the next +** call to sqlite3rbu_step(). +** +** SQLITE_RBU_STATE_CHECKPOINT: +** RBU is currently performing an incremental checkpoint. The next call to +** sqlite3rbu_step() will copy a page of data from the *-wal file into +** the target database file. +** +** SQLITE_RBU_STATE_DONE: +** The RBU operation has finished. Any subsequent calls to sqlite3rbu_step() +** will immediately return SQLITE_DONE. +** +** SQLITE_RBU_STATE_ERROR: +** An error has occurred. Any subsequent calls to sqlite3rbu_step() will +** immediately return the SQLite error code associated with the error. */ -static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){ - if( pIter->azTblCol==0 ){ - sqlite3_stmt *pStmt = 0; - int nCol = 0; - int i; /* for() loop iterator variable */ - int bRbuRowid = 0; /* If input table has column "rbu_rowid" */ - int iOrder = 0; - int iTnum = 0; +#define SQLITE_RBU_STATE_OAL 1 +#define SQLITE_RBU_STATE_MOVE 2 +#define SQLITE_RBU_STATE_CHECKPOINT 3 +#define SQLITE_RBU_STATE_DONE 4 +#define SQLITE_RBU_STATE_ERROR 5 - /* Figure out the type of table this step will deal with. */ - assert( pIter->eType==0 ); - rbuTableType(p, pIter->zTbl, &pIter->eType, &iTnum, &pIter->iPkTnum); - if( p->rc==SQLITE_OK && pIter->eType==RBU_PK_NOTABLE ){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("no such table: %s", pIter->zTbl); - } - if( p->rc ) return p->rc; - if( pIter->zIdx==0 ) pIter->iTnum = iTnum; +SQLITE_API int sqlite3rbu_state(sqlite3rbu *pRbu); - assert( pIter->eType==RBU_PK_NONE || pIter->eType==RBU_PK_IPK - || pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_WITHOUT_ROWID - || pIter->eType==RBU_PK_VTAB - ); +/* +** Create an RBU VFS named zName that accesses the underlying file-system +** via existing VFS zParent. Or, if the zParent parameter is passed NULL, +** then the new RBU VFS uses the default system VFS to access the file-system. +** The new object is registered as a non-default VFS with SQLite before +** returning. +** +** Part of the RBU implementation uses a custom VFS object. Usually, this +** object is created and deleted automatically by RBU. +** +** The exception is for applications that also use zipvfs. In this case, +** the custom VFS must be explicitly created by the user before the RBU +** handle is opened. The RBU VFS should be installed so that the zipvfs +** VFS uses the RBU VFS, which in turn uses any other VFS layers in use +** (for example multiplexor) to access the file-system. For example, +** to assemble an RBU enabled VFS stack that uses both zipvfs and +** multiplexor (error checking omitted): +** +** // Create a VFS named "multiplex" (not the default). +** sqlite3_multiplex_initialize(0, 0); +** +** // Create an rbu VFS named "rbu" that uses multiplexor. If the +** // second argument were replaced with NULL, the "rbu" VFS would +** // access the file-system via the system default VFS, bypassing the +** // multiplexor. +** sqlite3rbu_create_vfs("rbu", "multiplex"); +** +** // Create a zipvfs VFS named "zipvfs" that uses rbu. +** zipvfs_create_vfs_v3("zipvfs", "rbu", 0, xCompressorAlgorithmDetector); +** +** // Make zipvfs the default VFS. +** sqlite3_vfs_register(sqlite3_vfs_find("zipvfs"), 1); +** +** Because the default VFS created above includes a RBU functionality, it +** may be used by RBU clients. Attempting to use RBU with a zipvfs VFS stack +** that does not include the RBU layer results in an error. +** +** The overhead of adding the "rbu" VFS to the system is negligible for +** non-RBU users. There is no harm in an application accessing the +** file-system via "rbu" all the time, even if it only uses RBU functionality +** occasionally. +*/ +SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent); - /* Populate the azTblCol[] and nTblCol variables based on the columns - ** of the input table. Ignore any input table columns that begin with - ** "rbu_". */ - p->rc = prepareFreeAndCollectError(p->dbRbu, &pStmt, &p->zErrmsg, - sqlite3_mprintf("SELECT * FROM '%q'", pIter->zDataTbl) - ); - if( p->rc==SQLITE_OK ){ - nCol = sqlite3_column_count(pStmt); - rbuAllocateIterArrays(p, pIter, nCol); - } - for(i=0; p->rc==SQLITE_OK && irc); - pIter->aiSrcOrder[pIter->nTblCol] = pIter->nTblCol; - pIter->azTblCol[pIter->nTblCol++] = zCopy; - } - else if( 0==sqlite3_stricmp("rbu_rowid", zName) ){ - bRbuRowid = 1; - } - } - sqlite3_finalize(pStmt); - pStmt = 0; +/* +** Deregister and destroy an RBU vfs created by an earlier call to +** sqlite3rbu_create_vfs(). +** +** VFS objects are not reference counted. If a VFS object is destroyed +** before all database handles that use it have been closed, the results +** are undefined. +*/ +SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName); - if( p->rc==SQLITE_OK - && rbuIsVacuum(p)==0 - && bRbuRowid!=(pIter->eType==RBU_PK_VTAB || pIter->eType==RBU_PK_NONE) - ){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf( - "table %q %s rbu_rowid column", pIter->zDataTbl, - (bRbuRowid ? "may not have" : "requires") - ); - } +#if 0 +} /* end of the 'extern "C"' block */ +#endif - /* Check that all non-HIDDEN columns in the destination table are also - ** present in the input table. Populate the abTblPk[], azTblType[] and - ** aiTblOrder[] arrays at the same time. */ - if( p->rc==SQLITE_OK ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &pStmt, &p->zErrmsg, - sqlite3_mprintf("PRAGMA table_info(%Q)", pIter->zTbl) - ); - } - while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pStmt) ){ - const char *zName = (const char*)sqlite3_column_text(pStmt, 1); - if( zName==0 ) break; /* An OOM - finalize() below returns S_NOMEM */ - for(i=iOrder; inTblCol; i++){ - if( 0==strcmp(zName, pIter->azTblCol[i]) ) break; - } - if( i==pIter->nTblCol ){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("column missing from %q: %s", - pIter->zDataTbl, zName - ); - }else{ - int iPk = sqlite3_column_int(pStmt, 5); - int bNotNull = sqlite3_column_int(pStmt, 3); - const char *zType = (const char*)sqlite3_column_text(pStmt, 2); +#endif /* _SQLITE3RBU_H */ - if( i!=iOrder ){ - SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]); - SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]); - } +/************** End of sqlite3rbu.h ******************************************/ +/************** Continuing where we left off in sqlite3rbu.c *****************/ - pIter->azTblType[iOrder] = rbuStrndup(zType, &p->rc); - pIter->abTblPk[iOrder] = (iPk!=0); - pIter->abNotNull[iOrder] = (u8)bNotNull || (iPk!=0); - iOrder++; - } - } +#if defined(_WIN32_WCE) +/* #include "windows.h" */ +#endif - rbuFinalize(p, pStmt); - rbuObjIterCacheIndexedCols(p, pIter); - assert( pIter->eType!=RBU_PK_VTAB || pIter->abIndexed==0 ); - assert( pIter->eType!=RBU_PK_VTAB || pIter->nIndex==0 ); - } +/* Maximum number of prepared UPDATE statements held by this module */ +#define SQLITE_RBU_UPDATE_CACHESIZE 16 - return p->rc; -} +/* Delta checksums disabled by default. Compile with -DRBU_ENABLE_DELTA_CKSUM +** to enable checksum verification. +*/ +#ifndef RBU_ENABLE_DELTA_CKSUM +# define RBU_ENABLE_DELTA_CKSUM 0 +#endif /* -** This function constructs and returns a pointer to a nul-terminated -** string containing some SQL clause or list based on one or more of the -** column names currently stored in the pIter->azTblCol[] array. +** Swap two objects of type TYPE. */ -static char *rbuObjIterGetCollist( - sqlite3rbu *p, /* RBU object */ - RbuObjIter *pIter /* Object iterator for column names */ -){ - char *zList = 0; - const char *zSep = ""; - int i; - for(i=0; inTblCol; i++){ - const char *z = pIter->azTblCol[i]; - zList = rbuMPrintf(p, "%z%s\"%w\"", zList, zSep, z); - zSep = ", "; - } - return zList; -} +#if !defined(SQLITE_AMALGAMATION) +# define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;} +#endif /* -** This function is used to create a SELECT list (the list of SQL -** expressions that follows a SELECT keyword) for a SELECT statement -** used to read from an data_xxx or rbu_tmp_xxx table while updating the -** index object currently indicated by the iterator object passed as the -** second argument. A "PRAGMA index_xinfo = " statement is used -** to obtain the required information. +** The rbu_state table is used to save the state of a partially applied +** update so that it can be resumed later. The table consists of integer +** keys mapped to values as follows: ** -** If the index is of the following form: +** RBU_STATE_STAGE: +** May be set to integer values 1, 2, 4 or 5. As follows: +** 1: the *-rbu file is currently under construction. +** 2: the *-rbu file has been constructed, but not yet moved +** to the *-wal path. +** 4: the checkpoint is underway. +** 5: the rbu update has been checkpointed. ** -** CREATE INDEX i1 ON t1(c, b COLLATE nocase); +** RBU_STATE_TBL: +** Only valid if STAGE==1. The target database name of the table +** currently being written. ** -** and "t1" is a table with an explicit INTEGER PRIMARY KEY column -** "ipk", the returned string is: +** RBU_STATE_IDX: +** Only valid if STAGE==1. The target database name of the index +** currently being written, or NULL if the main table is currently being +** updated. ** -** "`c` COLLATE 'BINARY', `b` COLLATE 'NOCASE', `ipk` COLLATE 'BINARY'" +** RBU_STATE_ROW: +** Only valid if STAGE==1. Number of rows already processed for the current +** table/index. ** -** As well as the returned string, three other malloc'd strings are -** returned via output parameters. As follows: +** RBU_STATE_PROGRESS: +** Trbul number of sqlite3rbu_step() calls made so far as part of this +** rbu update. ** -** pzImposterCols: ... -** pzImposterPk: ... -** pzWhere: ... +** RBU_STATE_CKPT: +** Valid if STAGE==4. The 64-bit checksum associated with the wal-index +** header created by recovering the *-wal file. This is used to detect +** cases when another client appends frames to the *-wal file in the +** middle of an incremental checkpoint (an incremental checkpoint cannot +** be continued if this happens). +** +** RBU_STATE_COOKIE: +** Valid if STAGE==1. The current change-counter cookie value in the +** target db file. +** +** RBU_STATE_OALSZ: +** Valid if STAGE==1. The size in bytes of the *-oal file. +** +** RBU_STATE_DATATBL: +** Only valid if STAGE==1. The RBU database name of the table +** currently being read. */ -static char *rbuObjIterGetIndexCols( - sqlite3rbu *p, /* RBU object */ - RbuObjIter *pIter, /* Object iterator for column names */ - char **pzImposterCols, /* OUT: Columns for imposter table */ - char **pzImposterPk, /* OUT: Imposter PK clause */ - char **pzWhere, /* OUT: WHERE clause */ - int *pnBind /* OUT: Trbul number of columns */ -){ - int rc = p->rc; /* Error code */ - int rc2; /* sqlite3_finalize() return code */ - char *zRet = 0; /* String to return */ - char *zImpCols = 0; /* String to return via *pzImposterCols */ - char *zImpPK = 0; /* String to return via *pzImposterPK */ - char *zWhere = 0; /* String to return via *pzWhere */ - int nBind = 0; /* Value to return via *pnBind */ - const char *zCom = ""; /* Set to ", " later on */ - const char *zAnd = ""; /* Set to " AND " later on */ - sqlite3_stmt *pXInfo = 0; /* PRAGMA index_xinfo = ? */ +#define RBU_STATE_STAGE 1 +#define RBU_STATE_TBL 2 +#define RBU_STATE_IDX 3 +#define RBU_STATE_ROW 4 +#define RBU_STATE_PROGRESS 5 +#define RBU_STATE_CKPT 6 +#define RBU_STATE_COOKIE 7 +#define RBU_STATE_OALSZ 8 +#define RBU_STATE_PHASEONESTEP 9 +#define RBU_STATE_DATATBL 10 - if( rc==SQLITE_OK ){ - assert( p->zErrmsg==0 ); - rc = prepareFreeAndCollectError(p->dbMain, &pXInfo, &p->zErrmsg, - sqlite3_mprintf("PRAGMA main.index_xinfo = %Q", pIter->zIdx) - ); - } +#define RBU_STAGE_OAL 1 +#define RBU_STAGE_MOVE 2 +#define RBU_STAGE_CAPTURE 3 +#define RBU_STAGE_CKPT 4 +#define RBU_STAGE_DONE 5 - while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXInfo) ){ - 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 *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_"; - }else{ - zCol = "rbu_rowid"; - } - zType = "INTEGER"; - }else{ - zCol = pIter->azTblCol[iCid]; - zType = pIter->azTblType[iCid]; - } +#define RBU_CREATE_STATE \ + "CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)" - 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", - zImpPK, zCom, nBind, zCol, zOrder - ); - } - zImpCols = sqlite3_mprintf("%z%s\"rbu_imp_%d%w\" %s COLLATE %Q", - zImpCols, zCom, nBind, zCol, zType, zCollate - ); - zWhere = sqlite3_mprintf( - "%z%s\"rbu_imp_%d%w\" IS ?", zWhere, zAnd, nBind, zCol - ); - if( zRet==0 || zImpPK==0 || zImpCols==0 || zWhere==0 ) rc = SQLITE_NOMEM; - zCom = ", "; - zAnd = " AND "; - nBind++; - } +typedef struct RbuFrame RbuFrame; +typedef struct RbuObjIter RbuObjIter; +typedef struct RbuState RbuState; +typedef struct rbu_vfs rbu_vfs; +typedef struct rbu_file rbu_file; +typedef struct RbuUpdateStmt RbuUpdateStmt; - rc2 = sqlite3_finalize(pXInfo); - if( rc==SQLITE_OK ) rc = rc2; +#if !defined(SQLITE_AMALGAMATION) +typedef unsigned int u32; +typedef unsigned short u16; +typedef unsigned char u8; +typedef sqlite3_int64 i64; +#endif - if( rc!=SQLITE_OK ){ - sqlite3_free(zRet); - sqlite3_free(zImpCols); - sqlite3_free(zImpPK); - sqlite3_free(zWhere); - zRet = 0; - zImpCols = 0; - zImpPK = 0; - zWhere = 0; - p->rc = rc; - } +/* +** These values must match the values defined in wal.c for the equivalent +** locks. These are not magic numbers as they are part of the SQLite file +** format. +*/ +#define WAL_LOCK_WRITE 0 +#define WAL_LOCK_CKPT 1 +#define WAL_LOCK_READ0 3 - *pzImposterCols = zImpCols; - *pzImposterPk = zImpPK; - *pzWhere = zWhere; - *pnBind = nBind; - return zRet; -} +#define SQLITE_FCNTL_RBUCNT 5149216 /* -** Assuming the current table columns are "a", "b" and "c", and the zObj -** paramter is passed "old", return a string of the form: -** -** "old.a, old.b, old.b" -** -** With the column names escaped. -** -** For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append -** the text ", old._rowid_" to the returned value. +** A structure to store values read from the rbu_state table in memory. */ -static char *rbuObjIterGetOldlist( - sqlite3rbu *p, - RbuObjIter *pIter, - const char *zObj -){ - char *zList = 0; - if( p->rc==SQLITE_OK && pIter->abIndexed ){ - const char *zS = ""; - int i; - for(i=0; inTblCol; i++){ - if( pIter->abIndexed[i] ){ - const char *zCol = pIter->azTblCol[i]; - zList = sqlite3_mprintf("%z%s%s.\"%w\"", zList, zS, zObj, zCol); - }else{ - zList = sqlite3_mprintf("%z%sNULL", zList, zS); - } - zS = ", "; - if( zList==0 ){ - p->rc = SQLITE_NOMEM; - break; - } - } +struct RbuState { + int eStage; + char *zTbl; + char *zDataTbl; + char *zIdx; + i64 iWalCksum; + int nRow; + i64 nProgress; + u32 iCookie; + i64 iOalSz; + i64 nPhaseOneStep; +}; - /* For a table with implicit rowids, append "old._rowid_" to the list. */ - if( pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_NONE ){ - zList = rbuMPrintf(p, "%z, %s._rowid_", zList, zObj); - } - } - return zList; -} +struct RbuUpdateStmt { + char *zMask; /* Copy of update mask used with pUpdate */ + sqlite3_stmt *pUpdate; /* Last update statement (or NULL) */ + RbuUpdateStmt *pNext; +}; /* -** Return an expression that can be used in a WHERE clause to match the -** primary key of the current table. For example, if the table is: -** -** CREATE TABLE t1(a, b, c, PRIMARY KEY(b, c)); +** An iterator of this type is used to iterate through all objects in +** the target database that require updating. For each such table, the +** iterator visits, in order: ** -** Return the string: +** * the table itself, +** * each index of the table (zero or more points to visit), and +** * a special "cleanup table" state. ** -** "b = ?1 AND c = ?2" +** abIndexed: +** If the table has no indexes on it, abIndexed is set to NULL. Otherwise, +** 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. +** */ -static char *rbuObjIterGetWhere( - sqlite3rbu *p, - RbuObjIter *pIter -){ - char *zList = 0; - if( pIter->eType==RBU_PK_VTAB || pIter->eType==RBU_PK_NONE ){ - zList = rbuMPrintf(p, "_rowid_ = ?%d", pIter->nTblCol+1); - }else if( pIter->eType==RBU_PK_EXTERNAL ){ - const char *zSep = ""; - int i; - for(i=0; inTblCol; i++){ - if( pIter->abTblPk[i] ){ - zList = rbuMPrintf(p, "%z%sc%d=?%d", zList, zSep, i, i+1); - zSep = " AND "; - } - } - zList = rbuMPrintf(p, - "_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)", zList - ); +struct RbuObjIter { + sqlite3_stmt *pTblIter; /* Iterate through tables */ + sqlite3_stmt *pIdxIter; /* Index iterator */ + int nTblCol; /* Size of azTblCol[] array */ + char **azTblCol; /* Array of unquoted target column names */ + char **azTblType; /* Array of target column types */ + int *aiSrcOrder; /* src table col -> target table col */ + u8 *abTblPk; /* Array of flags, set on target PK columns */ + u8 *abNotNull; /* Array of flags, set on NOT NULL columns */ + u8 *abIndexed; /* Array of flags, set on indexed & PK cols */ + int eType; /* Table type - an RBU_PK_XXX value */ - }else{ - const char *zSep = ""; - int i; - for(i=0; inTblCol; i++){ - if( pIter->abTblPk[i] ){ - const char *zCol = pIter->azTblCol[i]; - zList = rbuMPrintf(p, "%z%s\"%w\"=?%d", zList, zSep, zCol, i+1); - zSep = " AND "; - } - } - } - return zList; -} + /* Output variables. zTbl==0 implies EOF. */ + int bCleanup; /* True in "cleanup" state */ + const char *zTbl; /* Name of target db table */ + const char *zDataTbl; /* Name of rbu db table (or null) */ + const char *zIdx; /* Name of target db index (or null) */ + int iTnum; /* Root page of current object */ + int iPkTnum; /* If eType==EXTERNAL, root of PK index */ + int bUnique; /* Current index is unique */ + int nIndex; /* Number of aux. indexes on table zTbl */ -/* -** The SELECT statement iterating through the keys for the current object -** (p->objiter.pSelect) currently points to a valid row. However, there -** is something wrong with the rbu_control value in the rbu_control value -** stored in the (p->nCol+1)'th column. Set the error code and error message -** of the RBU handle to something reflecting this. -*/ -static void rbuBadControlError(sqlite3rbu *p){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("invalid rbu_control value"); -} + /* Statements created by rbuObjIterPrepareAll() */ + int nCol; /* Number of columns in current object */ + sqlite3_stmt *pSelect; /* Source data */ + sqlite3_stmt *pInsert; /* Statement for INSERT operations */ + sqlite3_stmt *pDelete; /* Statement for DELETE ops */ + sqlite3_stmt *pTmpInsert; /* Insert into rbu_tmp_$zDataTbl */ + /* Last UPDATE used (for PK b-tree updates only), or NULL. */ + RbuUpdateStmt *pRbuUpdate; +}; /* -** Return a nul-terminated string containing the comma separated list of -** assignments that should be included following the "SET" keyword of -** an UPDATE statement used to update the table object that the iterator -** passed as the second argument currently points to if the rbu_control -** column of the data_xxx table entry is set to zMask. -** -** The memory for the returned string is obtained from sqlite3_malloc(). -** It is the responsibility of the caller to eventually free it using -** sqlite3_free(). +** Values for RbuObjIter.eType ** -** If an OOM error is encountered when allocating space for the new -** string, an error code is left in the rbu handle passed as the first -** argument and NULL is returned. Or, if an error has already occurred -** when this function is called, NULL is returned immediately, without -** attempting the allocation or modifying the stored error code. +** 0: Table does not exist (error) +** 1: Table has an implicit rowid. +** 2: Table has an explicit IPK column. +** 3: Table has an external PK index. +** 4: Table is WITHOUT ROWID. +** 5: Table is a virtual table. */ -static char *rbuObjIterGetSetlist( - sqlite3rbu *p, - RbuObjIter *pIter, - const char *zMask -){ - char *zList = 0; - if( p->rc==SQLITE_OK ){ - int i; +#define RBU_PK_NOTABLE 0 +#define RBU_PK_NONE 1 +#define RBU_PK_IPK 2 +#define RBU_PK_EXTERNAL 3 +#define RBU_PK_WITHOUT_ROWID 4 +#define RBU_PK_VTAB 5 - if( (int)strlen(zMask)!=pIter->nTblCol ){ - rbuBadControlError(p); - }else{ - const char *zSep = ""; - for(i=0; inTblCol; i++){ - char c = zMask[pIter->aiSrcOrder[i]]; - if( c=='x' ){ - zList = rbuMPrintf(p, "%z%s\"%w\"=?%d", - zList, zSep, pIter->azTblCol[i], i+1 - ); - zSep = ", "; - } - else if( c=='d' ){ - zList = rbuMPrintf(p, "%z%s\"%w\"=rbu_delta(\"%w\", ?%d)", - zList, zSep, pIter->azTblCol[i], pIter->azTblCol[i], i+1 - ); - zSep = ", "; - } - else if( c=='f' ){ - zList = rbuMPrintf(p, "%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)", - zList, zSep, pIter->azTblCol[i], pIter->azTblCol[i], i+1 - ); - zSep = ", "; - } - } - } - } - return zList; -} /* -** Return a nul-terminated string consisting of nByte comma separated -** "?" expressions. For example, if nByte is 3, return a pointer to -** a buffer containing the string "?,?,?". -** -** The memory for the returned string is obtained from sqlite3_malloc(). -** It is the responsibility of the caller to eventually free it using -** sqlite3_free(). -** -** If an OOM error is encountered when allocating space for the new -** string, an error code is left in the rbu handle passed as the first -** argument and NULL is returned. Or, if an error has already occurred -** when this function is called, NULL is returned immediately, without -** attempting the allocation or modifying the stored error code. +** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs +** one of the following operations. */ -static char *rbuObjIterGetBindlist(sqlite3rbu *p, int nBind){ - char *zRet = 0; - int nByte = nBind*2 + 1; +#define RBU_INSERT 1 /* Insert on a main table b-tree */ +#define RBU_DELETE 2 /* Delete a row from a main table b-tree */ +#define RBU_REPLACE 3 /* Delete and then insert a row */ +#define RBU_IDX_DELETE 4 /* Delete a row from an aux. index b-tree */ +#define RBU_IDX_INSERT 5 /* Insert on an aux. index b-tree */ - zRet = (char*)rbuMalloc(p, nByte); - if( zRet ){ - int i; - for(i=0; izIdx==0 ); - if( p->rc==SQLITE_OK ){ - const char *zSep = "PRIMARY KEY("; - sqlite3_stmt *pXList = 0; /* PRAGMA index_list = (pIter->zTbl) */ - sqlite3_stmt *pXInfo = 0; /* PRAGMA index_xinfo = */ - - p->rc = prepareFreeAndCollectError(p->dbMain, &pXList, &p->zErrmsg, - sqlite3_mprintf("PRAGMA main.index_list = %Q", pIter->zTbl) - ); - while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXList) ){ - const char *zOrig = (const char*)sqlite3_column_text(pXList,3); - if( zOrig && strcmp(zOrig, "pk")==0 ){ - const char *zIdx = (const char*)sqlite3_column_text(pXList,1); - if( zIdx ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &pXInfo, &p->zErrmsg, - sqlite3_mprintf("PRAGMA main.index_xinfo = %Q", zIdx) - ); - } - break; - } - } - rbuFinalize(p, pXList); - - while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXInfo) ){ - if( sqlite3_column_int(pXInfo, 5) ){ - /* int iCid = sqlite3_column_int(pXInfo, 0); */ - const char *zCol = (const char*)sqlite3_column_text(pXInfo, 2); - const char *zDesc = sqlite3_column_int(pXInfo, 3) ? " DESC" : ""; - z = rbuMPrintf(p, "%z%s\"%w\"%s", z, zSep, zCol, zDesc); - zSep = ", "; - } - } - z = rbuMPrintf(p, "%z)", z); - rbuFinalize(p, pXInfo); - } - return z; -} +struct RbuFrame { + u32 iDbPage; + u32 iWalFrame; +}; /* -** This function creates the second imposter table used when writing to -** a table b-tree where the table has an external primary key. If the -** iterator passed as the second argument does not currently point to -** a table (not index) with an external primary key, this function is a -** no-op. +** RBU handle. ** -** Assuming the iterator does point to a table with an external PK, this -** function creates a WITHOUT ROWID imposter table named "rbu_imposter2" -** used to access that PK index. For example, if the target table is -** declared as follows: +** nPhaseOneStep: +** If the RBU database contains an rbu_count table, this value is set to +** a running estimate of the number of b-tree operations required to +** finish populating the *-oal file. This allows the sqlite3_bp_progress() +** API to calculate the permyriadage progress of populating the *-oal file +** using the formula: ** -** CREATE TABLE t1(a, b TEXT, c REAL, PRIMARY KEY(b, c)); +** permyriadage = (10000 * nProgress) / nPhaseOneStep ** -** then the imposter table schema is: +** nPhaseOneStep is initialized to the sum of: ** -** CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; +** nRow * (nIndex + 1) +** +** for all source tables in the RBU database, where nRow is the number +** of rows in the source table and nIndex the number of indexes on the +** corresponding target database table. ** +** This estimate is accurate if the RBU update consists entirely of +** INSERT operations. However, it is inaccurate if: +** +** * the RBU update contains any UPDATE operations. If the PK specified +** for an UPDATE operation does not exist in the target table, then +** no b-tree operations are required on index b-trees. Or if the +** specified PK does exist, then (nIndex*2) such operations are +** required (one delete and one insert on each index b-tree). +** +** * the RBU update contains any DELETE operations for which the specified +** PK does not exist. In this case no operations are required on index +** b-trees. +** +** * the RBU update contains REPLACE operations. These are similar to +** UPDATE operations. +** +** nPhaseOneStep is updated to account for the conditions above during the +** first pass of each source table. The updated nPhaseOneStep value is +** stored in the rbu_state table if the RBU update is suspended. */ -static void rbuCreateImposterTable2(sqlite3rbu *p, RbuObjIter *pIter){ - if( p->rc==SQLITE_OK && pIter->eType==RBU_PK_EXTERNAL ){ - int tnum = pIter->iPkTnum; /* Root page of PK index */ - sqlite3_stmt *pQuery = 0; /* SELECT name ... WHERE rootpage = $tnum */ - const char *zIdx = 0; /* Name of PK index */ - sqlite3_stmt *pXInfo = 0; /* PRAGMA main.index_xinfo = $zIdx */ - const char *zComma = ""; - char *zCols = 0; /* Used to build up list of table cols */ - char *zPk = 0; /* Used to build up table PK declaration */ - - /* Figure out the name of the primary key index for the current table. - ** This is needed for the argument to "PRAGMA index_xinfo". Set - ** zIdx to point to a nul-terminated string containing this name. */ - p->rc = prepareAndCollectError(p->dbMain, &pQuery, &p->zErrmsg, - "SELECT name FROM sqlite_master WHERE rootpage = ?" - ); - if( p->rc==SQLITE_OK ){ - sqlite3_bind_int(pQuery, 1, tnum); - if( SQLITE_ROW==sqlite3_step(pQuery) ){ - zIdx = (const char*)sqlite3_column_text(pQuery, 0); - } - } - if( zIdx ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &pXInfo, &p->zErrmsg, - sqlite3_mprintf("PRAGMA main.index_xinfo = %Q", zIdx) - ); - } - rbuFinalize(p, pQuery); +struct sqlite3rbu { + int eStage; /* Value of RBU_STATE_STAGE field */ + sqlite3 *dbMain; /* target database handle */ + sqlite3 *dbRbu; /* rbu database handle */ + char *zTarget; /* Path to target db */ + char *zRbu; /* Path to rbu db */ + char *zState; /* Path to state db (or NULL if zRbu) */ + char zStateDb[5]; /* Db name for state ("stat" or "main") */ + int rc; /* Value returned by last rbu_step() call */ + char *zErrmsg; /* Error message if rc!=SQLITE_OK */ + int nStep; /* Rows processed for current object */ + int nProgress; /* Rows processed for all objects */ + RbuObjIter objiter; /* Iterator for skipping through tbl/idx */ + const char *zVfsName; /* Name of automatically created rbu vfs */ + rbu_file *pTargetFd; /* File handle open on target db */ + int nPagePerSector; /* Pages per sector for pTargetFd */ + i64 iOalSz; + i64 nPhaseOneStep; - while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXInfo) ){ - int bKey = sqlite3_column_int(pXInfo, 5); - if( bKey ){ - int iCid = sqlite3_column_int(pXInfo, 1); - int bDesc = sqlite3_column_int(pXInfo, 3); - const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4); - zCols = rbuMPrintf(p, "%z%sc%d %s COLLATE %s", zCols, zComma, - iCid, pIter->azTblType[iCid], zCollate - ); - zPk = rbuMPrintf(p, "%z%sc%d%s", zPk, zComma, iCid, bDesc?" DESC":""); - zComma = ", "; - } - } - zCols = rbuMPrintf(p, "%z, id INTEGER", zCols); - rbuFinalize(p, pXInfo); + /* The following state variables are used as part of the incremental + ** checkpoint stage (eStage==RBU_STAGE_CKPT). See comments surrounding + ** function rbuSetupCheckpoint() for details. */ + u32 iMaxFrame; /* Largest iWalFrame value in aFrame[] */ + u32 mLock; + int nFrame; /* Entries in aFrame[] array */ + int nFrameAlloc; /* Allocated size of aFrame[] array */ + RbuFrame *aFrame; + int pgsz; + u8 *aBuf; + i64 iWalCksum; + i64 szTemp; /* Current size of all temp files in use */ + i64 szTempLimit; /* Total size limit for temp files */ - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 1, tnum); - rbuMPrintfExec(p, p->dbMain, - "CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID", - zCols, zPk - ); - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 0, 0); - } -} + /* Used in RBU vacuum mode only */ + int nRbu; /* Number of RBU VFS in the stack */ + rbu_file *pRbuFd; /* Fd for main db of dbRbu */ +}; /* -** If an error has already occurred when this function is called, it -** immediately returns zero (without doing any work). Or, if an error -** occurs during the execution of this function, it sets the error code -** in the sqlite3rbu object indicated by the first argument and returns -** zero. -** -** The iterator passed as the second argument is guaranteed to point to -** a table (not an index) when this function is called. This function -** attempts to create any imposter table required to write to the main -** table b-tree of the table before returning. Non-zero is returned if -** an imposter table are created, or zero otherwise. +** An rbu VFS is implemented using an instance of this structure. ** -** An imposter table is required in all cases except RBU_PK_VTAB. Only -** virtual tables are written to directly. The imposter table has the -** same schema as the actual target table (less any UNIQUE constraints). -** More precisely, the "same schema" means the same columns, types, -** collation sequences. For tables that do not have an external PRIMARY -** KEY, it also means the same PRIMARY KEY declaration. +** Variable pRbu is only non-NULL for automatically created RBU VFS objects. +** It is NULL for RBU VFS objects created explicitly using +** sqlite3rbu_create_vfs(). It is used to track the total amount of temp +** space used by the RBU handle. */ -static void rbuCreateImposterTable(sqlite3rbu *p, RbuObjIter *pIter){ - if( p->rc==SQLITE_OK && pIter->eType!=RBU_PK_VTAB ){ - int tnum = pIter->iTnum; - const char *zComma = ""; - char *zSql = 0; - int iCol; - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 0, 1); - - for(iCol=0; p->rc==SQLITE_OK && iColnTblCol; iCol++){ - const char *zPk = ""; - const char *zCol = pIter->azTblCol[iCol]; - const char *zColl = 0; +struct rbu_vfs { + sqlite3_vfs base; /* rbu VFS shim methods */ + sqlite3_vfs *pRealVfs; /* Underlying VFS */ + sqlite3_mutex *mutex; /* Mutex to protect pMain */ + sqlite3rbu *pRbu; /* Owner RBU object */ + rbu_file *pMain; /* List of main db files */ + rbu_file *pMainRbu; /* List of main db files with pRbu!=0 */ +}; - p->rc = sqlite3_table_column_metadata( - p->dbMain, "main", pIter->zTbl, zCol, 0, &zColl, 0, 0, 0 - ); +/* +** Each file opened by an rbu VFS is represented by an instance of +** the following structure. +** +** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable +** "sz" is set to the current size of the database file. +*/ +struct rbu_file { + sqlite3_file base; /* sqlite3_file methods */ + sqlite3_file *pReal; /* Underlying file handle */ + rbu_vfs *pRbuVfs; /* Pointer to the rbu_vfs object */ + sqlite3rbu *pRbu; /* Pointer to rbu object (rbu target only) */ + i64 sz; /* Size of file in bytes (temp only) */ - if( pIter->eType==RBU_PK_IPK && pIter->abTblPk[iCol] ){ - /* If the target table column is an "INTEGER PRIMARY KEY", add - ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = "PRIMARY KEY "; - } - zSql = rbuMPrintf(p, "%z%s\"%w\" %s %sCOLLATE %s%s", - zSql, zComma, zCol, pIter->azTblType[iCol], zPk, zColl, - (pIter->abNotNull[iCol] ? " NOT NULL" : "") - ); - zComma = ", "; - } + int openFlags; /* Flags this file was opened with */ + u32 iCookie; /* Cookie value for main db files */ + u8 iWriteVer; /* "write-version" value for main db files */ + u8 bNolock; /* True to fail EXCLUSIVE locks */ - if( pIter->eType==RBU_PK_WITHOUT_ROWID ){ - char *zPk = rbuWithoutRowidPK(p, pIter); - if( zPk ){ - zSql = rbuMPrintf(p, "%z, %z", zSql, zPk); - } - } + int nShm; /* Number of entries in apShm[] array */ + char **apShm; /* Array of mmap'd *-shm regions */ + char *zDel; /* Delete this when closing file */ - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 1, tnum); - rbuMPrintfExec(p, p->dbMain, "CREATE TABLE \"rbu_imp_%w\"(%z)%s", - pIter->zTbl, zSql, - (pIter->eType==RBU_PK_WITHOUT_ROWID ? " WITHOUT ROWID" : "") - ); - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 0, 0); - } -} + const char *zWal; /* Wal filename for this main db file */ + rbu_file *pWalFd; /* Wal file descriptor for this main db */ + rbu_file *pMainNext; /* Next MAIN_DB file */ + rbu_file *pMainRbuNext; /* Next MAIN_DB file with pRbu!=0 */ +}; /* -** Prepare a statement used to insert rows into the "rbu_tmp_xxx" table. -** Specifically a statement of the form: +** True for an RBU vacuum handle, or false otherwise. +*/ +#define rbuIsVacuum(p) ((p)->zTarget==0) + + +/************************************************************************* +** The following three functions, found below: ** -** INSERT INTO rbu_tmp_xxx VALUES(?, ?, ? ...); +** rbuDeltaGetInt() +** rbuDeltaChecksum() +** rbuDeltaApply() ** -** The number of bound variables is equal to the number of columns in -** the target table, plus one (for the rbu_control column), plus one more -** (for the rbu_rowid column) if the target table is an implicit IPK or -** virtual table. +** are lifted from the fossil source code (http://fossil-scm.org). They +** are used to implement the scalar SQL function rbu_fossil_delta(). */ -static void rbuObjIterPrepareTmpInsert( - sqlite3rbu *p, - RbuObjIter *pIter, - const char *zCollist, - const char *zRbuRowid -){ - int bRbuRowid = (pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_NONE); - char *zBind = rbuObjIterGetBindlist(p, pIter->nTblCol + 1 + bRbuRowid); - if( zBind ){ - assert( pIter->pTmpInsert==0 ); - p->rc = prepareFreeAndCollectError( - p->dbRbu, &pIter->pTmpInsert, &p->zErrmsg, sqlite3_mprintf( - "INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)", - p->zStateDb, pIter->zDataTbl, zCollist, zRbuRowid, zBind - )); - } -} - -static void rbuTmpInsertFunc( - sqlite3_context *pCtx, - int nVal, - sqlite3_value **apVal -){ - sqlite3rbu *p = sqlite3_user_data(pCtx); - int rc = SQLITE_OK; - int i; - assert( sqlite3_value_int(apVal[0])!=0 - || p->objiter.eType==RBU_PK_EXTERNAL - || p->objiter.eType==RBU_PK_NONE - ); - if( sqlite3_value_int(apVal[0])!=0 ){ - p->nPhaseOneStep += p->objiter.nIndex; +/* +** Read bytes from *pz and convert them into a positive integer. When +** finished, leave *pz pointing to the first character past the end of +** the integer. The *pLen parameter holds the length of the string +** in *pz and is decremented once for each character in the integer. +*/ +static unsigned int rbuDeltaGetInt(const char **pz, int *pLen){ + static const signed char zValue[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, 36, + -1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 63, -1, + }; + unsigned int v = 0; + int c; + unsigned char *z = (unsigned char*)*pz; + unsigned char *zStart = z; + while( (c = zValue[0x7f&*(z++)])>=0 ){ + v = (v<<6) + c; } + z--; + *pLen -= z - zStart; + *pz = (char*)z; + return v; +} - for(i=0; rc==SQLITE_OK && iobjiter.pTmpInsert, i+1, apVal[i]); +#if RBU_ENABLE_DELTA_CKSUM +/* +** Compute a 32-bit checksum on the N-byte buffer. Return the result. +*/ +static unsigned int rbuDeltaChecksum(const char *zIn, size_t N){ + const unsigned char *z = (const unsigned char *)zIn; + unsigned sum0 = 0; + unsigned sum1 = 0; + unsigned sum2 = 0; + unsigned sum3 = 0; + while(N >= 16){ + sum0 += ((unsigned)z[0] + z[4] + z[8] + z[12]); + sum1 += ((unsigned)z[1] + z[5] + z[9] + z[13]); + sum2 += ((unsigned)z[2] + z[6] + z[10]+ z[14]); + sum3 += ((unsigned)z[3] + z[7] + z[11]+ z[15]); + z += 16; + N -= 16; } - if( rc==SQLITE_OK ){ - sqlite3_step(p->objiter.pTmpInsert); - rc = sqlite3_reset(p->objiter.pTmpInsert); + while(N >= 4){ + sum0 += z[0]; + sum1 += z[1]; + sum2 += z[2]; + sum3 += z[3]; + z += 4; + N -= 4; } - - if( rc!=SQLITE_OK ){ - sqlite3_result_error_code(pCtx, rc); + sum3 += (sum2 << 8) + (sum1 << 16) + (sum0 << 24); + switch(N){ + case 3: sum3 += (z[2] << 8); + case 2: sum3 += (z[1] << 16); + case 1: sum3 += (z[0] << 24); + default: ; } + return sum3; } +#endif /* -** Ensure that the SQLite statement handles required to update the -** target database object currently indicated by the iterator passed -** as the second argument are available. +** Apply a delta. +** +** The output buffer should be big enough to hold the whole output +** file and a NUL terminator at the end. The delta_output_size() +** routine will determine this size for you. +** +** The delta string should be null-terminated. But the delta string +** may contain embedded NUL characters (if the input and output are +** binary files) so we also have to pass in the length of the delta in +** the lenDelta parameter. +** +** This function returns the size of the output file in bytes (excluding +** the final NUL terminator character). Except, if the delta string is +** malformed or intended for use with a source file other than zSrc, +** then this routine returns -1. +** +** Refer to the delta_create() documentation above for a description +** of the delta file format. */ -static int rbuObjIterPrepareAll( - sqlite3rbu *p, - RbuObjIter *pIter, - int nOffset /* Add "LIMIT -1 OFFSET $nOffset" to SELECT */ +static int rbuDeltaApply( + const char *zSrc, /* The source or pattern file */ + int lenSrc, /* Length of the source file */ + const char *zDelta, /* Delta to apply to the pattern */ + int lenDelta, /* Length of the delta */ + char *zOut /* Write the output into this preallocated buffer */ ){ - assert( pIter->bCleanup==0 ); - if( pIter->pSelect==0 && rbuObjIterCacheTableInfo(p, pIter)==SQLITE_OK ){ - const int tnum = pIter->iTnum; - char *zCollist = 0; /* List of indexed columns */ - char **pz = &p->zErrmsg; - const char *zIdx = pIter->zIdx; - char *zLimit = 0; - - if( nOffset ){ - zLimit = sqlite3_mprintf(" LIMIT -1 OFFSET %d", nOffset); - if( !zLimit ) p->rc = SQLITE_NOMEM; - } - - if( zIdx ){ - const char *zTbl = pIter->zTbl; - char *zImposterCols = 0; /* Columns for imposter table */ - char *zImposterPK = 0; /* Primary key declaration for imposter */ - char *zWhere = 0; /* WHERE clause on PK columns */ - char *zBind = 0; - int nBind = 0; - - assert( pIter->eType!=RBU_PK_VTAB ); - zCollist = rbuObjIterGetIndexCols( - p, pIter, &zImposterCols, &zImposterPK, &zWhere, &nBind - ); - zBind = rbuObjIterGetBindlist(p, nBind); - - /* Create the imposter table used to write to this index. */ - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 0, 1); - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 1,tnum); - rbuMPrintfExec(p, p->dbMain, - "CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID", - zTbl, zImposterCols, zImposterPK - ); - sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, p->dbMain, "main", 0, 0); - - /* Create the statement to insert index entries */ - pIter->nCol = nBind; - if( p->rc==SQLITE_OK ){ - p->rc = prepareFreeAndCollectError( - p->dbMain, &pIter->pInsert, &p->zErrmsg, - sqlite3_mprintf("INSERT INTO \"rbu_imp_%w\" VALUES(%s)", zTbl, zBind) - ); - } - - /* And to delete index entries */ - if( rbuIsVacuum(p)==0 && p->rc==SQLITE_OK ){ - p->rc = prepareFreeAndCollectError( - p->dbMain, &pIter->pDelete, &p->zErrmsg, - sqlite3_mprintf("DELETE FROM \"rbu_imp_%w\" WHERE %s", zTbl, zWhere) - ); - } - - /* Create the SELECT statement to read keys in sorted order */ - if( p->rc==SQLITE_OK ){ - char *zSql; - if( rbuIsVacuum(p) ){ - zSql = sqlite3_mprintf( - "SELECT %s, 0 AS rbu_control FROM '%q' ORDER BY %s%s", - zCollist, - pIter->zDataTbl, - zCollist, zLimit - ); - }else + unsigned int limit; + unsigned int total = 0; +#if RBU_ENABLE_DELTA_CKSUM + char *zOrigOut = zOut; +#endif - 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", - zCollist, p->zStateDb, pIter->zDataTbl, - zCollist, zLimit - ); - }else{ - zSql = sqlite3_mprintf( - "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' " - "UNION ALL " - "SELECT %s, rbu_control FROM '%q' " - "WHERE typeof(rbu_control)='integer' AND rbu_control!=1 " - "ORDER BY %s%s", - zCollist, p->zStateDb, pIter->zDataTbl, - zCollist, pIter->zDataTbl, - zCollist, zLimit - ); + limit = rbuDeltaGetInt(&zDelta, &lenDelta); + if( *zDelta!='\n' ){ + /* ERROR: size integer not terminated by "\n" */ + return -1; + } + zDelta++; lenDelta--; + while( *zDelta && lenDelta>0 ){ + unsigned int cnt, ofst; + cnt = rbuDeltaGetInt(&zDelta, &lenDelta); + switch( zDelta[0] ){ + case '@': { + zDelta++; lenDelta--; + ofst = rbuDeltaGetInt(&zDelta, &lenDelta); + if( lenDelta>0 && zDelta[0]!=',' ){ + /* ERROR: copy command not terminated by ',' */ + return -1; } - p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz, zSql); - } - - sqlite3_free(zImposterCols); - sqlite3_free(zImposterPK); - sqlite3_free(zWhere); - sqlite3_free(zBind); - }else{ - int bRbuRowid = (pIter->eType==RBU_PK_VTAB) - ||(pIter->eType==RBU_PK_NONE) - ||(pIter->eType==RBU_PK_EXTERNAL && rbuIsVacuum(p)); - const char *zTbl = pIter->zTbl; /* Table this step applies to */ - const char *zWrite; /* Imposter table name */ - - char *zBindings = rbuObjIterGetBindlist(p, pIter->nTblCol + bRbuRowid); - char *zWhere = rbuObjIterGetWhere(p, pIter); - char *zOldlist = rbuObjIterGetOldlist(p, pIter, "old"); - char *zNewlist = rbuObjIterGetOldlist(p, pIter, "new"); - - zCollist = rbuObjIterGetCollist(p, pIter); - pIter->nCol = pIter->nTblCol; - - /* Create the imposter table or tables (if required). */ - rbuCreateImposterTable(p, pIter); - rbuCreateImposterTable2(p, pIter); - zWrite = (pIter->eType==RBU_PK_VTAB ? "" : "rbu_imp_"); - - /* Create the INSERT statement to write to the target PK b-tree */ - if( p->rc==SQLITE_OK ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &pIter->pInsert, pz, - sqlite3_mprintf( - "INSERT INTO \"%s%w\"(%s%s) VALUES(%s)", - zWrite, zTbl, zCollist, (bRbuRowid ? ", _rowid_" : ""), zBindings - ) - ); - } - - /* Create the DELETE statement to write to the target PK b-tree. - ** Because it only performs INSERT operations, this is not required for - ** an rbu vacuum handle. */ - if( rbuIsVacuum(p)==0 && p->rc==SQLITE_OK ){ - p->rc = prepareFreeAndCollectError(p->dbMain, &pIter->pDelete, pz, - sqlite3_mprintf( - "DELETE FROM \"%s%w\" WHERE %s", zWrite, zTbl, zWhere - ) - ); + zDelta++; lenDelta--; + total += cnt; + if( total>limit ){ + /* ERROR: copy exceeds output file size */ + return -1; + } + if( (int)(ofst+cnt) > lenSrc ){ + /* ERROR: copy extends past end of input */ + return -1; + } + memcpy(zOut, &zSrc[ofst], cnt); + zOut += cnt; + break; } - - if( rbuIsVacuum(p)==0 && pIter->abIndexed ){ - const char *zRbuRowid = ""; - if( pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_NONE ){ - zRbuRowid = ", rbu_rowid"; + case ':': { + zDelta++; lenDelta--; + total += cnt; + if( total>limit ){ + /* ERROR: insert command gives an output larger than predicted */ + return -1; } - - /* Create the rbu_tmp_xxx table and the triggers to populate it. */ - rbuMPrintfExec(p, p->dbRbu, - "CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS " - "SELECT *%s FROM '%q' WHERE 0;" - , p->zStateDb, pIter->zDataTbl - , (pIter->eType==RBU_PK_EXTERNAL ? ", 0 AS rbu_rowid" : "") - , pIter->zDataTbl - ); - - rbuMPrintfExec(p, p->dbMain, - "CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" " - "BEGIN " - " SELECT rbu_tmp_insert(3, %s);" - "END;" - - "CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" " - "BEGIN " - " SELECT rbu_tmp_insert(3, %s);" - "END;" - - "CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" " - "BEGIN " - " SELECT rbu_tmp_insert(4, %s);" - "END;", - zWrite, zTbl, zOldlist, - zWrite, zTbl, zOldlist, - zWrite, zTbl, zNewlist - ); - - if( pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_NONE ){ - rbuMPrintfExec(p, p->dbMain, - "CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" " - "BEGIN " - " SELECT rbu_tmp_insert(0, %s);" - "END;", - zWrite, zTbl, zNewlist - ); + if( (int)cnt>lenDelta ){ + /* ERROR: insert count exceeds size of delta */ + return -1; } - - rbuObjIterPrepareTmpInsert(p, pIter, zCollist, zRbuRowid); + memcpy(zOut, zDelta, cnt); + zOut += cnt; + zDelta += cnt; + lenDelta -= cnt; + break; } - - /* Create the SELECT statement to read keys from data_xxx */ - if( p->rc==SQLITE_OK ){ - const char *zRbuRowid = ""; - if( bRbuRowid ){ - zRbuRowid = rbuIsVacuum(p) ? ",_rowid_ " : ",rbu_rowid"; + case ';': { + zDelta++; lenDelta--; + zOut[0] = 0; +#if RBU_ENABLE_DELTA_CKSUM + if( cnt!=rbuDeltaChecksum(zOrigOut, total) ){ + /* ERROR: bad checksum */ + return -1; } - 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 - ) - ); +#endif + if( total!=limit ){ + /* ERROR: generated size does not match predicted size */ + return -1; + } + return total; + } + default: { + /* ERROR: unknown delta operator */ + return -1; } - - sqlite3_free(zWhere); - sqlite3_free(zOldlist); - sqlite3_free(zNewlist); - sqlite3_free(zBindings); } - sqlite3_free(zCollist); - sqlite3_free(zLimit); } - - return p->rc; + /* ERROR: unterminated delta */ + return -1; +} + +static int rbuDeltaOutputSize(const char *zDelta, int lenDelta){ + int size; + size = rbuDeltaGetInt(&zDelta, &lenDelta); + if( *zDelta!='\n' ){ + /* ERROR: size integer not terminated by "\n" */ + return -1; + } + return size; } /* -** Set output variable *ppStmt to point to an UPDATE statement that may -** be used to update the imposter table for the main table b-tree of the -** table object that pIter currently points to, assuming that the -** rbu_control column of the data_xyz table contains zMask. -** -** If the zMask string does not specify any columns to update, then this -** is not an error. Output variable *ppStmt is set to NULL in this case. +** End of code taken from fossil. +*************************************************************************/ + +/* +** Implementation of SQL scalar function rbu_fossil_delta(). +** +** This function applies a fossil delta patch to a blob. Exactly two +** arguments must be passed to this function. The first is the blob to +** patch and the second the patch to apply. If no error occurs, this +** function returns the patched blob. */ -static int rbuGetUpdateStmt( - sqlite3rbu *p, /* RBU handle */ - RbuObjIter *pIter, /* Object iterator */ - const char *zMask, /* rbu_control value ('x.x.') */ - sqlite3_stmt **ppStmt /* OUT: UPDATE statement handle */ +static void rbuFossilDeltaFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv ){ - RbuUpdateStmt **pp; - RbuUpdateStmt *pUp = 0; - int nUp = 0; - - /* In case an error occurs */ - *ppStmt = 0; - - /* Search for an existing statement. If one is found, shift it to the front - ** of the LRU queue and return immediately. Otherwise, leave nUp pointing - ** to the number of statements currently in the cache and pUp to the - ** last object in the list. */ - for(pp=&pIter->pRbuUpdate; *pp; pp=&((*pp)->pNext)){ - pUp = *pp; - if( strcmp(pUp->zMask, zMask)==0 ){ - *pp = pUp->pNext; - pUp->pNext = pIter->pRbuUpdate; - pIter->pRbuUpdate = pUp; - *ppStmt = pUp->pUpdate; - return SQLITE_OK; - } - nUp++; - } - assert( pUp==0 || pUp->pNext==0 ); + const char *aDelta; + int nDelta; + const char *aOrig; + int nOrig; - if( nUp>=SQLITE_RBU_UPDATE_CACHESIZE ){ - for(pp=&pIter->pRbuUpdate; *pp!=pUp; pp=&((*pp)->pNext)); - *pp = 0; - sqlite3_finalize(pUp->pUpdate); - pUp->pUpdate = 0; - }else{ - pUp = (RbuUpdateStmt*)rbuMalloc(p, sizeof(RbuUpdateStmt)+pIter->nTblCol+1); - } + int nOut; + int nOut2; + char *aOut; - if( pUp ){ - char *zWhere = rbuObjIterGetWhere(p, pIter); - char *zSet = rbuObjIterGetSetlist(p, pIter, zMask); - char *zUpdate = 0; + assert( argc==2 ); - pUp->zMask = (char*)&pUp[1]; - memcpy(pUp->zMask, zMask, pIter->nTblCol); - pUp->pNext = pIter->pRbuUpdate; - pIter->pRbuUpdate = pUp; + nOrig = sqlite3_value_bytes(argv[0]); + aOrig = (const char*)sqlite3_value_blob(argv[0]); + nDelta = sqlite3_value_bytes(argv[1]); + aDelta = (const char*)sqlite3_value_blob(argv[1]); - if( zSet ){ - const char *zPrefix = ""; + /* Figure out the size of the output */ + nOut = rbuDeltaOutputSize(aDelta, nDelta); + if( nOut<0 ){ + sqlite3_result_error(context, "corrupt fossil delta", -1); + return; + } - if( pIter->eType!=RBU_PK_VTAB ) zPrefix = "rbu_imp_"; - zUpdate = sqlite3_mprintf("UPDATE \"%s%w\" SET %s WHERE %s", - zPrefix, pIter->zTbl, zSet, zWhere - ); - p->rc = prepareFreeAndCollectError( - p->dbMain, &pUp->pUpdate, &p->zErrmsg, zUpdate - ); - *ppStmt = pUp->pUpdate; + aOut = sqlite3_malloc(nOut+1); + if( aOut==0 ){ + sqlite3_result_error_nomem(context); + }else{ + nOut2 = rbuDeltaApply(aOrig, nOrig, aDelta, nDelta, aOut); + if( nOut2!=nOut ){ + sqlite3_result_error(context, "corrupt fossil delta", -1); + }else{ + sqlite3_result_blob(context, aOut, nOut, sqlite3_free); } - sqlite3_free(zWhere); - sqlite3_free(zSet); } - - return p->rc; } -static sqlite3 *rbuOpenDbhandle( - sqlite3rbu *p, - const char *zName, - int bUseVfs + +/* +** Prepare the SQL statement in buffer zSql against database handle db. +** If successful, set *ppStmt to point to the new statement and return +** SQLITE_OK. +** +** Otherwise, if an error does occur, set *ppStmt to NULL and return +** an SQLite error code. Additionally, set output variable *pzErrmsg to +** point to a buffer containing an error message. It is the responsibility +** of the caller to (eventually) free this buffer using sqlite3_free(). +*/ +static int prepareAndCollectError( + sqlite3 *db, + sqlite3_stmt **ppStmt, + char **pzErrmsg, + const char *zSql ){ - sqlite3 *db = 0; - if( p->rc==SQLITE_OK ){ - const int flags = SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_URI; - p->rc = sqlite3_open_v2(zName, &db, flags, bUseVfs ? p->zVfsName : 0); - if( p->rc ){ - p->zErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db)); - sqlite3_close(db); - db = 0; - } + int rc = sqlite3_prepare_v2(db, zSql, -1, ppStmt, 0); + if( rc!=SQLITE_OK ){ + *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + *ppStmt = 0; } - return db; + return rc; } /* -** Free an RbuState object allocated by rbuLoadState(). +** Reset the SQL statement passed as the first argument. Return a copy +** of the value returned by sqlite3_reset(). +** +** If an error has occurred, then set *pzErrmsg to point to a buffer +** containing an error message. It is the responsibility of the caller +** to eventually free this buffer using sqlite3_free(). */ -static void rbuFreeState(RbuState *p){ - if( p ){ - sqlite3_free(p->zTbl); - sqlite3_free(p->zIdx); - sqlite3_free(p); +static int resetAndCollectError(sqlite3_stmt *pStmt, char **pzErrmsg){ + int rc = sqlite3_reset(pStmt); + if( rc!=SQLITE_OK ){ + *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(sqlite3_db_handle(pStmt))); } + return rc; } /* -** Allocate an RbuState object and load the contents of the rbu_state -** table into it. Return a pointer to the new object. It is the -** responsibility of the caller to eventually free the object using -** sqlite3_free(). +** Unless it is NULL, argument zSql points to a buffer allocated using +** sqlite3_malloc containing an SQL statement. This function prepares the SQL +** statement against database db and frees the buffer. If statement +** compilation is successful, *ppStmt is set to point to the new statement +** handle and SQLITE_OK is returned. ** -** If an error occurs, leave an error code and message in the rbu handle -** and return NULL. +** Otherwise, if an error occurs, *ppStmt is set to NULL and an error code +** returned. In this case, *pzErrmsg may also be set to point to an error +** message. It is the responsibility of the caller to free this error message +** buffer using sqlite3_free(). +** +** If argument zSql is NULL, this function assumes that an OOM has occurred. +** In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. */ -static RbuState *rbuLoadState(sqlite3rbu *p){ - RbuState *pRet = 0; - sqlite3_stmt *pStmt = 0; +static int prepareFreeAndCollectError( + sqlite3 *db, + sqlite3_stmt **ppStmt, + char **pzErrmsg, + char *zSql +){ int rc; - int rc2; - - pRet = (RbuState*)rbuMalloc(p, sizeof(RbuState)); - if( pRet==0 ) return 0; - - rc = prepareFreeAndCollectError(p->dbRbu, &pStmt, &p->zErrmsg, - sqlite3_mprintf("SELECT k, v FROM %s.rbu_state", p->zStateDb) - ); - while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pStmt) ){ - switch( sqlite3_column_int(pStmt, 0) ){ - case RBU_STATE_STAGE: - pRet->eStage = sqlite3_column_int(pStmt, 1); - if( pRet->eStage!=RBU_STAGE_OAL - && pRet->eStage!=RBU_STAGE_MOVE - && pRet->eStage!=RBU_STAGE_CKPT - ){ - p->rc = SQLITE_CORRUPT; - } - break; - - case RBU_STATE_TBL: - pRet->zTbl = rbuStrndup((char*)sqlite3_column_text(pStmt, 1), &rc); - break; - - case RBU_STATE_IDX: - pRet->zIdx = rbuStrndup((char*)sqlite3_column_text(pStmt, 1), &rc); - break; - - case RBU_STATE_ROW: - pRet->nRow = sqlite3_column_int(pStmt, 1); - break; - - case RBU_STATE_PROGRESS: - pRet->nProgress = sqlite3_column_int64(pStmt, 1); - break; - - case RBU_STATE_CKPT: - pRet->iWalCksum = sqlite3_column_int64(pStmt, 1); - break; - - case RBU_STATE_COOKIE: - pRet->iCookie = (u32)sqlite3_column_int64(pStmt, 1); - break; - - case RBU_STATE_OALSZ: - pRet->iOalSz = (u32)sqlite3_column_int64(pStmt, 1); - break; - - case RBU_STATE_PHASEONESTEP: - pRet->nPhaseOneStep = sqlite3_column_int64(pStmt, 1); - break; - - default: - rc = SQLITE_CORRUPT; - break; - } + assert( *pzErrmsg==0 ); + if( zSql==0 ){ + rc = SQLITE_NOMEM; + *ppStmt = 0; + }else{ + rc = prepareAndCollectError(db, ppStmt, pzErrmsg, zSql); + sqlite3_free(zSql); } - rc2 = sqlite3_finalize(pStmt); - if( rc==SQLITE_OK ) rc = rc2; - - p->rc = rc; - return pRet; + return rc; } - /* -** Open the database handle and attach the RBU database as "rbu". If an -** error occurs, leave an error code and message in the RBU handle. +** Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated +** by an earlier call to rbuObjIterCacheTableInfo(). */ -static void rbuOpenDatabase(sqlite3rbu *p, int *pbRetry){ - assert( p->rc || (p->dbMain==0 && p->dbRbu==0) ); - assert( p->rc || rbuIsVacuum(p) || p->zTarget!=0 ); - - /* Open the RBU database */ - p->dbRbu = rbuOpenDbhandle(p, p->zRbu, 1); - - if( p->rc==SQLITE_OK && rbuIsVacuum(p) ){ - sqlite3_file_control(p->dbRbu, "main", SQLITE_FCNTL_RBUCNT, (void*)p); - if( p->zState==0 ){ - const char *zFile = sqlite3_db_filename(p->dbRbu, "main"); - p->zState = rbuMPrintf(p, "file://%s-vacuum?modeof=%s", zFile, zFile); - } +static void rbuObjIterFreeCols(RbuObjIter *pIter){ + int i; + for(i=0; inTblCol; i++){ + sqlite3_free(pIter->azTblCol[i]); + sqlite3_free(pIter->azTblType[i]); } + sqlite3_free(pIter->azTblCol); + pIter->azTblCol = 0; + pIter->azTblType = 0; + pIter->aiSrcOrder = 0; + pIter->abTblPk = 0; + pIter->abNotNull = 0; + pIter->nTblCol = 0; + pIter->eType = 0; /* Invalid value */ +} - /* If using separate RBU and state databases, attach the state database to - ** the RBU db handle now. */ - if( p->zState ){ - rbuMPrintfExec(p, p->dbRbu, "ATTACH %Q AS stat", p->zState); - memcpy(p->zStateDb, "stat", 4); - }else{ - memcpy(p->zStateDb, "main", 4); - } +/* +** Finalize all statements and free all allocations that are specific to +** the current object (table/index pair). +*/ +static void rbuObjIterClearStatements(RbuObjIter *pIter){ + RbuUpdateStmt *pUp; -#if 0 - if( p->rc==SQLITE_OK && rbuIsVacuum(p) ){ - p->rc = sqlite3_exec(p->dbRbu, "BEGIN", 0, 0, 0); + sqlite3_finalize(pIter->pSelect); + sqlite3_finalize(pIter->pInsert); + sqlite3_finalize(pIter->pDelete); + sqlite3_finalize(pIter->pTmpInsert); + pUp = pIter->pRbuUpdate; + while( pUp ){ + RbuUpdateStmt *pTmp = pUp->pNext; + sqlite3_finalize(pUp->pUpdate); + sqlite3_free(pUp); + pUp = pTmp; } -#endif + + pIter->pSelect = 0; + pIter->pInsert = 0; + pIter->pDelete = 0; + pIter->pRbuUpdate = 0; + pIter->pTmpInsert = 0; + pIter->nCol = 0; +} - /* If it has not already been created, create the rbu_state table */ - rbuMPrintfExec(p, p->dbRbu, RBU_CREATE_STATE, p->zStateDb); +/* +** Clean up any resources allocated as part of the iterator object passed +** as the only argument. +*/ +static void rbuObjIterFinalize(RbuObjIter *pIter){ + rbuObjIterClearStatements(pIter); + sqlite3_finalize(pIter->pTblIter); + sqlite3_finalize(pIter->pIdxIter); + rbuObjIterFreeCols(pIter); + memset(pIter, 0, sizeof(RbuObjIter)); +} -#if 0 - if( rbuIsVacuum(p) ){ - if( p->rc==SQLITE_OK ){ - int rc2; - int bOk = 0; - sqlite3_stmt *pCnt = 0; - p->rc = prepareAndCollectError(p->dbRbu, &pCnt, &p->zErrmsg, - "SELECT count(*) FROM stat.sqlite_master" +/* +** Advance the iterator to the next position. +** +** If no error occurs, SQLITE_OK is returned and the iterator is left +** pointing to the next entry. Otherwise, an error code and message is +** left in the RBU handle passed as the first argument. A copy of the +** error code is returned. +*/ +static int rbuObjIterNext(sqlite3rbu *p, RbuObjIter *pIter){ + int rc = p->rc; + if( rc==SQLITE_OK ){ + + /* Free any SQLite statements used while processing the previous object */ + rbuObjIterClearStatements(pIter); + if( pIter->zIdx==0 ){ + rc = sqlite3_exec(p->dbMain, + "DROP TRIGGER IF EXISTS temp.rbu_insert_tr;" + "DROP TRIGGER IF EXISTS temp.rbu_update1_tr;" + "DROP TRIGGER IF EXISTS temp.rbu_update2_tr;" + "DROP TRIGGER IF EXISTS temp.rbu_delete_tr;" + , 0, 0, &p->zErrmsg ); - if( p->rc==SQLITE_OK - && sqlite3_step(pCnt)==SQLITE_ROW - && 1==sqlite3_column_int(pCnt, 0) - ){ - bOk = 1; - } - rc2 = sqlite3_finalize(pCnt); - if( p->rc==SQLITE_OK ) p->rc = rc2; + } - if( p->rc==SQLITE_OK && bOk==0 ){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("invalid state database"); - } - - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_exec(p->dbRbu, "COMMIT", 0, 0, 0); + if( rc==SQLITE_OK ){ + if( pIter->bCleanup ){ + rbuObjIterFreeCols(pIter); + pIter->bCleanup = 0; + rc = sqlite3_step(pIter->pTblIter); + if( rc!=SQLITE_ROW ){ + rc = resetAndCollectError(pIter->pTblIter, &p->zErrmsg); + pIter->zTbl = 0; + }else{ + pIter->zTbl = (const char*)sqlite3_column_text(pIter->pTblIter, 0); + pIter->zDataTbl = (const char*)sqlite3_column_text(pIter->pTblIter,1); + rc = (pIter->zDataTbl && pIter->zTbl) ? SQLITE_OK : SQLITE_NOMEM; + } + }else{ + if( pIter->zIdx==0 ){ + sqlite3_stmt *pIdx = pIter->pIdxIter; + rc = sqlite3_bind_text(pIdx, 1, pIter->zTbl, -1, SQLITE_STATIC); + } + if( rc==SQLITE_OK ){ + rc = sqlite3_step(pIter->pIdxIter); + if( rc!=SQLITE_ROW ){ + rc = resetAndCollectError(pIter->pIdxIter, &p->zErrmsg); + pIter->bCleanup = 1; + pIter->zIdx = 0; + }else{ + pIter->zIdx = (const char*)sqlite3_column_text(pIter->pIdxIter, 0); + pIter->iTnum = sqlite3_column_int(pIter->pIdxIter, 1); + pIter->bUnique = sqlite3_column_int(pIter->pIdxIter, 2); + rc = pIter->zIdx ? SQLITE_OK : SQLITE_NOMEM; + } + } } } } -#endif - if( p->rc==SQLITE_OK && rbuIsVacuum(p) ){ - int bOpen = 0; - int rc; - p->nRbu = 0; - p->pRbuFd = 0; - rc = sqlite3_file_control(p->dbRbu, "main", SQLITE_FCNTL_RBUCNT, (void*)p); - if( rc!=SQLITE_NOTFOUND ) p->rc = rc; - if( p->eStage>=RBU_STAGE_MOVE ){ - bOpen = 1; - }else{ - RbuState *pState = rbuLoadState(p); - if( pState ){ - bOpen = (pState->eStage>=RBU_STAGE_MOVE); - rbuFreeState(pState); - } - } - if( bOpen ) p->dbMain = rbuOpenDbhandle(p, p->zRbu, p->nRbu<=1); + if( rc!=SQLITE_OK ){ + rbuObjIterFinalize(pIter); + p->rc = rc; } + return rc; +} - p->eStage = 0; - if( p->rc==SQLITE_OK && p->dbMain==0 ){ - if( !rbuIsVacuum(p) ){ - p->dbMain = rbuOpenDbhandle(p, p->zTarget, 1); - }else if( p->pRbuFd->pWalFd ){ - if( pbRetry ){ - p->pRbuFd->bNolock = 0; - sqlite3_close(p->dbRbu); - sqlite3_close(p->dbMain); - p->dbMain = 0; - p->dbRbu = 0; - *pbRetry = 1; - return; + +/* +** The implementation of the rbu_target_name() SQL function. This function +** accepts one or two arguments. The first argument is the name of a table - +** the name of a table in the RBU database. The second, if it is present, is 1 +** for a view or 0 for a table. +** +** For a non-vacuum RBU handle, if the table name matches the pattern: +** +** data[0-9]_ +** +** where is any sequence of 1 or more characters, is returned. +** Otherwise, if the only argument does not match the above pattern, an SQL +** NULL is returned. +** +** "data_t1" -> "t1" +** "data0123_t2" -> "t2" +** "dataAB_t3" -> NULL +** +** For an rbu vacuum handle, a copy of the first argument is returned if +** the second argument is either missing or 0 (not a view). +*/ +static void rbuTargetNameFunc( + sqlite3_context *pCtx, + int argc, + sqlite3_value **argv +){ + sqlite3rbu *p = sqlite3_user_data(pCtx); + const char *zIn; + assert( argc==1 || argc==2 ); + + zIn = (const char*)sqlite3_value_text(argv[0]); + if( zIn ){ + if( rbuIsVacuum(p) ){ + if( argc==1 || 0==sqlite3_value_int(argv[1]) ){ + sqlite3_result_text(pCtx, zIn, -1, SQLITE_STATIC); } - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("cannot vacuum wal mode database"); }else{ - char *zTarget; - char *zExtra = 0; - if( strlen(p->zRbu)>=5 && 0==memcmp("file:", p->zRbu, 5) ){ - zExtra = &p->zRbu[5]; - while( *zExtra ){ - if( *zExtra++=='?' ) break; + if( strlen(zIn)>4 && memcmp("data", zIn, 4)==0 ){ + int i; + for(i=4; zIn[i]>='0' && zIn[i]<='9'; i++); + if( zIn[i]=='_' && zIn[i+1] ){ + sqlite3_result_text(pCtx, &zIn[i+1], -1, SQLITE_STATIC); } - if( *zExtra=='\0' ) zExtra = 0; - } - - zTarget = sqlite3_mprintf("file:%s-vacuum?rbu_memory=1%s%s", - sqlite3_db_filename(p->dbRbu, "main"), - (zExtra==0 ? "" : "&"), (zExtra==0 ? "" : zExtra) - ); - - if( zTarget==0 ){ - p->rc = SQLITE_NOMEM; - return; } - p->dbMain = rbuOpenDbhandle(p, zTarget, p->nRbu<=1); - sqlite3_free(zTarget); } } +} - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_create_function(p->dbMain, - "rbu_tmp_insert", -1, SQLITE_UTF8, (void*)p, rbuTmpInsertFunc, 0, 0 - ); - } +/* +** Initialize the iterator structure passed as the second argument. +** +** If no error occurs, SQLITE_OK is returned and the iterator is left +** pointing to the first entry. Otherwise, an error code and message is +** left in the RBU handle passed as the first argument. A copy of the +** error code is returned. +*/ +static int rbuObjIterFirst(sqlite3rbu *p, RbuObjIter *pIter){ + int rc; + memset(pIter, 0, sizeof(RbuObjIter)); - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_create_function(p->dbMain, - "rbu_fossil_delta", 2, SQLITE_UTF8, 0, rbuFossilDeltaFunc, 0, 0 - ); - } + rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pTblIter, &p->zErrmsg, + sqlite3_mprintf( + "SELECT rbu_target_name(name, type='view') AS target, name " + "FROM sqlite_master " + "WHERE type IN ('table', 'view') AND target IS NOT NULL " + " %s " + "ORDER BY name" + , rbuIsVacuum(p) ? "AND rootpage!=0 AND rootpage IS NOT NULL" : "")); - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_create_function(p->dbRbu, - "rbu_target_name", -1, SQLITE_UTF8, (void*)p, rbuTargetNameFunc, 0, 0 + if( rc==SQLITE_OK ){ + rc = prepareAndCollectError(p->dbMain, &pIter->pIdxIter, &p->zErrmsg, + "SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' " + " FROM main.sqlite_master " + " WHERE type='index' AND tbl_name = ?" ); } - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_file_control(p->dbMain, "main", SQLITE_FCNTL_RBU, (void*)p); - } - rbuMPrintfExec(p, p->dbMain, "SELECT * FROM sqlite_master"); - - /* Mark the database file just opened as an RBU target database. If - ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. - ** This is an error. */ - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_file_control(p->dbMain, "main", SQLITE_FCNTL_RBU, (void*)p); - } - - if( p->rc==SQLITE_NOTFOUND ){ - p->rc = SQLITE_ERROR; - p->zErrmsg = sqlite3_mprintf("rbu vfs not found"); - } + pIter->bCleanup = 1; + p->rc = rc; + return rbuObjIterNext(p, pIter); } /* -** This routine is a copy of the sqlite3FileSuffix3() routine from the core. -** It is a no-op unless SQLITE_ENABLE_8_3_NAMES is defined. -** -** If SQLITE_ENABLE_8_3_NAMES is set at compile-time and if the database -** filename in zBaseFilename is a URI with the "8_3_names=1" parameter and -** if filename in z[] has a suffix (a.k.a. "extension") that is longer than -** three characters, then shorten the suffix on z[] to be the last three -** characters of the original suffix. -** -** If SQLITE_ENABLE_8_3_NAMES is set to 2 at compile-time, then always -** do the suffix shortening regardless of URI parameter. -** -** Examples: +** This is a wrapper around "sqlite3_mprintf(zFmt, ...)". If an OOM occurs, +** an error code is stored in the RBU handle passed as the first argument. ** -** test.db-journal => test.nal -** test.db-wal => test.wal -** test.db-shm => test.shm -** test.db-mj7f3319fa => test.9fa +** If an error has already occurred (p->rc is already set to something other +** than SQLITE_OK), then this function returns NULL without modifying the +** stored error code. In this case it still calls sqlite3_free() on any +** printf() parameters associated with %z conversions. */ -static void rbuFileSuffix3(const char *zBase, char *z){ -#ifdef SQLITE_ENABLE_8_3_NAMES -#if SQLITE_ENABLE_8_3_NAMES<2 - if( sqlite3_uri_boolean(zBase, "8_3_names", 0) ) -#endif - { - int i, sz; - sz = (int)strlen(z)&0xffffff; - for(i=sz-1; i>0 && z[i]!='/' && z[i]!='.'; i--){} - if( z[i]=='.' && sz>i+4 ) memmove(&z[i+1], &z[sz-3], 4); +static char *rbuMPrintf(sqlite3rbu *p, const char *zFmt, ...){ + char *zSql = 0; + va_list ap; + va_start(ap, zFmt); + zSql = sqlite3_vmprintf(zFmt, ap); + if( p->rc==SQLITE_OK ){ + if( zSql==0 ) p->rc = SQLITE_NOMEM; + }else{ + sqlite3_free(zSql); + zSql = 0; } -#endif + va_end(ap); + return zSql; } /* -** Return the current wal-index header checksum for the target database -** as a 64-bit integer. +** Argument zFmt is a sqlite3_mprintf() style format string. The trailing +** arguments are the usual subsitution values. This function performs +** the printf() style substitutions and executes the result as an SQL +** statement on the RBU handles database. ** -** The checksum is store in the first page of xShmMap memory as an 8-byte -** blob starting at byte offset 40. +** If an error occurs, an error code and error message is stored in the +** RBU handle. If an error has already occurred when this function is +** called, it is a no-op. */ -static i64 rbuShmChecksum(sqlite3rbu *p){ - i64 iRet = 0; +static int rbuMPrintfExec(sqlite3rbu *p, sqlite3 *db, const char *zFmt, ...){ + va_list ap; + char *zSql; + va_start(ap, zFmt); + zSql = sqlite3_vmprintf(zFmt, ap); if( p->rc==SQLITE_OK ){ - sqlite3_file *pDb = p->pTargetFd->pReal; - u32 volatile *ptr; - p->rc = pDb->pMethods->xShmMap(pDb, 0, 32*1024, 0, (void volatile**)&ptr); - if( p->rc==SQLITE_OK ){ - iRet = ((i64)ptr[10] << 32) + ptr[11]; + if( zSql==0 ){ + p->rc = SQLITE_NOMEM; + }else{ + p->rc = sqlite3_exec(db, zSql, 0, 0, &p->zErrmsg); } } - return iRet; + sqlite3_free(zSql); + va_end(ap); + return p->rc; } /* -** This function is called as part of initializing or reinitializing an -** incremental checkpoint. -** -** It populates the sqlite3rbu.aFrame[] array with the set of -** (wal frame -> db page) copy operations required to checkpoint the -** current wal file, and obtains the set of shm locks required to safely -** perform the copy operations directly on the file-system. +** Attempt to allocate and return a pointer to a zeroed block of nByte +** bytes. ** -** If argument pState is not NULL, then the incremental checkpoint is -** being resumed. In this case, if the checksum of the wal-index-header -** following recovery is not the same as the checksum saved in the RbuState -** object, then the rbu handle is set to DONE state. This occurs if some -** other client appends a transaction to the wal file in the middle of -** an incremental checkpoint. +** If an error (i.e. an OOM condition) occurs, return NULL and leave an +** error code in the rbu handle passed as the first argument. Or, if an +** error has already occurred when this function is called, return NULL +** immediately without attempting the allocation or modifying the stored +** error code. */ -static void rbuSetupCheckpoint(sqlite3rbu *p, RbuState *pState){ - - /* If pState is NULL, then the wal file may not have been opened and - ** recovered. Running a read-statement here to ensure that doing so - ** does not interfere with the "capture" process below. */ - if( pState==0 ){ - p->eStage = 0; - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_exec(p->dbMain, "SELECT * FROM sqlite_master", 0, 0, 0); - } - } - - /* Assuming no error has occurred, run a "restart" checkpoint with the - ** sqlite3rbu.eStage variable set to CAPTURE. This turns on the following - ** special behaviour in the rbu VFS: - ** - ** * If the exclusive shm WRITER or READ0 lock cannot be obtained, - ** the checkpoint fails with SQLITE_BUSY (normally SQLite would - ** proceed with running a passive checkpoint instead of failing). - ** - ** * Attempts to read from the *-wal file or write to the database file - ** do not perform any IO. Instead, the frame/page combinations that - ** would be read/written are recorded in the sqlite3rbu.aFrame[] - ** array. - ** - ** * Calls to xShmLock(UNLOCK) to release the exclusive shm WRITER, - ** READ0 and CHECKPOINT locks taken as part of the checkpoint are - ** no-ops. These locks will not be released until the connection - ** is closed. - ** - ** * Attempting to xSync() the database file causes an SQLITE_INTERNAL - ** error. - ** - ** As a result, unless an error (i.e. OOM or SQLITE_BUSY) occurs, the - ** checkpoint below fails with SQLITE_INTERNAL, and leaves the aFrame[] - ** array populated with a set of (frame -> page) mappings. Because the - ** WRITER, CHECKPOINT and READ0 locks are still held, it is safe to copy - ** data from the wal file into the database file according to the - ** contents of aFrame[]. - */ - if( p->rc==SQLITE_OK ){ - int rc2; - p->eStage = RBU_STAGE_CAPTURE; - rc2 = sqlite3_exec(p->dbMain, "PRAGMA main.wal_checkpoint=restart", 0, 0,0); - if( rc2!=SQLITE_INTERNAL ) p->rc = rc2; - } - - if( p->rc==SQLITE_OK && p->nFrame>0 ){ - p->eStage = RBU_STAGE_CKPT; - p->nStep = (pState ? pState->nRow : 0); - p->aBuf = rbuMalloc(p, p->pgsz); - p->iWalCksum = rbuShmChecksum(p); - } - +static void *rbuMalloc(sqlite3rbu *p, int nByte){ + void *pRet = 0; if( p->rc==SQLITE_OK ){ - if( p->nFrame==0 || (pState && pState->iWalCksum!=p->iWalCksum) ){ - p->rc = SQLITE_DONE; - p->eStage = RBU_STAGE_DONE; + assert( nByte>0 ); + pRet = sqlite3_malloc64(nByte); + if( pRet==0 ){ + p->rc = SQLITE_NOMEM; }else{ - int nSectorSize; - sqlite3_file *pDb = p->pTargetFd->pReal; - sqlite3_file *pWal = p->pTargetFd->pWalFd->pReal; - assert( p->nPagePerSector==0 ); - nSectorSize = pDb->pMethods->xSectorSize(pDb); - if( nSectorSize>p->pgsz ){ - p->nPagePerSector = nSectorSize / p->pgsz; - }else{ - p->nPagePerSector = 1; - } - - /* Call xSync() on the wal file. This causes SQLite to sync the - ** directory in which the target database and the wal file reside, in - ** case it has not been synced since the rename() call in - ** rbuMoveOalFile(). */ - p->rc = pWal->pMethods->xSync(pWal, SQLITE_SYNC_NORMAL); + memset(pRet, 0, nByte); } } + return pRet; } + /* -** Called when iAmt bytes are read from offset iOff of the wal file while -** the rbu object is in capture mode. Record the frame number of the frame -** being read in the aFrame[] array. +** Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that +** there is room for at least nCol elements. If an OOM occurs, store an +** error code in the RBU handle passed as the first argument. */ -static int rbuCaptureWalRead(sqlite3rbu *pRbu, i64 iOff, int iAmt){ - const u32 mReq = (1<mLock!=mReq ){ - pRbu->rc = SQLITE_BUSY; - return SQLITE_INTERNAL; - } +static void rbuAllocateIterArrays(sqlite3rbu *p, RbuObjIter *pIter, int nCol){ + int nByte = (2*sizeof(char*) + sizeof(int) + 3*sizeof(u8)) * nCol; + char **azNew; - pRbu->pgsz = iAmt; - if( pRbu->nFrame==pRbu->nFrameAlloc ){ - int nNew = (pRbu->nFrameAlloc ? pRbu->nFrameAlloc : 64) * 2; - RbuFrame *aNew; - aNew = (RbuFrame*)sqlite3_realloc64(pRbu->aFrame, nNew * sizeof(RbuFrame)); - if( aNew==0 ) return SQLITE_NOMEM; - pRbu->aFrame = aNew; - pRbu->nFrameAlloc = nNew; + azNew = (char**)rbuMalloc(p, nByte); + if( azNew ){ + pIter->azTblCol = azNew; + pIter->azTblType = &azNew[nCol]; + pIter->aiSrcOrder = (int*)&pIter->azTblType[nCol]; + pIter->abTblPk = (u8*)&pIter->aiSrcOrder[nCol]; + pIter->abNotNull = (u8*)&pIter->abTblPk[nCol]; + pIter->abIndexed = (u8*)&pIter->abNotNull[nCol]; } - - iFrame = (u32)((iOff-32) / (i64)(iAmt+24)) + 1; - if( pRbu->iMaxFrame